a look at intel s dataplane development kit
play

A Look at Intels Dataplane Development Kit Dominik Scholz Chair for - PowerPoint PPT Presentation

A Look at Intels Dataplane Development Kit Dominik Scholz Chair for Network Architectures and Services Department for Computer Science Technische Universit at M unchen June 13, 2014 Dominik Scholz: A Look at Intels Dataplane


  1. A Look at Intel’s Dataplane Development Kit Dominik Scholz Chair for Network Architectures and Services Department for Computer Science Technische Universit¨ at M¨ unchen June 13, 2014 Dominik Scholz: A Look at Intel’s Dataplane Development Kit 1

  2. Outline Packet Processing using Commodity Hardware 1 Intel’s Dataplane Development Kit 2 Comparison: Intel’s DPDK, netmap, PF RING DNA 3 Dominik Scholz: A Look at Intel’s Dataplane Development Kit 2

  3. Motivation Why use commodity hardware and do packet processing in software? Advantages: Flexibility: software can be modified Increased performance and reduced costs of (multicore) CPU’s and NIC’s over the last years Open source But: existing dataplane software not designed for high-speed packet processing (up to 10 Gbit/s) → specialized frameworks implement different techniques to achieve significant performance speed-ups Dominik Scholz: A Look at Intel’s Dataplane Development Kit 3

  4. Use Case: Linux Network Stack Operating System Applikation Applikation User Mode 7 Routing Table 7 Kernel Mode 6 8 5 9 4 Buffer Buffer 1 3 11 10 2 Ingress Network Board Egress Network Board Memory Dominik Scholz: A Look at Intel’s Dataplane Development Kit 4

  5. Performance Limitating Factors Bottleneck CPU Bottleneck memory: 1 per packet allocation and deallocation 2 multiple copy operations per packet 3 complex sk buff structure Parallelism: spinlocks (active waiting) Context switches Conclusion: standard dataplane only for general purpose Dominik Scholz: A Look at Intel’s Dataplane Development Kit 5

  6. Performance Limitating Factors Bottleneck CPU Bottleneck memory: 1 per packet allocation and deallocation 2 multiple copy operations per packet 3 complex sk buff structure Parallelism: spinlocks (active waiting) Context switches Conclusion: standard dataplane only for general purpose Dominik Scholz: A Look at Intel’s Dataplane Development Kit 5

  7. Performance Limitating Factors Bottleneck CPU Bottleneck memory: 1 per packet allocation and deallocation 2 multiple copy operations per packet 3 complex sk buff structure Parallelism: spinlocks (active waiting) Context switches Conclusion: standard dataplane only for general purpose Dominik Scholz: A Look at Intel’s Dataplane Development Kit 5

  8. Outline Packet Processing using Commodity Hardware 1 Intel’s Dataplane Development Kit 2 Comparison: Intel’s DPDK, netmap, PF RING DNA 3 Dominik Scholz: A Look at Intel’s Dataplane Development Kit 6

  9. Intel DPDK Set of libraries to accelerate basic dataplane functions Released in 2012 Completely replaces the network stack Intel architecture-based: supporting Intel Atom - Intel Xeon Open Source BSD-licensed: free and unsupported standalone or commercial solution Dominik Scholz: A Look at Intel’s Dataplane Development Kit 7

  10. DPDK Overview Runtime environment with low overhead Dataplane libraries run in userspace 1 Memory management 2 Buffer management 3 Custom driver 4 ... Environment Abstraction Layer (EAL) ”Easy to use.” - Intel Dominik Scholz: A Look at Intel’s Dataplane Development Kit 8

  11. Queue Manager Fixed-sized ring implemented as table of pointer to any object Properties: FIFO Lockless (no active waiting) Supports multi consumer/producer enqueue/dequeue scenarios Supports bunch-processing of objects Dominik Scholz: A Look at Intel’s Dataplane Development Kit 9

  12. Memory Manager mempool structure: Pool of fixed-sized objects Uses a ring to store free objects Per core cache (optional) Dominik Scholz: A Look at Intel’s Dataplane Development Kit 10

  13. Buffer Manager mbuf structure used to store network packets Created before runtime ”Allocation”: take a free mbuf from a mempool ”Deallocation”: put the mbuf back to the mempool Small size to fit in one cache-line ( → mbuf-chaining) mbuf contains: 1 Metadata: control information, e.g. packet length 2 Pointer to next mbuf 3 Packet data: header and payload Dominik Scholz: A Look at Intel’s Dataplane Development Kit 11

  14. How to use the DPDK - EAL The DPDK creates libraries by creating the EAL: Hides environment specifics Provides standard programming interface Optimized for the available hardware But does not provide: Layer-3 forwarding Firewalls ...any layer 3 or upper protocol → Developer has to port his application to the DPDK Dominik Scholz: A Look at Intel’s Dataplane Development Kit 12

  15. Outline Packet Processing using Commodity Hardware 1 Intel’s Dataplane Development Kit 2 Comparison: Intel’s DPDK, netmap, PF RING DNA 3 Dominik Scholz: A Look at Intel’s Dataplane Development Kit 13

  16. netmap A framework for raw packet I/O, developed by Luigi Rizzo (Universit´ a di Pisa) Feature: works with broad range of soft- and hardware Linux and FreeBSD Intel 10GbE and 1GbE adapter Intel, RealTek, nVidia Implemented techniques: Memory pre-allocation and re-use Memory mapping Batch processing Parallel direct paths (assign CPU core to receiving queue) Dominik Scholz: A Look at Intel’s Dataplane Development Kit 14

  17. PF RING Direct NIC Access A framework to capture packets, developed by ntop. Feature: zero-copy PF RING DNA maps NIC memory and registers to userland → only one copy operation per packet But: weakness to user misbehaviour (system-crashes) Implemented techniques: Memory pre-allocation and re-use Memory mapping (zero-copy) Parallel direct paths Dominik Scholz: A Look at Intel’s Dataplane Development Kit 15

  18. Summary Intel DPDK netmap PF RING DNA Memory Pre-allocation ✓ ✓ ✓ Memory Mapping ✓ ✓ ✓ Batch Processing ✓ ✓ ✗ Parallel Direct Paths ✓ ✓ ✓ Open Source ✓ ✓ ✓ ”Safety” ✓ ✓ ✗ Test results show: different frameworks exceed in different use cases [2][4] up to 10 times faster than the linux network stack Dominik Scholz: A Look at Intel’s Dataplane Development Kit 16

  19. Sources Intel DPDK Programmers Guide. January 2014. Intel DPDK Packet Processing on Intel Architecture. Presentation slides , 2012. Luigi Rizzo netmap: a novel framework for fast packet I/O in: Proceedings of the 2012 USENIX Annual Technical Conference , 2012. Jos´ e Luis Garc´ ıa-Dorado et al. High-Performance Network Traffic Processing Systems Using Commodity Hardware in: Data Traffic Monitoring and Analysis , Springer Verlag, 2013. www.dpdk.org Last visited: 06.06.2014 Dominik Scholz: A Look at Intel’s Dataplane Development Kit 17

  20. Thank you for your attention! Do you have any questions? Dominik Scholz: A Look at Intel’s Dataplane Development Kit 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend