How edraithenni/gc_lab_local works
This repository implements distributed, straggler-tolerant CIFAR-10 training using gradient-coding schemes on Ray. The workflow starts a parameter server, which configures training, dispatches model weights to workers, collects enough coded gradients, decodes and applies updates, then evaluates and saves results. Separate coding algorithms provide classic, communication-efficient, and pipelined variants. The graph follows shown calls and SOURCE INDEX references; the CCE-FR implementation and Ray entry point were not excerpted, so their internals are not expanded.
Main entry points: parameter_server.py Parameter server · __init__.py Scheme factory · worker.py Ray worker · base.py Scheme interface
Components 18
Training Runtime
- Ray entry point
app/train_ray.py - Training config
app/config.py - Parameter server
app/parameter_server.py - Response collector
app/coordinator.py - Ray worker
app/worker.py
Gradient Coding
- Scheme factory
app/coding/__init__.py - Scheme interface
app/coding/base.py - Classic GC
app/coding/classic.py - CCE-GC-CR
app/coding/cce_cr.py - CCE-GC-FR
app/coding/cce_fr.py - Pipelined GC-CR
app/coding/pipelined.py - Pipelined GC-FR
app/coding/pipelined_fr.py
Model and Data
- Model and tensors
app/model.py - Training batches
app/data.py
Evaluation and Results
- Evaluation
app/parameter_server.py - Run artifacts
app/parameter_server.py
Other components
- Training operator
- CIFAR-10 files
Connections 24
- Training operator → Ray entry point: starts
- Ray entry point → Training config: loads settings
app/train_ray.py - Ray entry point → Parameter server: starts training
app/train_ray.py - Parameter server → Training config: loads settings
app/parameter_server.py - Parameter server → Scheme factory: creates scheme
app/parameter_server.py - Parameter server → Model and tensors: builds and updates
app/parameter_server.py - Parameter server → Response collector: submits and collects
app/parameter_server.py - Parameter server → Evaluation: evaluates models
app/parameter_server.py - Parameter server → Run artifacts: writes metrics and model
app/parameter_server.py - Response collector → Ray worker: dispatches steps
app/coordinator.py - Ray worker → Scheme factory: creates scheme
app/worker.py - Ray worker → Training batches: gets batches
app/worker.py - Ray worker → Model and tensors: computes gradients
app/worker.py - Training batches → CIFAR-10 files: reads
app/data.py - Scheme factory → Classic GC: constructs
app/coding/__init__.py - Scheme factory → CCE-GC-CR: constructs
app/coding/__init__.py - Scheme factory → CCE-GC-FR: constructs
app/coding/__init__.py - Scheme factory → Pipelined GC-CR: constructs
app/coding/__init__.py - Scheme factory → Pipelined GC-FR: constructs
app/coding/__init__.py - Classic GC → Scheme interface: implements
app/coding/classic.py - CCE-GC-CR → Scheme interface: implements
app/coding/cce_cr.py - CCE-GC-FR → Scheme interface: implements
app/coding/cce_fr.py - Scheme factory → Scheme interface: returns interface
app/coding/__init__.py - Parameter server → CIFAR-10 files: loads evaluation data
app/parameter_server.py