ray-project / rayfed

A multiple parties joint, distributed execution engine based on Ray, to help build your own federated learning frameworks in minutes.
https://rayfed.readthedocs.io
Apache License 2.0
87 stars 20 forks source link

[Multi-Job][3/N] Distinguish cross_silo msg with the job name #172

Closed NKcqx closed 11 months ago

NKcqx commented 11 months ago

Multi-job scenario may have case that job 1 send messages to the proxy actor that belongs to job2. For example, there're two jobs [Job 1] and [Job 2] that both involve party 'alice' and 'bob', a possible scenario is:

  1. [Alice] driver submits Job1 sending messages to bob's receiver proxy and wait for response;
  2. [Bob] for some reason, bob fails to starts the receiver proxy and then driver exit;
  3. [Bob] driver submits Job2 where receiver proxy is listening on the same address
  4. [Bob] Receiver proxy receives alice message which belongs to Job1, and crash.

Therefore, the cross-silo message need a job_name to distinguish. In this case, the step 4 will ignore the message.