Straggler Handling Interface#
The Open Federated Learning (OpenFL) framework supports straggler handling interface for identifying stragglers or slow collaborators for a round and ending the round early as a result of it. The updates from these stragglers are not aggregated in the aggregator model.
The following are the straggler handling algorithms supported in OpenFL:
CutoffTimePolicy- Identifies stragglers based on the cutoff time specified in the settings. Arguments to the function are:
Cutoff Time (straggler_cutoff_time), specifies the cutoff time by which the aggregator should end the round early.
Minimum Reporting (minimum_reporting), specifies the minimum number of collaborators needed to aggregate the model.
For example, in a federation of 5 collaborators, if
straggler_cutoff_time(in seconds) is set to 20 andminimum_reportingis set to 2, at least 2 collaborators (or more) would be included in the round, provided that the time limit of 20 seconds is not exceeded. In an event whereminimum_reportingcollaborators don’t make it within thestraggler_cutoff_time, the straggler handling policy is disregarded.PercentagePolicy- Identifies stragglers based on the percentage specified. Arguments to the function are:
Percentage of collaborators (percent_collaborators_needed), specifies a percentage of collaborators enough to end the round early.
Minimum Reporting (minimum_reporting), specifies the minimum number of collaborators needed to aggregate the model.
For example, in a federation of 5 collaborators, if
percent_collaborators_neededis set to 0.8 andminimum_reportingis set to 1, the first 4 collaborators (80%) to report to aggregator are selected for that round.
Demonstration of adding the straggler handling interface#
The example template, torch/mnist_straggler_check*, uses the PercentagePolicy. To gain a better understanding of how experiments perform, you can modify the percent_collaborators_needed or minimum_reporting parameter in the template plan.yaml or even choose CutoffTimePolicy function instead:
straggler_handling_policy : template : openfl.component.aggregator.straggler_handling.CutoffTimePolicy settings : straggler_cutoff_time : 20 minimum_reporting : 1