Distributed DNN training simulator.
Note: all methods insert an event at the current time step if no time is specified.
now()- return current simulation timestepprint_actors()- print a list of current actors in the simulationrun()- begin simulation loopcreate_server(s_params, t)- instantiate a server at timetcreate_client(c_params, t)- instantiate a client at timetonline_client(c_id, t)- bring client online at timetoffline_client(c_id, t)- take client offline at timetassign_client_to_server(c_id, s_id, t)- assign clientc_idto servers_idat timet
Events with configurable timings include:
Server.aggregation_time- time for server to receive update from clientServer.model_send_time- time to send global model from server to clientServer.update_time- Server model update timeClient.aggregation_retry_time- Aggregation retry delayConfig.training_time- Client training time