Aggelos Lazaris
USC
Research Track Session Part 3
ONS2015: http://bit.ly/ons2015sd
ONS Inspire! Webinars: http://bit.ly/oiw-sd
Watch the talk (video) on ONS Content Archives: http://bit.ly/ons-archives-sd
API Governance and Monetization - The evolution of API governance
Performance Driven Abstraction and Optimization for SDN
1.
2.
3. JIVE
Performance Driven Abstraction and
Optimization for SDN
ONS 2014 Research Track
Aggelos Lazaris (USC), Daniel Tahara (Yale),
Xin Huang (CYAN), Li Erran Li (Bell Labs), Andreas Voellmy
(Yale), Y. Richard Yang (Yale), Minlan Yu (USC)
4. Motivation
• SDN objectives
o simpler and easier programming of networks
o reduce controller-switch dependency
➢rely on a single switch model
• does not resolve the diversity of
switch implementations, capabilities, and
behaviors
o e.g. TCAM size, TCAM management
5. Motivation
SW
TCAM TCAMTCAM Full
low throughput
Vendor A Vendor B
Insertion of the same sequence of rules results in low throughput in
the first switch, and rule rejection in the second switch
TCAM Full
flow k
rule installation
xrule rejection
6. Motivation
SW
TCAMTCAM Full
low throughput
Vendor A
Insertion of the same sequence of rules results in low throughput in
the first switch, and high throughput in the second switch
flow k
rule installation
SW
TCAM
TCAM Full
high throughput
Vendor C
flow k
rule installation
FIFO Traffic Dependent
7. Switch Diversity
• Diversity in flow tables types and table
sizes
o software tables, hardware tables (TCAM), or both
o various TCAM sizes
369 - ~10K rules
table size might vary depending on the matching
fields
• L2/L3, L2+L3
8. Switch Diversity
• Diversity in flow installation behaviors, and
data plane delay using different flow tables
o 3 (or 2) tier delay observed
fast path
• packets matching rules in the TCAM
slow path (in some switches)
• packets matching rules in the software table
control path
• packets matching no rules
9. Switch Diversity
• Diversity in controller-switch channel
performance
o delay to update rules << delay to install new rules
o delay to install rules in descending priority order >>
delay to install rules in ascending priority order
up to 6 times smaller
10. JIVE
• Objectives
o reveal switch capabilities
o introduce abstractions to unify switch diversity
o API
• Design
o infer JIVE patterns
o optimization, scheduling
11. JIVE Patterns
• JIVE pattern is a sequence of flow_mod
commands, and a corresponding data
traffic pattern
o infer patterns
infer flow table size
infer cache algorithms
12. JIVE Abstractions
• Unify switch diversity
o abstract 2-layer architecture
different flow table sizes
different installation behaviors
• expose JIVE functionality to the
application through an API
e.g. setup latency, bandwidth
13. JIVE Optimization
• Scheduling & Routing
o compute and set up a path for each request
o expression Rewriting
rewrite the flow rules such that we minimize
the installation time
• e.g. ascending priority, topological ordering
potentially introduce additional paths where a
dummy flow entry is installed and later
modified
• can lead to a shorter path
16. Summary
• JIVE
o abstractions
unify switch diversity
API
o optimization using expression rewriting and
scheduling
• Future directions
o better understanding the features of the various
hardware switches (e.g. multiple tables, etc.)
19. JIVE
• Components
o JIVE Score and Pattern Database
JIVE pattern: sequence of OpenFlow
flow_mod commands and a corresponding
data traffic pattern
o Probing Engine
o Switch Inference Engine
o Network Scheduler
o JIVE API
20. Switch Architecture
• Different vendor
implementations at
the proprietary layer
can affect switch
performance
o both at control and
data plane
OF Switch Software Stack Architecture
21. Switch Diversity
• Diversity in
o flow tables and table sizes
Switch
User space SW Tables TCAM/Kernel Tables
L2/L3 L2+L3 L2/L3 L2+L3
OVS unlimited unlimited unlimited unlimited
Switch 1 unlimited unlimited 4K 2K
Switch 2 None None 2560 2560
Switch 3 None None 767 369
24. Openflow Limitations
• Newer versions of OpenFlow allow
switches to report certain capabilities
but reports can be inaccurate
• Max flow entries is approximate
o depends on the matching fields
IPv4 vs. IPv6
• Important properties are not reported
SW flow table ?
caching policy ?