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

Optimize worker to worker communication #176

Closed
vigoo opened this issue Mar 17, 2024 · 1 comment
Closed

Optimize worker to worker communication #176

vigoo opened this issue Mar 17, 2024 · 1 comment

Comments

@vigoo
Copy link
Contributor

vigoo commented Mar 17, 2024

For this task we should set up some worker-to-worker communication benchmark based on the worker-executor integration test framework to measure the differences in the various improvements.

All implementations should always provide a protocol version that allows seamless upgrade of the worker-to-worker wire format betwen worker executors, including co-existing multiple formats during deployments.

  • A simple step can be to just use a cached pool of gRPC connections instead of always creating a new one
  • A possible improvement (to be measured) is to use a bidirectional gRPC stream instead
  • Based on the results we can try encoding the wit-value payloads with a different serializer and only use grpc / grpc-streams as envelopes.
  • A future step, not to be done as part of this ticket can be to try to reduce the number of conversions in the process, possibly by directly encoding in the stub to the wire format and accessing it from the host function as a linear byte array.
@vigoo vigoo added this to the Golem Open Source 1.0 milestone Mar 27, 2024
@vigoo vigoo mentioned this issue Apr 15, 2024
@vigoo vigoo removed this from the Golem Open Source 1.0 milestone May 14, 2024
@vigoo
Copy link
Contributor Author

vigoo commented Dec 6, 2024

Closing this, as we will possibly switch to wRPC instead.

@vigoo vigoo closed this as completed Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant