Limit search to available items
Book Cover
E-book
Author Zhu, Heqing

Title Data Plane Development Kit (DPDK) A Software Optimization Guide to the User Space-Based Network Applications
Published Milton : Taylor & Francis Group, 2020

Copies

Description 1 online resource (325 p.)
Contents Cover -- Half Title -- Title Page -- Copyright Page -- Table of Contents -- Preface -- Editor -- Contributors -- Section 1 DPDK Foundation -- Chapter 1 Introduction -- 1.1 What's Packet Processing? -- 1.2 The Hardware Landscape -- 1.2.1 Hardware Accelerator -- 1.2.2 Network Processor Unit -- 1.2.3 Multicore Processor -- 1.3 The Software Landscape -- 1.3.1 Before DPDK -- 1.3.2 DPDK Way -- 1.3.3 DPDK Scope -- 1.4 Performance Limit -- 1.4.1 The Performance Metric -- 1.4.2 The Processing Budget -- 1.5 DPDK Use Case -- 1.5.1 Accelerated Network -- 1.5.2 Accelerated Computing
1.5.3 Accelerated Storage -- 1.6 Optimization Principles -- 1.7 DPDK Samples -- 1.7.1 HelloWorld -- 1.7.1.1 Initialize the Runtime Environment -- 1.7.1.2 Multicore Initialization -- 1.7.2 Skeleton -- 1.7.2.1 Ethernet Port Initialization -- 1.7.3 L3fwd -- 1.8 Conclusion -- Further Reading -- Chapter 2 Cache and Memory -- 2.1 Data Access and Latency -- 2.2 Intel® Xeon Architecture -- 2.3 Intel® Atom® SoC -- 2.4 Cache -- 2.4.1 Cache Line -- 2.4.2 Cache Prefetching -- 2.4.3 Software Prefetching -- 2.4.4 False Sharing -- 2.4.5 Cache Coherency -- 2.4.6 Noisy Tenant and RDT -- 2.5 TLB and HugePage
2.5.1 Reserve HugePage at Boot time -- 2.5.2 Reserve HugePage at Runtime -- 2.6 Memory Latency -- 2.7 DDIO -- 2.8 NUMA -- Further Reading -- Chapter 3 Core-Based Parallelism -- 3.1 Multicore Performance -- 3.1.1 Horizontal Scale -- 3.1.2 Multicore -- 3.1.3 Affinity -- 3.1.4 Core Pinning in DPDK -- 3.2 Instruction Concurrency and Data Parallelism -- 3.2.1 Instruction Concurrency -- 3.2.2 SIMD -- 3.3 Conclusion -- Further Reading -- Chapter 4 Synchronization -- 4.1 Atomic and Memory Barrier -- 4.1.1 Memory Barrier -- 4.1.2 Atomic Operation -- 4.1.3 Linux Atomic Operation
4.1.3.1 Atomic Integer Operation -- 4.1.3.2 Atomic Bit Operation -- 4.1.4 DPDK Atomic Operation -- 4.1.4.1 Memory Barrier API -- 4.1.4.2 Atomic API -- 4.2 RWLock -- 4.2.1 Linux API -- 4.2.2 DPDK API -- 4.3 Spinlock -- 4.3.1 Linux API -- 4.3.2 DPDK API -- 4.4 Lock-Free -- 4.4.1 RTE_RING -- 4.4.2 Enqueue/Dequeue -- 4.4.3 Producer/Consumer -- 4.5 Conclusion -- Chapter 5 Forwarding -- 5.1 Forwarding Models -- 5.1.1 Pipeline Model -- 5.1.2 RTC Model -- 5.1.3 Hybrid Model -- 5.2 DPDK Specifics -- 5.2.1 RTC Model -- 5.2.2 Pipeline Model -- 5.2.3 Packet Framework Port Library
5.2.4 Packet Framework Table Library -- 5.2.5 Packet Framework Pipeline Library -- 5.3 Forwarding Table and Algorithm -- 5.3.1 Hash Table -- 5.3.2 Hash Library -- 5.3.3 Elastic Flow Distributor -- 5.3.4 Longest Prefix Matching -- 5.3.5 ACL -- 5.4 Event Scheduling -- 5.4.1 NIC-Based Packet Scheduler -- 5.4.2 Software-Based Packet Distributor -- 5.4.3 Event Device -- 5.5 ip_pipeline -- 5.6 Conclusion -- Chapter 6 PCIe/NIC -- 6.1 PCIe -- 6.1.1 Protocol Stack -- 6.1.2 Transaction Overhead -- 6.1.3 Interface Metrics -- 6.2 TLP Example -- 6.3 NIC Descriptor -- 6.4 RX/TX Procedure -- 6.4.1 High-Level View
Notes Description based upon print version of record
Form Electronic book
ISBN 9781000194425
1000194426