With N-VDS Enhanced, configuring a VNF-C for optimal data plane performance is simplified. VNF vendors must no longer account for the networking processes that operate on behalf of the VNF-C. N-VDS Enhanced is responsible for allocating optimal CPU cores to the networking processes from the available logical core pool that is configured to the switch.
According to the Tuning vCloud NFV for Data Plane Intensive Workloads white paper, there are three VNF-C parameters relevant to data plane intensive workloads: sched.cpu.latencySensitivity, cTxPerDev on each data plane intensive vNIC, and sched.cpu.latencySensitivity.sysContexts. When deploying data plane intensive VNFs on vCloud NFV 3.0, only one of these parameters remains relevant: sched.cpu.latencySensitivity.
Another VNF-C parameter that is no longer required is numa.nodeAffinity. One of the capabilities of N-VDS Enhanced is automatic resource alignment. If the NFVI is designed as discussed in the Host Configuration chapter, the configuration of all NUMA nodes will be identical. This means that from an operational perspective, the CSP or the application owner, can depend on the cloud management placement to identify the correct host where the VNF-C will be deployed.
Relevant performance tuning that must be considered for a data plane intensive workload is the following:
- Using VMXNET3 paravirtualized vNICs.
- Using the latest virtual machine hardware version.
- Dedicating CPU cores to the data plane intensive VNF-C.
- Physical NIC and vNIC buffer tuning.
- Using Huge Pages.
- Data plane intensive VNF-C vNIC scaling.