The NFV Infrastructure (NFVI) is defined as the totality of all hardware and software resources where virtualized network functions (VNFs) are deployed. Although many VNFs live a happy life in some generic hardware and software, there are some VNFs that require higher performance to meet their requirements in terms of e.g. throughput, transactions per second and/or latency.
Reaching these performance goals is not just a technical matter. It must also be at a reasonable cost for the NFVI operators. Best performance per processor may be measured in core/cost/watt or other performance metrics.
What is acceleration?
Acceleration is a common term for various tricks and technologies to speed up the performance of both the processing and networking in and between VNFs. The key players here are a set of so-called accelerators, which can be described as different hardware and software tools within the NFV Infrastructure.
An Acceleration Abstraction Layer (AAL) is used to present a common interface to be used by a VNFC (VNF Component) independent of the underlying accelerators. This can be provided without requiring changes to the independent VNFC code since all code which is dependent on the accelerators is within the AAL. The hypervisor in charge of compute and storage resources then provides common and uniform virtual hardware to all virtual machines so that VNFC code is fully portable.
To achieve full portability of VNFC code, the AAL can be contained in the hypervisor so that the VNFC can use generic drivers, without requiring awareness of the AAL. However, for fully independent VNFCs this may not be desired, so an alternate model known as para-virtualization also exists. With para-virtualization, AAL code is also present in the VNFC and is adapted to specific virtualization drivers and hardware.
Acceleration can be done by hardware or software, and the AAL should not mandate a specific hardware or software implementation, but enable a spectrum of different approaches. In fact, there are several virtualisation technologies today allowing multiple accelerators to co-exist and this area will evolve in the future.
Hardware accelerator covers the options for ASICs, network processors, flow processors, multi-core processors etc to offload the main CPU, and to accelerate workload performance.
In addition to hardware acceleration solutions, modern, high-performance CPU silicon enables an alternative software acceleration. Software acceleration provides a set of one or more optional software layers that are selectively added within elements of an NFV deployment to augment or bypass native software for e.g. increased network throughput, or reduced operating overhead.
Software acceleration frameworks include Data Plane Development Kit, when deployed into a virtual switch or embedded switch enables performance improvements over a native virtual switch.
Want to learn more about NFV infrastructure?
<— Click here and upgrade your knowlegde in NFV subjects!