hierarchical#
Package Contents#
Connect with clients. |
|
Connect with server. |
|
Middle Topology for hierarchical communication pattern. |
- class ClientConnector(network, write_queue, read_queue, logger)#
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.
- run(self)#
Main Process:
Initialization stage.
FL communication stage.
Shutdown stage. Close network connection.
- setup(self, *args, **kwargs)#
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(self)#
Define the actions of communication stage.
- process_meessage_queue(self)#
Process message queue
Strategy of processing message from server.
- class ServerConnector(network, write_queue, read_queue, logger)#
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
.
- run(self)#
Main Process:
Initialization stage.
FL communication stage.
Shutdown stage. Close network connection.
- setup(self, *args, **kwargs)#
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(self, *args, **kwargs)#
Define the actions of communication stage.
- process_meessage_queue(self)#
client -> server directly transport.
- class Scheduler(net_upper, net_lower)#
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(self)#