1st Edition

Data Plane Development Kit (DPDK) A Software Optimization Guide to the User Space-Based Network Applications

Edited By Heqing Zhu Copyright 2021
    324 Pages 35 B/W Illustrations
    by CRC Press

    324 Pages 35 B/W Illustrations
    by CRC Press

    This book brings together the insights and practical experience of some of the most experienced Data Plane Development Kit (DPDK) technical experts, detailing the trend of DPDK, data packet processing, hardware acceleration, packet processing and virtualization, as well as the practical application of DPDK in the fields of SDN, NFV, and network storage. The book also devotes many chunks to exploring various core software algorithms, the advanced optimization methods adopted in DPDK, detailed practical experience, and the guides on how to use DPDK.

    Contents

    Preface......................................................................................................................vii

    Editor........................................................................................................................xv

    Contributors............................................................................................................xvii

    SECTION 1 DPDK Foundation

    Chapter 1 Introduction...........................................................................................3

    Heqing Zhu and Cunming Liang

    Chapter 2 Cache and Memory............................................................................. 31

    Chen Jing and Heqing Zhu

    Chapter 3 Core-Based Parallelism....................................................................... 51

    Qun Wan, Heqing Zhu, and Zhihong Wang

    Chapter 4 Synchronization...................................................................................65

    Frank Liu and Heqing Zhu

    Chapter 5 Forwarding..........................................................................................85

    Yipeng Wang, Jasvinder Singh, Zhe Tao, Liang Ma, and

    Heqing Zhu

    Chapter 6 PCIe/NIC........................................................................................... 115

    Cunming Liang, Hunt David, and Heqing Zhu

    Chapter 7 PMD.................................................................................................. 133

    Helin Zhang and Heqing Zhu

    Chapter 8 NIC-Based Parallellism..................................................................... 157

    Jingjing Wu, Xiaolong Ye, and Heqing Zhu

    Chapter 9 NIC Offload....................................................................................... 183

    Wenzhuo Lu and Heqing Zhu

    Chapter 10 Packet Security.................................................................................. 199

    Fan Zhang (Roy) and Heqing Zhu

    SECTION 2 I/O Virtualization

    Chapter 11 Hardware Virtualization................................................................... 219

    Qian Xu and Rashmin Patel

    Chapter 12 Virtio.................................................................................................229

    Tiwei Bie, Changchun Ouyang, and Heqing Zhu

    Chapter 13 Vhost-User......................................................................................... 251

    Tiwei Bie and Heqing Zhu

    SECTION 3 DPDK Applications

    Chapter 14 DPDK for NFV.................................................................................265

    Xuekun Hu, Waterman Cao, and Heqing Zhu

    Chapter 15 Virtual Switch...................................................................................277

    Ciara Loftus, Xuekun Hu, and Heqing Zhu

    Chapter 16 Storage Acceleration......................................................................... 291

    Ziye Yang and Heqing Zhu

    Index.......................................................................................................................305

    Biography

    Heqing Zhu was born in China. He has worked with Intel® for 15 years. His roles

    include software developer, engineering leadership, product management,

    solution architect in telecom and cloud networking, and open-source software development.

    Prior to Intel®, he worked for Alcatel Shanghai Bell and Huawei. He

    currently lives in Chandler, Arizona, in the United States. Heqing graduated from the

    University of Electronic Science and Technology of China (UESTC) with a master’s

    degree in Information and Communication System.