narwhal icon indicating copy to clipboard operation
narwhal copied to clipboard

Add WorkerInfo Request and rename public primary & worker interface

Open arun-koshy opened this issue 2 years ago • 2 comments

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

arun-koshy avatar Aug 25 '22 17:08 arun-koshy

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)

bmwill avatar Aug 25 '22 18:08 bmwill

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).

huitseeker avatar Aug 25 '22 20:08 huitseeker

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.

arun-koshy avatar Sep 26 '22 22:09 arun-koshy