Intel® Ethernet Controller E810 Data Plane Development Kit (DPDK) 22.11/23.03

Configuration Guide

ID 764257
Date 06/16/2023
Version 22.11
Document Table of Contents

BIOS Settings

Power Management → CPU Power and Performance Policy <Performance>

Intel processors have a power management feature where the system goes in power savings mode when it is being underutilized. This feature should be turned off to avoid variance in performance. The system should be configured for maximum performance (BIOS configuration). The downside is that even when the host system is idle, the power consumption is not down.

Power and Performance → CPU Power and Perf Policy → Performance Power and Performance → Workload Configuration→ I/O Sensitive

For maximum performance, low-power processor states (C6, C1 enhanced) should be disabled:

CPU C-state Disabled

P-States, which are designed to optimize power consumption during code execution, should be disabled:

CPU P-state Disabled

or:

Advanced → Power & Performance → CPU C State Control → Package C-State=C0/C1 State Advanced → Power & Performance → CPU C State Control → C1E=Disabled

Turboboost/Speedstep

Speedstep is a CPU feature that dynamically adjusts the frequency of processor to meet processing needs, decreasing the frequency under low CPU-load conditions. Turboboost over-clocks a core when the demand for CPU is high. Turboboost requires that Speedstep is enabled.

These two configurations could introduce a variance in data plane performance when there is a burst of packets. For consistency of behavior, these two features should be disabled.

Enhanced Intel® Speedstep® Tech Disabled Turbo Boost Disabled

Virtualization Extensions

Intel virtualization extensions, Intel® Virtualization Technology (Intel® VT) and Intel® Virtualization Technology for Directed I/O (Intel® VT-d), and DMA remapping (DMAR) must be turned on. VT-d enables IOMMU virtualization capabilities that are required for PCIe pass-through. Also, interrupt remapping should be enabled so that hardware interrupts can be remapped to a VM for PCIe pass-through.

Enable these extensions through the platform's BIOS settings.

Intel VT For directed I/O(VT-d) Enabled Intel Virtualization Technology (VT-x) Enabled

Hyperthreading

Hyperthreading is Intel's simultaneous multi-threading technology For each physical processor core that is present, the operating system addresses two virtual (logical) cores and shares the workload between them when possible. Each logical core shares the resources (L1 and L2 cache, registers) of the physical core. This is controlled by a setting in the BIOS.

In general, data plane performance suffers when hyperthreading is enabled. Therefore, the recommendation is to disable it.

Hyperthreading configuration is a BIOS setting, and changing it requires a reboot.

If hyperthreading is enabled, it is still possible to obtain the same performance as with hyperthreading disabled. To do this, isolate the extra logical cores (see CPU isolation) and do not assign any threads to them.

Processor Configuration → Hyper-threading → Enabled for Throughput/Disabled for Latency