scale#

Package Contents#

ScaleSynchronousManager

ServerManager used in scale scenario.

class ScaleSynchronousManager(network, handler, logger=Logger())#

Bases: fedlab.core.server.manager.ServerSynchronousManager

ServerManager used in scale scenario.

activate_clients(self)#

Use client id mapping: Coordinator.

Here we use coordinator to find the rank client process with specific client_id.

main_loop(self)#

Actions to perform in server when receiving a package from one client.

Server transmits received package to backend computation handler for aggregation or others manipulations.

Loop:
  1. activate clients for current training round.

  2. listen for message from clients -> transmit received parameters to server backend.

Note

Communication agreements related: user can overwrite this function to customize communication agreements. This method is key component connecting behaviors of ParameterServerBackendHandler and NetworkManager.

Raises

Exception – Unexpected MessageCode.