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

Accurate Communication Time Measurement #4664

Open
hayekr opened this issue Dec 10, 2024 · 3 comments
Open

Accurate Communication Time Measurement #4664

hayekr opened this issue Dec 10, 2024 · 3 comments
Labels
part: communication Issues/PRs that affect federated communication e.g. gRPC. question Further information is requested state: under review Currently reviewing issue/PR type: feature request This issue or comment suggests an additional feature.

Comments

@hayekr
Copy link

hayekr commented Dec 10, 2024

What is your question?

I am working on implementing a federated learning system on real hardware (IoT devices). Currently, I am measuring the communication time by marking the timestamp in the fit method just before the result is returned to the server. However, this timestamp is captured during the fit aggregation phase, which still includes some computation time before the message is serialized and transmitted.

To accurately measure the communication overhead, I need a mechanism to measure the communication time at the exact point of message transmission. Is there any built in way to do this/insert timestamps as a payload in the gRPC packets before transmission?

@hayekr hayekr added the question Further information is requested label Dec 10, 2024
@WilliamLindskog
Copy link
Contributor

Hi @hayekr

Thanks for asking your question here. There is no direct way of doing this, however it would be a great feature. Are you open to modifying the gRPC layer in Flower to insert custom timestamps, or do you require a solution that works without altering the underlying framework?

@WilliamLindskog WilliamLindskog added type: feature request This issue or comment suggests an additional feature. state: under review Currently reviewing issue/PR part: communication Issues/PRs that affect federated communication e.g. gRPC. labels Dec 11, 2024
@hayekr
Copy link
Author

hayekr commented Dec 12, 2024

Hi @WilliamLindskog

Thank you for the reply. The goal is to track timestamps as close to the transmission as possible. It would be preferable to do this without modifying the underlying framework, however I am open to modifying the gRPC layer to insert custom timestamps as this would be the most precise solution.

@hayekr
Copy link
Author

hayekr commented Dec 27, 2024

@WilliamLindskog @jafermarq
It may be possible to copy/route the created_at, delivered_at, pushed_at fields of Task to the transmitted metrics, as opposed to implementing new timestamps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
part: communication Issues/PRs that affect federated communication e.g. gRPC. question Further information is requested state: under review Currently reviewing issue/PR type: feature request This issue or comment suggests an additional feature.
Projects
None yet
Development

No branches or pull requests

2 participants