narwhal
narwhal copied to clipboard
Add WorkerInfo Request and rename public primary & worker interface
Part of Dynamic Worker Integration -> Design Doc
There are four network interfaces currently being used: PrimaryToPrimary, WorkerToWorker, WorkerToPrimary, PrimaryToWorker. The WorkerToPrimary and PrimaryToWorker interfaces are meant only for messaging between a primary and its workers and vice versa, so these will be considered to be more private or internal interfaces. The PrimaryToPrimary & WorkerToWorker interfaces are the public interfaces that are used to communicate with the external primaries and external workers. As workers will also communicate with external primaries too identify their worker peers we will rename these “public” interfaces to be more clear about the use case.
Also introducing the messages for how WorkerInfo
will be retrieved from an external primary.
What has been tested -
- [x] Unit/Integration Tests
- [x] Local & Remote Benchmark
- [x] Client Demo
- [ ] Docker configurations (NW & Sui)
- [x] Sui Integration
Just an FYI that i remember having a chat with @huitseeker about simplifying our lives a bit and merging all of these interfaces to be hosted off of a single network interface. So this was something that I was hoping to be able to do once we migrate to the quic network stack. We can still use ACLs to protect those "private" interfaces of course (especially since the quic stack requires there to be network identities this is easy to do)
Just an FYI that i remember having a chat with @huitseeker about simplifying our lives a bit and merging all of these interfaces to be hosted off of a single network interface. So this was something that I was hoping to be able to do once we migrate to the quic network stack. We can still use ACLs to protect those "private" interfaces of course (especially since the quic stack requires there to be network identities this is easy to do)
Yup, I see no contradiction with this work, which does not change the number of interfaces, but clarifies their purpose by renaming them (as the primary_to_primary
interface is soon to be used to carry messages coming from a worker).
PR as it stands is no longer required now that PR#4628 has been merged. Will move the worker_info
messaging in PrimaryReceiverHandler
and the tests in separate PR.