hierarchical#
Package Contents#
Connect with clients. |
|
Connect with server. |
|
Middle Topology for hierarchical communication pattern. |
- class ClientConnector(network: fedlab.core.network.DistNetwork, write_queue: torch.multiprocessing.Queue, read_queue: torch.multiprocessing.Queue, logger: fedlab.utils.Logger = None)#
Bases:
Connector
Connect with clients.
This class is a part of middle server which used in hierarchical structure.
- Parameters:
network (DistNetwork) – Network configuration and interfaces.
write_queue (torch.multiprocessing.Queue) – Message queue to write.
read_queue (torch.multiprocessing.Queue) – Message queue to read.
logger (Logger, optional) – object of
Logger
. Defaults to None.
- run()#
Main Process:
Initialization stage.
FL communication stage.
Shutdown stage. Close network connection.
- setup()#
Initialize network connection and necessary setups.
At first,
self._network.init_network_connection()
is required to be called.Overwrite this method to implement system setup message communication procedure.
- main_loop()#
Define the actions of communication stage.
- process_meessage_queue()#
Process message queue
Strategy of processing message from server.
- class ServerConnector(network: fedlab.core.network.DistNetwork, write_queue: torch.multiprocessing.Queue, read_queue: torch.multiprocessing.Queue, logger: fedlab.utils.Logger = None)#
Bases:
Connector
Connect with server.
this process will act like a client.
This class is a part of middle server which used in hierarchical structure.
- Parameters:
network (DistNetwork) – Network configuration and interfaces.
write_queue (torch.multiprocessing.Queue) – Message queue to write.
read_queue (torch.multiprocessing.Queue) – Message queue to read.
logger (Logger, optional) – object of
Logger
. Defaults to None.
- run()#
Main Process:
Initialization stage.
FL communication stage.
Shutdown stage. Close network connection.
- setup()#
Initialize network connection and necessary setups.
At first,
self._network.init_network_connection()
is required to be called.Overwrite this method to implement system setup message communication procedure.
- main_loop()#
Define the actions of communication stage.
- process_meessage_queue()#
client -> server directly transport.
- class Scheduler(net_upper: fedlab.core.network.DistNetwork, net_lower: fedlab.core.network.DistNetwork)#
Middle Topology for hierarchical communication pattern.
Scheduler uses message queues to decouple connector modules.
- Parameters:
net_upper (DistNetwork) – Distributed network manager of server from upper level.
net_lower (DistNetwork) – Distributed network manager of clients from lower level.
- run()#