Publications

CLEO: Machine Learning for ECMP

15th International Conference on emerging Networking EXperiments and Technologies (CoNEXT '19 Companion). Association for Computing Machinery, New York, NY, USA, doi:10.1145/3360468.3366768

Heesang Jin, Minkoo Kang, Gyeongsik Yang, Chuck Yoo

Download PDF

Paper summary

Learn the path ratio that produces the desired split

Hash-based path selection can skew the switch’s throughput split away from the requested ratio.

CLEO investigates skew in hash-based ECMP path selection. It predicts the path ratio needed for a given traffic set and desired output throughput.

Learn a switch setting from measured traffic

The proof of concept collects 10,000 examples from Open vSwitch, recording the traffic set, path ratio and measured output. A multiclass neural network learns from 7,000 examples to predict a path ratio from the traffic set and desired output. The model learns the behavior of the measured switch.

Inputs and output of CLEO’s learned switch model.
RoleQuantity
InputTraffic set and desired output split
PredictionPath-ratio setting
ValidationTraffic split measured after applying the setting

Check the traffic split produced by the switch

For the remaining 3,000 examples, CLEO applies its predicted ratios to Open vSwitch and measures the resulting throughput. It reduces root mean square error between desired and actual path output by 75% relative to static path ratios. The evaluation uses two paths.

Root mean square path-output error for static path ratios and CLEO, measured in Mbps.View full-size figure
Lower error means the actual traffic split is closer to the requested split. CLEO reduces this error by 75% in the tested two-path setup.

Key takeaways

  1. The switch setting and the resulting traffic split are different quantities. CLEO learns the setting needed to realize a requested allocation.
  2. The result is judged in the data plane. Applying the predicted settings to the switch tests whether the learned correction actually reduces split error.