DPDK概述

408 阅读1分钟

DPDK简介

DPDK is the Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures.

It provides a set of data plane libraries and network interface controller polling-mode drivers for offloading TCP packet processing from the operating system kernel to processes running in user space. This offloading achieves higher computing efficiency and higher packet throughput than is possible using the interrupt-driven processing provided in the kernel.

重要的概念

  • EAL:Environment Abstraction Layer

The EAL is a set of programming tools that let the DPDK work in a specific hardware environment and under a specific operating system.

  • Managing Queues: rte_ring

The queue is a lockless ring buffer built on the FIFO (First In, First Out) principle.

  • Memory Management: rte_mempool

These pages are combined in segments, which are then divided into zones. Objects that are created by applications or other libraries, like queues and packet buffers, are placed in these zones. These objects include memory pools, which are created by the rte_mempool library. These are fixed size object pools that use rte_ring for storing free objects and can be identified by a unique name.

  • Buffer Management: rte_mbuf

相关资料

  • 官网:

www.dpdk.org/

  • Understanding DPDK:

www.slideshare.net/garyachy/dp…

  • 开发者指南

doc.dpdk.org/guides/prog… www.slideshare.net/garyachy/dp…

  • A Look at Intel’s Dataplane Development Kit

www.net.in.tum.de/fileadmin/T…

本文参考文献

[1] 维基百科 en.wikipedia.org/wiki/Data_P…

[2] Introduction to DPDK: Architecture and Principles blog.selectel.com/introductio…

[3] DPDK官方网站 www.dpdk.org