europa efficient user mode packet forwarding in network
play

EUROPA: Efficient User-Mode Packet Forwarding in Network - PowerPoint PPT Presentation

EUROPA: Efficient User-Mode Packet Forwarding in Network Virtualization Virtualization Yong Liao Dong Yin Lixin Gao Yong Liao, Dong Yin, Lixin Gao Univ. of Massachusetts, Amherst Network Virtualization Platform Network Virtualization


  1. EUROPA: Efficient User-Mode Packet Forwarding in Network Virtualization Virtualization Yong Liao Dong Yin Lixin Gao Yong Liao, Dong Yin, Lixin Gao Univ. of Massachusetts, Amherst

  2. Network Virtualization Platform Network Virtualization Platform • Concurrent virtual networks running in the same substrate b t t – VINI, Trellis, VRouter – NP, NetFPGA • Requirements for such R i t f h a platform – Flexibility & isolation – Performance Performance

  3. Achieving the Design Goal Achieving the Design Goal • Flexibility and isolation – User mode virtual router • High-performance is challenging – Slow forwarding in VM Sl f di i VM – Overhead of running in user mode • Solution – Efficient forwarding in user mode VM Efficient forwarding in user mode VM

  4. Causes of Slow User Mode Forwarding OS user space OS user space OS OS user space Packet Buffer pass pointer of pkt RcvPkt RcvPkt ProcessPkt ProcessPkt SndPkt SndPkt OS kernel space OS kernel space Packet Buffer Packet Buffer pass pointer of pkt RcvPkt SndPkt RcvPkt ProcessPkt SndPkt from NIC to NIC from NIC to NIC • Overhead Overhead – Copying packets between kernel and user space – Invoking system calls – Invoking system calls

  5. Quantify the Overhead Quantify the Overhead • 2.66G CPU 2 66G CPU System call Send packet Receive packet CPU cycles 3,000 3,400 • Copying 64-byte packet Copying 64 byte packet Memory copy Copy to user Copy from user CPU cycles CPU cycles 160 160 140 140 • Overall overhead – 6,700 cycles per packet – No more than 400kpps in a 2 66G CPU No more than 400kpps in a 2.66G CPU

  6. Avoiding the Overhead Avoiding the Overhead • Packet copying – Sharing buffer between kernel and user space g p virtual routers • System calls • System calls – Kernel and user space virtual routers asynchronously access packet buffer h l k t b ff – A “state” flag for each packet as mutex

  7. Related Work in Improving I/O Performance • Zero-copying schemes – Widely studied in OS community Wid l t di d i OS it – Have not applied to virtual routers • Polling for packets • Polling for packets – Waiting for packets is expensive – Example: Click polling mode

  8. Europa Architecture Europa Architecture • Slicing server into VMs (OpenVZ) Sli i i t VM (O VZ) – VR data plane running in VM • Shared packet pools (mmap mechanism) – One for each VR One for each VR • Europa kernel p – One module serving for all serving for all VRs

  9. Europa Kernel Module Europa Kernel Module • Receiving packet R i i k t – Classifying – Moving to VR’s pool – Writing index in rx ring – Changing packet state • Sending packet g p – Reading index in VR’s tx ring – Polling packet state – Sending out via NIC g

  10. Europa Virtual Router Europa Virtual Router vNIC vNIC • Receiving packet • Receiving packet – Reading index from VR’s rx ring, polling packet state • Processing packet Processing packet – “In-place” processing • Sending packet g p – Writing an index into VR’s tx ring, changing packet state

  11. Prototyping Implementation Prototyping Implementation • Hardware H d – Workstation PC with: 2.66G Core2 Duo CPU, 4G memory, Intel E1000 Gbit NIC memory, Intel E1000 Gbit NIC • Virtualization: OpenVZ • Kernel module – Kernel Click: interact with NIC, classify packets, copy packets to VM’s shared buffer – Multi-threaded Click M lti th d d Cli k • User module – User Click: process packet in an in-place manner User Click: process packet in an in place manner

  12. Evaluation: UDP Experiments Evaluation: UDP Experiments • Forwarding 64-byte UDP packets • Europa matches kernel Click • Europa matches kernel Click

  13. Evaluation: TCP Experiments Evaluation: TCP Experiments • TCP throughput

  14. Scalability of Europa Scalability of Europa • Multiple VRs concurrent forwarding M lti l VR t f di • More VRs, slower aggregate speed – Multi-core CPU u t co e C U

  15. Pool Size vs. Forwarding Performance • Two concurrent VRs • Speed is not sensitive to buffer size Speed is not sensiti e to b ffer si e

  16. Conclusion and Future Work Conclusion and Future Work • Poor performance of conventional user mode packet processing p p g • Flexibility benefits of processing packet in user mode user mode • Europa achieves both flexibility and performance goal in virtual network • Adaptive polling packets as future work • Adaptive polling packets as future work

  17. Packet Forwarding in Europa Packet Forwarding in Europa memory mapping between user space and kernel space

Recommend


More recommend