With N-VDS (E), configuring a VNF-C for the optimal data plane performance is simplified. A VNF vendor must no longer account for the networking processes that operate on behalf of the VNF-C. N-VDS (E) allocates optimal CPU resources to the networking processes from the available logical cores that are configured at the time the host switch was created.
Starting from vCloud NFV 3.0, when deploying data plane intensive VNFs, only one VM-level parameter is relevant to data plane VMs: sched.cpu.latencySensitivity. Setting this parameter to High achieves both CPU pinning, defined as exclusive affinity between vCPU and CPU core, as well as core isolation. CPU core isolation removes the level 1 and level 2 cache contention and the hyperthread contention. Additional benefits to CPU scheduling of this configuration are NUMA awareness and pre-allocation of CPU capacity in oversubscribed hosts.
The sched.cpu.latencySensitivity benefits do not stop with CPU. To simplify the configuration of VNF-Cs meant for data plane usage, VNF-C memory is fully reserved and features such as ballooning are automatically disabled. This allows all memory pages to be mapped even before the guest operating system boots. Lastly, setting Latency Sensitivity to High automatically disables Large Receive Offload (LRO), disables vNIC interrupt coalescing, and always try to use a dedicated physical NIC queue for isolation.