yates: rapid prototyping for tra c engineering systemspraveenk/talks/2018-03-yates-sosr.pdftra!c...
TRANSCRIPT
![Page 1: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/1.jpg)
YATES: Rapid Prototyping for Traffic Engineering Systems
Praveen Kumar (Cornell) Yang Yuan (Cornell)
Chris Yu (CMU) Nate Foster (Cornell)
Robert Kleinberg (Cornell) Robert Soulé (USI Lugano)
ACM SOSR 2018
![Page 2: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/2.jpg)
WAN TE - Example
![Page 3: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/3.jpg)
Network Operator
Configure the network to forward traffic using equal-cost multi-path (ECMP)
WAN TE - Example
![Page 4: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/4.jpg)
Network Operator
Configure the network to forward traffic using equal-cost multi-path (ECMP)
WAN TE - Example
![Page 5: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/5.jpg)
Network Operator
Configure the network to forward traffic using equal-cost multi-path (ECMP)
WAN TE - Example
CSPF?
weights?
![Page 6: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/6.jpg)
TE Systems
![Page 7: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/7.jpg)
TE Systems
MATE
2000 2005 2010 2015
Oblivious
TeXCP
REPLEX
COPE
VLB
Joint
optimiza
tion
SWAN
B4
FFC
COYOTE
SMORE
OSPF
CSPF
ECMP
MCF
![Page 8: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/8.jpg)
TE Systems
MATE
2000 2005 2010 2015
Oblivious
TeXCP
REPLEX
COPE
VLB
Joint
optimiza
tion
SWAN
B4
FFC
COYOTE
SMORE
OSPF
CSPF
ECMP
MCF
`• Difficult to compare
![Page 9: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/9.jpg)
TE Systems
MATE
2000 2005 2010 2015
Oblivious
TeXCP
REPLEX
COPE
VLB
Joint
optimiza
tion
SWAN
B4
FFC
COYOTE
SMORE
OSPF
CSPF
ECMP
MCF
`• Difficult to compare
• High cost of evaluation
![Page 10: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/10.jpg)
YATES
• Open-source TE framework
• High-level abstractions
• Modular interface for implementing TE elements
• Libraries and tools for
• generating traffic demands,
• modeling failures,
• prediction errors, etc.
(Yet Another Traffic Engineering System)
![Page 11: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/11.jpg)
Network Operator
YATES - Example
+ Gbp
s
![Page 12: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/12.jpg)
Network Operator
YATES - Example
+ Gbp
s
CSPF? Link weight? (1 or RTT)YATES > . . .
![Page 13: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/13.jpg)
Network Operator
YATES - Example
+ Gbp
s
CSPF? Link weight? (1 or RTT)YATES > . . .
![Page 14: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/14.jpg)
YATES Interface
High-level and modular interface
![Page 15: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/15.jpg)
YATES Interface
High-level and modular interface
![Page 16: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/16.jpg)
YATES Interface
High-level and modular interface
![Page 17: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/17.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
![Page 18: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/18.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
(* YATES modules *) module KSP : Algorithm module SemiMCF : Algorithm
(* Compute base set of k-shortest paths *) let initial_scheme : scheme = KSP.initialize empty_scheme; KSP.solve topo empty_demands
(* Initialize SemiMCF with k-shortest paths *) let () = SemiMCF.initialize initial_scheme in
(* For each traffic matrix, *) let simulate_step (d:demands) : unit = (* Compute updated routing scheme *) let (s:scheme) = SemiMCF.solve topo d in (* Record performance statistics ... *)
![Page 19: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/19.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
(* YATES modules *) module KSP : Algorithm module SemiMCF : Algorithm
(* Compute base set of k-shortest paths *) let initial_scheme : scheme = KSP.initialize empty_scheme; KSP.solve topo empty_demands
(* Initialize SemiMCF with k-shortest paths *) let () = SemiMCF.initialize initial_scheme in
(* For each traffic matrix, *) let simulate_step (d:demands) : unit = (* Compute updated routing scheme *) let (s:scheme) = SemiMCF.solve topo d in (* Record performance statistics ... *)
![Page 20: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/20.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
(* YATES modules *) module KSP : Algorithm module SemiMCF : Algorithm
(* Compute base set of k-shortest paths *) let initial_scheme : scheme = KSP.initialize empty_scheme; KSP.solve topo empty_demands
(* Initialize SemiMCF with k-shortest paths *) let () = SemiMCF.initialize initial_scheme in
(* For each traffic matrix, *) let simulate_step (d:demands) : unit = (* Compute updated routing scheme *) let (s:scheme) = SemiMCF.solve topo d in (* Record performance statistics ... *)
![Page 21: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/21.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
(* YATES modules *) module KSP : Algorithm module SemiMCF : Algorithm
(* Compute base set of k-shortest paths *) let initial_scheme : scheme = KSP.initialize empty_scheme; KSP.solve topo empty_demands
(* Initialize SemiMCF with k-shortest paths *) let () = SemiMCF.initialize initial_scheme in
(* For each traffic matrix, *) let simulate_step (d:demands) : unit = (* Compute updated routing scheme *) let (s:scheme) = SemiMCF.solve topo d in (* Record performance statistics ... *)
![Page 22: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/22.jpg)
Modular Implementation
SWAN
(SIGCOMM ‘1
3)
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
(* YATES modules *) module KSP : Algorithm module SemiMCF : Algorithm
(* Compute base set of k-shortest paths *) let initial_scheme : scheme = KSP.initialize empty_scheme; KSP.solve topo empty_demands
(* Initialize SemiMCF with k-shortest paths *) let () = SemiMCF.initialize initial_scheme in
(* For each traffic matrix, *) let simulate_step (d:demands) : unit = (* Compute updated routing scheme *) let (s:scheme) = SemiMCF.solve topo d in (* Record performance statistics ... *)
![Page 23: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/23.jpg)
SWAN
Simplified version: dynamically load-balance (MCF) traffic over k-shortest paths (KSP)
Modular Implementation
![Page 24: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/24.jpg)
YATES Framework
Software Infrastructure • High-level abstractions
• Library of 18 different TE approaches
• Tools for modeling operational conditions
Simulator • Scalable • Steady-state • Macroscopic properties
SDN Backend • Implementations: static
paths and source routing
![Page 25: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/25.jpg)
YATES Framework
Software Infrastructure • High-level abstractions
• Library of 18 different TE approaches
• Tools for modeling operational conditions
Simulator • Scalable • Steady-state • Macroscopic properties
SDN Backend • Implementations: static
paths and source routing
![Page 26: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/26.jpg)
S11
S10 S4
S8
S5
S2
S7
S3
S6
S9
S12
S1
SDN Backend
NetfilterModule
User- SpaceAgent
LinuxKernel
Linux End Host
Data traffic
Traffic matrix + Path map
Forwarding rules
Traffic statistics
+ Topology
Historical Data
Traffic matrix
SDN Controller
SDN Switch
![Page 27: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/27.jpg)
Hardware Testbed
S11
S10 S4
S8
S5
S2
S7
S3
S6
S9
S12
S1
Abilene Backbone Network
![Page 28: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/28.jpg)
Simulator Calibration
PCC = 0.996
![Page 29: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/29.jpg)
Take Aways
• YATES lowers the bar to perform credible TE research
• Easy to prototype and evaluate new TE systems
• Modular design allows composing pieces together
• Tools to model operational conditions
• Calibrated with deployments to ensure credible results
![Page 30: YATES: Rapid Prototyping for Tra c Engineering Systemspraveenk/talks/2018-03-YATES-SOSR.pdfTra!c Engineering Systems Praveen Kumar (Cornell) Yang Yuan (Cornell) Chris Yu (CMU) Nate](https://reader034.vdocuments.site/reader034/viewer/2022050105/5f438bf72fdc6217bc5f92c2/html5/thumbnails/30.jpg)
Questions?
https://github.com/cornell-netlab/yates
Try out YATES!