🥈 Silver Award — NetChallenge Season 10 (Korea)
Team FedMec · Soongsil University DCN Lab · 6-month project
Developed an orchestration system for Federated Learning (FL) services in a distributed edge computing environment — addressing the core straggler and bias problems that limit real-world FL deployments.
Delivered as part of NetChallenge Season 10, a national competition where teams demonstrate novel network and AI applications. Our team placed 2nd (Silver Award) out of participating teams.
Standard Federated Learning faces two critical issues at scale:
| Problem | Description |
|---|---|
| Straggler effect | Devices with slow networks or weak hardware delay the entire training round — the central server must wait for the slowest participant |
| Parameter bias | If a deadline cuts off stragglers, their data is excluded — introducing bias into the global model |
These issues compound in heterogeneous edge environments where device specs and network conditions vary widely.
Rather than random or fixed participant selection, we designed a two-tier priority system:
Round 1: Random selection → train → collect params → score each edge
Round N: Priority-based selection
├── Participant tier → selected for training
└── Straggler tier → temporarily penalized (skipped for K rounds)
(penalty expires → priority restored → prevents resource waste)
Edges are scored on:
- Training latency (did they finish within the deadline?)
- Model update quality (gradient norm, loss delta)
Parameters that missed the current round's deadline are held and included in the next round's aggregation — rather than discarded.
This eliminates hard data loss while bounding the maximum staleness of any update.
Round N aggregation:
├── On-time params from Round N (fresh)
└── Late params from Round N-1 (stale but not lost)
Deployed a skin lesion classification model (melanoma detection) as an end-to-end inference service:
User uploads image (web UI)
│
▼
Edge cluster storage (folder watch trigger)
│
▼
Inference workflow executes (updated global model)
│
▼
Result returned to user via web UI
The model is updated each FL round and automatically propagated to edge clusters — users always receive inference from the latest globally trained model.
Core Cloud
├── FL Coordinator ← manages rounds, aggregation, edge scoring
├── Global Model Storage ← versioned model artifacts
└── Web Service ← user-facing upload + result display
Edge Cluster (×N)
├── Local Training ← trains on local data, never shares raw data
├── Parameter Upload ← sends gradients/weights to coordinator
└── Inference Engine ← serves predictions from latest global model
Privacy guarantee: Raw data never leaves the edge. Only model parameters are transmitted — satisfying the core FL privacy requirement.
| Component | Technology |
|---|---|
| FL coordination logic | Python |
| Edge inference pipeline | Python (event-driven) |
| Web service (this repo) | JavaScript |
| Orchestration target | Kubernetes (edge clusters) |
This repository contains the web service component — the user-facing interface for image upload and result display.
- Award: Silver (2nd place), NetChallenge Season 10
- Duration: 6 months, 2-person team (Soongsil Univ. DCN Lab)
- Domain: Federated Learning + Distributed Edge Computing
- Full orchestration layer on Kubernetes (CRD-based FL job management)
- Replace folder-watch trigger with event-driven pipeline (Kafka / Knative)
- Differential privacy integration for stronger parameter-level protection
- Benchmarking straggler strategy against FedAvg, FedProx baselines
FedMec — DCN Lab, Soongsil University
NetChallenge Season 10 participants