Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Question about your implementation #274

Closed
hodatorabi opened this issue Dec 6, 2022 · 1 comment
Closed

[RFC] Question about your implementation #274

hodatorabi opened this issue Dec 6, 2022 · 1 comment
Assignees

Comments

@hodatorabi
Copy link
Contributor

hodatorabi commented Dec 6, 2022

Hello,

Sorry if this is not the place for this to be asked, but I was reading your code and there is a part that I don't understand. I noticed that in the base server, base.py, it's the _process_clients method that takes care of determining whether it is time to process the client reports and proceed with the aggregation process, however, this is also being done in the periodic_task if I'm not wrong. Can you perhaps explain to me how these two are different? Thank you!

@baochunli
Copy link
Collaborator

Depending on self.simulate_wall_time, there are two ways of running Plato sessions in asynchronous mode. One is to run it in real-time, where _periodic_task(self) is called, and the other is to run it with the wall-clock time simulated, when _periodic_task(self) is not called. In the latter case, _process_clients() is where aggregation starts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants