Federated Deployment
Use federated deployment when you want to run FedGWAS with separate Flower SuperLink and SuperNode processes. This mode is closer to a real collaboration between multiple centers than local simulation.
Install on each node
Install FedGWAS in the Python environment used by the server and every participating client node:
python -m pip install FedGWAS
python -m pip install flwr
Each client node also needs PLINK-compatible genotype data and access to the configured PLINK executable:
plink --help
plink2 --help
Confirm that the Flower deployment commands are available:
flower-superlink --help
flower-supernode --help
flwr --help
Prepare center configs
Each participating center needs its own config file and local PLINK dataset. A minimal local deployment layout looks like:
configs/
server/config.yaml
center_1/config.yaml
center_2/config.yaml
For real deployments, each center should keep raw genotype data local and set
the input_data.path, output directories, thresholds, and Flower settings in
its own center config.
Start SuperLink
Run SuperLink on the coordinating server:
flower-superlink --insecure --fleet-api-address 127.0.0.1:9092
The Exec API configured in pyproject.toml is what flwr run uses to submit
the FedGWAS app.
Start SuperNodes
Start one SuperNode per participating center. For a local two-center test:
flower-supernode \
--insecure \
--superlink 127.0.0.1:9092 \
--clientappio-api-address 127.0.0.1:9094 \
--node-config 'partition-id=0 num-partitions=2 config-file="experiments/correctness/tiny_even/configs/center_1/config.yaml"'
flower-supernode \
--insecure \
--superlink 127.0.0.1:9092 \
--clientappio-api-address 127.0.0.1:9095 \
--node-config 'partition-id=1 num-partitions=2 config-file="experiments/correctness/tiny_even/configs/center_2/config.yaml"'
Run the app
Submit the FedGWAS Flower app through the deployment federation:
flwr run . local-deployment --stream
Next steps
- Use Deployment Mode for detailed port, TLS, and runtime notes.
- Use Configuration for center YAML fields and Flower settings.
- Use Pipeline Workflow to understand the protocol stages executed during the deployment.