[v4,6/6] Section 6: Glossary
Checks
Commit Message
-Glossary Introduction Formatting: Refined the introduction's formatting for clarity.
-Directive Implementation: Used .. glossary:: directive for structured term definitions.
-Term Definitions and Linking: Expanded definitions for terms like BIOS,
Bifurcated Driver, Clang-LLVM, etc., with reference tags and links to their respective
content pages.
Enhanced Navigation: Integrated hyperlinks for each term, directing to detailed information
on content pages.
---
doc/guides/getting_started_guide/glossary.rst | 78 +++++++++++++++++++
1 file changed, 78 insertions(+)
create mode 100644 doc/guides/getting_started_guide/glossary.rst
Comments
On Wed, 22 Nov 2023 20:26:27 -0500
David Young <dave@youngcopy.com> wrote:
> -Glossary Introduction Formatting: Refined the introduction's formatting for clarity.
> -Directive Implementation: Used .. glossary:: directive for structured term definitions.
> -Term Definitions and Linking: Expanded definitions for terms like BIOS,
> Bifurcated Driver, Clang-LLVM, etc., with reference tags and links to their respective
> content pages.
> Enhanced Navigation: Integrated hyperlinks for each term, directing to detailed information
> on content pages.
> ---
> doc/guides/getting_started_guide/glossary.rst | 78 +++++++++++++++++++
I prefer putting this not in the gsg
See https://patchwork.dpdk.org/project/dpdk/patch/20240911042800.9203-1-stephen@networkplumber.org/
On Wed, 22 Nov 2023 20:26:27 -0500
David Young <dave@youngcopy.com> wrote:
> -Glossary Introduction Formatting: Refined the introduction's formatting for clarity.
> -Directive Implementation: Used .. glossary:: directive for structured term definitions.
> -Term Definitions and Linking: Expanded definitions for terms like BIOS,
> Bifurcated Driver, Clang-LLVM, etc., with reference tags and links to their respective
> content pages.
> Enhanced Navigation: Integrated hyperlinks for each term, directing to detailed information
> on content pages.
> ---
> doc/guides/getting_started_guide/glossary.rst | 78 +++++++++++++++++++
> 1 file changed, 78 insertions(+)
> create mode 100644 doc/guides/getting_started_guide/glossary.rst
>
> diff --git a/doc/guides/getting_started_guide/glossary.rst b/doc/guides/getting_started_guide/glossary.rst
> new file mode 100644
> index 0000000000..29e3f041ba
> --- /dev/null
> +++ b/doc/guides/getting_started_guide/glossary.rst
> @@ -0,0 +1,78 @@
> +.. SPDX-License-Identifier: BSD-3-Clause
> + Copyright(c) 2010-2025 Intel Corporation.
> +
> +Glossary
> +========
> +
> +This glossary provides definitions for key terms and concepts used within DPDK. Understanding
> +these terms will help in comprehending the functionality and architecture of DPDK.
Just for giggles asked ChatGpt to make a glossary
Creating a glossary for terms used in the DPDK (Data Plane Development Kit) documentation involves defining key concepts, components, and terminology relevant to DPDK. Here's a glossary to help you navigate the DPDK documentation:
A
Adapter: A hardware component that facilitates the communication between the CPU and network interface card (NIC).
B
Burst: A group of packets processed or transmitted in a single operation or cycle.
C
Core: A processing unit within a CPU that can execute tasks independently. In DPDK, cores are often used to handle packet processing.
Core Mask: A bitmask used to specify which CPU cores should be used by DPDK applications.
Configuration File: A file used to configure the DPDK environment, including options for devices and performance parameters.
D
DPDK: Data Plane Development Kit, a set of libraries and drivers for fast packet processing.
Driver: Software that allows DPDK to interact with hardware components like NICs.
Direct Memory Access (DMA): A method for hardware components to access system memory without involving the CPU, improving performance.
E
Ethernet: A common networking technology used for local area networks (LANs). DPDK often deals with Ethernet packets.
F
Flow: A sequence of packets with common characteristics, such as source and destination addresses, that can be processed together.
Frame: A packet of data transmitted over a network.
G
Gigabit Ethernet (GbE): A standard for Ethernet networks that supports data rates of 1 gigabit per second.
H
Hardware Abstraction Layer (HAL): An abstraction layer that hides the complexity of hardware interactions from higher-level software.
I
Interrupt: A signal sent to the CPU by hardware or software indicating an event that needs immediate attention.
IP (Internet Protocol): A protocol used for routing packets across network boundaries.
J
Jumbo Frame: Ethernet frames that are larger than the standard maximum transmission unit (MTU) size, used to improve network efficiency.
K
Kernel: The core part of an operating system that manages system resources and hardware communication.
L
Latency: The time delay between sending and receiving data, critical for performance in packet processing.
M
Memory Pool: A pool of pre-allocated memory blocks used for efficient allocation and deallocation of memory for packet processing.
N
NIC (Network Interface Card): A hardware component that connects a computer to a network.
NUMA (Non-Uniform Memory Access): A memory design where memory access time depends on the memory location relative to a processor, affecting performance in multi-core systems.
O
Offloading: The process of delegating certain tasks from the CPU to hardware components to improve performance.
P
Packet: A unit of data transmitted over a network.
Poll Mode Driver (PMD): A driver that uses busy polling to check for incoming packets, providing lower latency and higher performance compared to interrupt-driven drivers.
Pipeline: A series of processing stages through which packets pass.
Q
Queue: A buffer where packets are stored temporarily before being processed or transmitted.
R
RTE (Runtime Environment): The environment provided by DPDK to manage resources and execute applications.
Ring Buffer: A circular buffer used to manage data efficiently, often for inter-process communication.
S
Socket: A communication endpoint used in network programming. In DPDK, it refers to the hardware or memory allocation context associated with a CPU core.
Shared Memory: A memory space that can be accessed by multiple processes or threads, used in DPDK for inter-process communication.
T
Thread: A separate path of execution within a process, allowing concurrent operations.
U
Uplink: A connection from a device to a higher-level network, often used to refer to connections between switches or routers.
V
Virtualization: The creation of virtual instances of hardware or software resources, such as virtual NICs, to improve resource utilization.
W
Workload: The amount of processing or network traffic handled by DPDK applications.
X
X86 Architecture: A family of instruction set architectures used in most CPUs, supported by DPDK.
Y
Yield: The process of allowing other threads or processes to run, typically used in context with CPU resource management.
Z
Zero-Copy: A technique where data is transferred without being copied between buffers, reducing overhead and improving performance.
This glossary covers a broad range of terms relevant to DPDK, but you might encounter additional terms specific to certain features or components of the DPDK ecosystem. For detailed explanations and up-to-date information, always refer to the official DPDK documentation.
new file mode 100644
@@ -0,0 +1,78 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2010-2025 Intel Corporation.
+
+Glossary
+========
+
+This glossary provides definitions for key terms and concepts used within DPDK. Understanding
+these terms will help in comprehending the functionality and architecture of DPDK.
+
+.. glossary::
+
+ BIOS (Basic Input/Output System)
+
+ The firmware used to perform hardware initialization during the booting process and to provide runtime services for operating systems and programs.
+
+ :ref:`Bifurcated Driver <bifurcated_driver>`
+
+ A driver model that splits functionality between kernel and userspace, often used in high-performance networking.
+
+ :ref:`Clang-LLVM <clang_llvm>`
+
+ A compiler toolchain that includes the Clang C compiler and LLVM linker, used for building DPDK on Windows.
+
+ :ref:`contigmem Module <loading_contigmem_module>`
+
+ A module in FreeBSD that provides physically contiguous memory allocation used by DPDK.
+
+ :ref:`DMA (Direct Memory Access) <direct_memory_access_dma>`
+
+ A feature that allows hardware devices to access the main system memory directly, without involving the CPU.
+
+ :ref:`EAL (Environment Abstraction Layer) <Environment_Abstraction_Layer>`
+
+ The layer within DPDK that abstracts environmental specifics and provides a standard programming interface.
+
+ :ref:`hugepages <memory_setup_reserving_hugepages>`
+
+ Large memory pages used by the operating system to manage memory more efficiently, especially in high-performance applications like DPDK.
+
+ IOMMU (Input-Output Memory Management Unit)
+
+ A hardware component that translates device-visible virtual addresses to physical addresses, providing memory protection and isolation.
+
+ :ref:`MinGW-w64 Toolchain <mingw_w64_toolchain>`
+
+ A development environment for creating Windows applications, used as an option for compiling DPDK on Windows.
+
+ NIC (Network Interface Card)
+
+ A hardware component that connects a computer to a network.
+
+ :ref:`nic_uio Module <nic_uio_module>`
+
+ A UIO driver for network devices in FreeBSD, used by DPDK.
+
+ NUMA (Non-Uniform Memory Access)
+
+ A computer memory design used in multiprocessing where the memory access time depends on the memory location relative to the processor.
+
+ PMD (POLL Mode Driver)
+
+ A type of driver in DPDK that continuously polls for events rather than relying on interrupts, often used for high-performance networking.
+
+ SoC (System on a Chip)
+
+ An integrated circuit that integrates all components of a computer or other electronic system into a single chip.
+
+ :ref:`UIO (Userspace I/O) <uio>`
+
+ A Linux kernel module that enables user-space applications to access hardware devices directly.
+
+ :ref:`VFIO (Virtual Function I/O) <device_setup_vfio>`
+
+ A kernel driver that allows a virtual machine to access physical devices directly, used in DPDK for device assignment.
+
+ :ref:`VFIO Platform <vfio_platform>`
+
+ A framework in Linux that allows exposing direct device access to userspace, in a secure, IOMMU-protected way.