-
Notifications
You must be signed in to change notification settings - Fork 69
RollSite: How It Works
RollSite is a cross-site communication engine written in python and scala. It uses gRPC to do the actual communications.
Python is used in actual senders and actual receivers. These senders / receivers are 'eggs' which also deal with computing / storage tasks.
Scala is used in mid-way. A close analogy of RollSite is an application level (layer 7) router.
Following is the interactive details of mid-way scala service:
In Federated Learning scenario, a party (or site) will send and receive data from / to other parties (or sites).
Normally, Two-Way mode is recommended. In this mode, a party (site) needs to listen to a public port and provide it to exchange or other direct connected parties (sites).
In some specific cases where a party (or site) is not allowed or not willing to provide a public port, Polling mode can be used. In Polling mode, the pattern of sending data is the same as Two-Way mode. But when receiving data, this specific party (or site) will be acting as a polling client actively polls (i.e. fetches) data from the nearest RollSite.
- Overview
-
Eggroll FAQ
-
Configurations
- 3.1. eggroll.properties: Eggroll's Main configuration File
- 3.2. Environment Variables
- 3.3. RollSite: Configuring Route Table
- 3.4. RollSite: Configuring Secure Communications
- 3.5. RollSite: Configuring Polling Mode
- 3.6. RollSite: Passing Through a HTTP/1 Network
- Deployment