IX A Protected Dataplane Operating System for High

  • Slides: 23
Download presentation
IX: A Protected Dataplane Operating System for High Throughput and Low Latency By: Adam

IX: A Protected Dataplane Operating System for High Throughput and Low Latency By: Adam Belay, George Prekas, Ana Klimovic, Samuel Grossman, and Christos Kozyrakis, Edouard Bugnion, Presented by: Xianghan Pei EECS 582 – W 16 1

Outline • Overview • Motivation • IX Design • IX Implementation • Evaluation EECS

Outline • Overview • Motivation • IX Design • IX Implementation • Evaluation EECS 582 – W 16 2

Overview • OSDI 2014 Best Paper • Extension work from Dune (an extension to

Overview • OSDI 2014 Best Paper • Extension work from Dune (an extension to Linux that provides safe and efficient access to kernel-only CPU features) • Some slides borrow from IX conference slides EECS 582 – W 16 3

Challenges for Datacenter Application • Microsecond Tail Latency • High Packet Rates • Protection

Challenges for Datacenter Application • Microsecond Tail Latency • High Packet Rates • Protection • Resource Efficiency EECS 582 – W 16 4

Motivation • HW is fast, but SW is a Bottleneck 64 -byte TCP Echo

Motivation • HW is fast, but SW is a Bottleneck 64 -byte TCP Echo EECS 582 – W 16 5

Motivation • Why SW Slow? • HW and Workload is changing • Dense Multicore

Motivation • Why SW Slow? • HW and Workload is changing • Dense Multicore +10 Gb. E • Scale out workloads • Berkeley sockets, designed for CPU time sharing • Complex Interface & Code Paths Convoluted by Interrupts and Scheduling • Packet inter-arrival times being many times higher than the latency of interrupts and system call EECS 582 – W 16 6

Motivation • IX Closes the SW Performance Gap • Protection and direct HW access

Motivation • IX Closes the SW Performance Gap • Protection and direct HW access through virtualization • Execution model for low latency and high throughput 64 -byte TCP Echo EECS 582 – W 16 7

IX Design • Separation and protection of control and data plane • Control plane

IX Design • Separation and protection of control and data plane • Control plane responses for resource configuration, provisioning, ect. • Data plane runs for networking stack and application logic • Run to completion with adaptive batching • Data and instruction cache locality • Native, zero-copy API with explicit flow control • Flow consistent, synchronization-free processing EECS 582 – W 16 8

IX implementation • Separation of Control and Data Plane EECS 582 – W 16

IX implementation • Separation of Control and Data Plane EECS 582 – W 16 9

IX implementation • Run to Completion with Adaptive Batching EECS 582 – W 16

IX implementation • Run to Completion with Adaptive Batching EECS 582 – W 16 10

IX implementation • Dataplane Details • Different Memory Management • Large blocks, allow internal

IX implementation • Dataplane Details • Different Memory Management • Large blocks, allow internal memory fragmentation, turn off swappable memory • Hierarchical timing wheel implementation, such as TCP retransmissions timeout • Redesign API EECS 582 – W 16 11

IX implementation • Dataplane API and Operation EECS 582 – W 16 12

IX implementation • Dataplane API and Operation EECS 582 – W 16 12

IX implementation • Multi-core scalability • Elastic threads operate in a synchronization and coherence

IX implementation • Multi-core scalability • Elastic threads operate in a synchronization and coherence free manner • API commute • Flow-consistent hashing at the NICs • Small number of shared structures • Security model • The malicious application can’t corrupt the networking stack or other applications EECS 582 – W 16 13

Evaluation • Comparison IX to Linux and m. TCP • TCP microbenchmarks and Memcached

Evaluation • Comparison IX to Linux and m. TCP • TCP microbenchmarks and Memcached EECS 582 – W 16 14

Evaluation • Net. PIPE performance EECS 582 – W 16 15

Evaluation • Net. PIPE performance EECS 582 – W 16 15

Evaluation • Multicore Scalability for Short Connections EECS 582 – W 16 16

Evaluation • Multicore Scalability for Short Connections EECS 582 – W 16 16

Evaluation • n round-trips per connection EECS 582 – W 16 17

Evaluation • n round-trips per connection EECS 582 – W 16 17

Evaluation • Different message sizes s (n=1) EECS 582 – W 16 18

Evaluation • Different message sizes s (n=1) EECS 582 – W 16 18

Evaluation • Connection Scalability EECS 582 – W 16 19

Evaluation • Connection Scalability EECS 582 – W 16 19

Evaluation • Memcached over TCP EECS 582 – W 16 20

Evaluation • Memcached over TCP EECS 582 – W 16 20

Discussion • Why IX fast? • Subtleties of adaptive batching • Limitation EECS 582

Discussion • Why IX fast? • Subtleties of adaptive batching • Limitation EECS 582 – W 16 21

Conclusion • A protected dataplane OS for datacenter applications with an event-driven model and

Conclusion • A protected dataplane OS for datacenter applications with an event-driven model and demanding connection scalability requirements • Efficient access to HW, without sacrificing security, through virtualization • High throughput and low latency enabled by a dataplane execution model EECS 582 – W 16 22

Conventional Wisdom • Bypass the kernel • Move TCP to user-space (Onload, m. TCP,

Conventional Wisdom • Bypass the kernel • Move TCP to user-space (Onload, m. TCP, Sandstorm) • Move TCP to hardware (TOE) • Avoid the connection scalability bottleneck • Use datagrams instead of connections (DIY congestion management) • Use proxies at the expense of latency • Replace classic Ethernet • Use a lossless fabric (Infiniband) • Offload memory access (r. DMA) EECS 582 – W 16 23