214 Software Networks
8.1. Accelerators
One initial solution to speed up the computation of software is
represented by accelerators. Many different types of performance
accelerators are already on the market, including DPDK (Data Plane
Development Kit). The DPDK environment is a collection of data
plane libraries and network interface drivers which accelerate
communications. Real migrations of virtual machines – i.e. the actual
transport of all the software associated with a virtual machine, from
one physical machine to another – can be done in the space of a few
milliseconds.
The purpose of DPDK, as we have seen, is to create a set of
libraries for environments made up of software which are designed to
perform specific functions, requiring large amounts of computation
power. This type of software is found in the context of virtualization
for signal-processing applications or multimedia protocol
management. In particular, this solution applies in the networking
domain by way of an additional: the EAL (Environment Abstraction
Layer). The EAL masks the peculiarities of the environment, by
presenting a programming interface to libraries, interfaces, hardware
accelerators and operating-system elements such as Linux or
FreeBSD. Once the EAL has been created for a specific environment,
developers string together the libraries and interfaces to create their
own applications. For example, the EAL can provide a standard
framework to handle Linux, FreeBSD, Intel IA 32- or 64-bit, or IBM
Power8.
The EAL also provides additional services, such as temporal
references, access to the PCIe bus, tracking functions, debugging
solutions and alarm functions. Finally, the DPDK environment
implements a model with very little overhead, which helps to obtain
excellent performance in terms of the data plane. The environment
also enables us to access the different nodes by eliminating the
computation overheads, leading to rather impressive accelerations
which are achieved by way of fairly simple processes.
The DPDK environment also includes examples which
demonstrate best practices for software architectures, tips for the
www.it-ebooks.info
Précédent

- 238/262

Suivant