---
config:
theme: neutral
themeVariables:
fontFamily: arial
fontSize: 13px
primaryColor: '#ffffff'
primaryTextColor: '#000000'
primaryBorderColor: '#000000'
lineColor: '#000000'
secondaryColor: '#f2f2f2'
tertiaryColor: '#ffffff'
clusterBkg: none
clusterBorder: '#000000'
layout: fixed
---
flowchart LR
subgraph C["Edge Clients (N heterogeneous devices)"]
M["Client-side Model<br/>(L<sub>1</sub> .. L<sub>k</sub>)"]
AC["Activation Compression<br/>float32 / float16 / int8 / topk"]
P["Latency Profiler"]
end
subgraph S["Server / Coordinator"]
SM["Server-side Model<br/>(L<sub>k+1</sub> .. L<sub>end</sub>)"]
FA["FedAvg Aggregator<br/>every ρ steps"]
SCH["Scheduler<br/>thresholds 4 / 10 / 15 ms"]
COOR["Training Coordinator"]
REP["Server Reporter"]
end
M --> AC
SM -- "Cut-layer Gradient + (mode, ρ)" --> M
SCH --> COOR
COOR --> SM
P -. "Runtime Metrics" .-> SCH
REP --> COOR
AC -- "Compressed Activation" --> SM
SM --> FA
FA -- "Synchronize (weights)" --> M
M -. "weights" .-> FA