How veigargit/fl_serverpuma works
FL_ServerPuma is a research simulator for federated training under constrained compute and network conditions. Its central workflow partitions datasets, starts a server and clients, exchanges model updates over training rounds, and evaluates the resulting models. Server-side adaptive pruning and client-side FedALA/LoRA/SoRA are distinct capabilities; LHDQ supports compressed model exchange. A SUMO-based V2V orchestrator provides an additional opportunistic-training environment, while result utilities support analysis. The README documents execution modes and features; sampled excerpts confirm selected call paths, so uncertain subsystem wiring is omitted.
Main entry points: client.py Federated clients · server.py Federated server · generate_compose.py Docker runtime · sumo_docker_orchestrator.py SUMO orchestrator
Components 21
Data preparation
- Dataset generators
src/dataset - Client partitions
Federated runtime
- Federated server
src/system/server.py - Federated clients
src/system/client.py - LHDQ compression
src/utils/lhdq.py - Docker runtime
docker/generate_compose.py
Model training
- CNN model
src/system/model.py - CLIP training
src/system/lora_clip/main.py - CLIP trainer
src/system/lora_clip/trainer.py - SLM training
src/system/lora_slm/main.py - SLM trainer
src/system/lora_slm/trainer.py - FedALA
src/system/ALA.py - Adaptive pruning
src/system/prunning.py
V2V simulation
- SUMO orchestrator
src/sumo_adapter/sumo_docker_orchestrator.py - SUMO traffic
- V2V composition
src/sumo_adapter/generate_v2v_compose.py
Results analysis
- Experiment results
- Result utilities
src/system/result_utils.py - Result plots
src/system/plot/plot_results.py - V2V plots
src/sumo_adapter/plot/plot_v2v_accuracy.py
Other components
- Experimenter
Connections 22
- Experimenter → Dataset generators: generates partitions
- Dataset generators → Client partitions: writes partitions
- Experimenter → Docker runtime: configures runs
- Docker runtime → Federated server: starts server
- Docker runtime → Federated clients: starts clients
- Federated clients → Client partitions: loads local data
- Federated server → Federated clients: sends model and prune
- Federated clients → Federated server: returns updates
- Federated server → Adaptive pruning: adapts pruning
- Federated server → LHDQ compression: encodes model state
- Federated clients → LHDQ compression: decodes model state
- Federated clients → CNN model: trains model
- Federated clients → FedALA: applies local aggregation
- CLIP training → CLIP trainer: runs epochs
- SLM training → SLM trainer: runs epochs
- Experimenter → SUMO orchestrator: configures V2V run
- SUMO orchestrator → SUMO traffic: controls simulation
- SUMO orchestrator → V2V composition: starts containers
- Federated clients → Experiment results: writes metrics
- Result utilities → Experiment results: reads results
- Result plots → Experiment results: reads experiment data
- V2V plots → Experiment results: reads V2V data