Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Straggler handling Follow-up #1097

Open
wants to merge 42 commits into
base: develop
Choose a base branch
from

Conversation

ishant162
Copy link
Collaborator

@ishant162 ishant162 commented Oct 23, 2024

This pull request is a follow-up to the Straggler Handling PR #996 . Based on the feedback from @MasterSkepticista and @teoparvanov , the review comments have been addressed and incorporated accordingly.

Summary of changes:

  • Relocated straggler_handling to the openfl/component/aggregator directory.

  • Consolidated all policies into openfl/component/aggregator/straggler_handling.py

  • Renamed CutoffTimeBasedStragglerHandling to CutoffTimePolicy and PercentageBasedStragglerHandling to PercentagePolicy

  • Removed the attribute deletion functionality from CutoffTimePolicy

  • Validate OpenFL Security through regression testing

@teoparvanov
Copy link
Collaborator

teoparvanov commented Oct 23, 2024

@ishant162 , did you test for regression by raising a PR in OpenFL-Security?

@scngupta-dsp
Copy link
Contributor

@ishant162 , did you test for regression by raising a PR in OpenFL-Security?

This needs to be done @teoparvanov . We will feedback once it is done

Copy link
Collaborator

@MasterSkepticista MasterSkepticista left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good improvement over the previous layout.

Most suggestions, though seem like nitpicks, have measurable changes on developers and users in the look-and-feel of the framework. Please take a look.

openfl/component/aggregator/aggregator.py Outdated Show resolved Hide resolved
openfl/component/aggregator/aggregator.py Outdated Show resolved Hide resolved
openfl/component/aggregator/aggregator.py Outdated Show resolved Hide resolved
openfl/component/aggregator/straggler_handling.py Outdated Show resolved Hide resolved
openfl/component/aggregator/straggler_handling.py Outdated Show resolved Hide resolved
openfl/component/aggregator/straggler_handling.py Outdated Show resolved Hide resolved
openfl/component/aggregator/straggler_handling.py Outdated Show resolved Hide resolved
openfl/federated/plan/plan.py Outdated Show resolved Hide resolved
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
@ishant162
Copy link
Collaborator Author

ishant162 commented Jan 16, 2025

@MasterSkepticista, @teoparvanov: With the regression checks on the openfl-security repository (PR: 657) successfully completed , this PR is now ready for review / merge

@psfoley: Based on inputs received during the review, Straggler handling policies have been renamed for ease of use and improved readability

  • CutoffTimeBasedStragglerHandling to CutoffTimePolicy and
  • PercentageBasedStragglerHandling to PercentagePolicy

Due to this existing users of Straggler Handling functionality may need to do following minor updates to plan.yaml. For e.g.

Current

straggler_handling_policy :
template : openfl.component.straggler_handling_functions.PercentageBasedStragglerHandling
settings :
percent_collaborators_needed : 0.5
minimum_reporting : 1

Updated

straggler_handling_policy :
template : openfl.component.aggregator.straggler_handling.PercentagePolicy
settings :
percent_collaborators_needed : 0.5
minimum_reporting : 1

To assist users in migration this aspect needs to be mentioned in release notes as a guide to users migrating to OpenFL v1.8

@ishant162 ishant162 marked this pull request as ready for review January 16, 2025 06:44
Copy link
Collaborator

@teoparvanov teoparvanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, thanks @ishant162 ! I just have a couple of minor comments:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants