nvflare.app_opt.p2p.controllers.dist_opt_controller module¶
- class DistOptController(config: Config, *args, **kwargs)[source]¶
Bases:
ControllerController for running a peer-to-peer distributed optimization algorithm on a network.
This controller manages the execution of a distributed optimization algorithm by configuring each client with its neighbors and initiating the algorithm execution across the network.
- Parameters:
config (Config) – The P2P network configuration containing node and neighbor information.
Controller logic for tasks and their destinations.
Must set_communicator() to access communication related function implementations.
- Parameters:
task_check_period (float, optional) – interval for checking status of tasks. Applicable for WFCommServer. Defaults to 0.2.
- control_flow(abort_signal: Signal, fl_ctx: FLContext)[source]¶
This is the control logic for the RUN.
NOTE: this is running in a separate thread, and its life is the duration of the RUN.
- Parameters:
fl_ctx – the FL context
abort_signal – the abort signal. If triggered, this method stops waiting and returns to the caller.
- start_controller(fl_ctx: FLContext)[source]¶
Starts the controller.
This method is called at the beginning of the RUN.
- Parameters:
fl_ctx – the FL context. You can use this context to access services provided by the
example (framework. For)
your (you can get Command Register from it and register)
modules. (admin command)
- stop_controller(fl_ctx: FLContext)[source]¶
Stops the controller.
This method is called right before the RUN is ended.
- Parameters:
fl_ctx – the FL context. You can use this context to access services provided by the
example (framework. For)
your (you can get Command Register from it and unregister)
modules. (admin command)