The Need for Accelerators
As the world becomes increasingly online, digital traffic has grown tremendously. This has pushed data centers to be larger than ever, driving an explosive demand for compute. To deal with the ever-increasing need for compute power, hardware accelerators for fixed function offloading have become more prevalent. These compute units are better suited to handle specialized workloads, freeing up general purpose compute units for other tasks.
Intel® QuickAssist Technology (Intel QAT), Intel® Dynamic Load Balancer (Intel® DLB), and Intel® Data Streaming Accelerator (Intel® DSA) are a few examples of hardware accelerators. However, these devices pose other challenges to system administrators. They often have a plethora of configuration options that can be tweaked to extract the best performance from these devices. Furthermore, the optimal configuration can vary based on the workloads being run. Quickly applying configurations and replicating these settings at the large scale of a data center can be a challenge to system administrators.
A Plug-in to Manage Complexity
The Intel® Device Manager for VMware* vCenter Server is a plug-in that adds the ability to manage supported devices from within the VMware vCenter server management software and the vSphere* client interface.
The system administrator can use the plug-in to quickly replicate settings across devices in a data center, greatly reducing the time taken to configure and set up the devices. Real-time monitoring provides information on device health through sensors, and utilization through device-specific telemetry and performance graphs.
The Intel Device Manager for VMware vCenter Server is a powerful plug-in to help system administrators manage Intel devices. The system admin can:
- Configure different types of devices from a single interface.
- Measure the real-time impact of configuration changes through device sensors and performance metrics.
- Monitor the health and status of a device along with firmware and driver information.
- Customize device settings based on specific scenarios.
- Save configurations into recipes and batch-apply them across multiple devices at scale.
These management options are provided by the plug-in:
The plug-in is deployed as a VM in vCenter and enables seamless configuration of devices with the help of the Intel® Accelerator Management Daemon for VMware ESXi*, which allows the plug-in to communicate with device drivers.
Here is an overview of the architecture of a system using the plug-in.
Configure Accelerators Using the Plug-in
The plug-in allows you to save configuration options into recipes for easy replication across devices. This article discusses suggested recipes for the Intel DLB and Intel QAT accelerators. Refer to the Intel Device Manager for VMware vCenter Server User Guide to apply the configurations listed here and save them into recipes.
Intel Dynamic Load Balancer (Intel DLB)
The Intel Dynamic Load Balancer (Intel DLB) is a PCIe* device that provides load-balanced, prioritized scheduling of events (that is, packets) across CPU cores, enabling efficient core-to-core communication. It is a hardware accelerator offered by Intel that can be configured with the plug-in, and is used with supported drivers.
Different recipes control how resources are allocated between the SR-IOV Virtual Functions (VFs). The following table lists the recommended configuration recipes.
Recipe |
Description |
SN0 Group Mode |
SN1 Group Mode |
SN0 Slots (Value / Max) |
SN1 Slots (Value / Max) |
---|---|---|---|---|---|
All Provisioned |
Virtual device provisioned with all DLB resources |
0 |
0 |
16/16 |
16/16 |
1/2 Provisioned |
Virtual device provisioned with 1/2 of DLB resources |
0 |
0 |
8/16 |
8/16 |
1/4 Provisioned |
Virtual device provisioned with 1/4 of DLB resources |
0 |
0 |
4/16 |
4/16 |
These are the configuration settings for the All Provisioned recipe.
The Data Plane Development Kit (DPDK) consists of libraries to accelerate packet processing workloads. The DPDK test environment lets you simulate varying workloads with different producer and worker counts. Intel DLB can accelerate DPDK through efficient load balancing.
The following graph of data from the DPDK test environment illustrates the effectiveness of the recipes at distributing resources in different producer/worker scenarios. The labels indicate the number of producers and workers (for example, “8P8W” represents 8 producers with 8 workers).
In higher producer/worker counts, the impact of other bottlenecks is reduced. Here, we notice that in these scenarios, there is near-linear scaling of performance based on how much of the resources are allocated per virtual function. This allows the system admin to adjust their settings accordingly to extract the maximum performance based on how many virtual machines are sharing the device.
These recipes can also be used to ensure that each virtual function gets only the allocated number of resources.
Intel QuickAssist Technology
Intel QuickAssist Technology (Intel QAT) is a PCIe device that saves cycles, time, space, and cost by offloading compute-intensive workloads to free up capacity and handling data efficiently, while it is in process, in motion, or at rest. Intel QAT specifically provides more computational resources for cryptography and data compression workloads.
By default, Intel QAT resources are concurrently shared across all virtual functions (VFs). However, Intel QAT allows enabling rate limiting through the plug-in. Rate limiting allows the Intel QAT device to evenly split resources among the VFs configured through SR-IOV.
The following illustration shows a recipe to enable rate limiting.
The OpenSSL* cryptography framework can utilize the capabilities of Intel QAT to accelerate cryptographic computations. OpenSSL is used for implementation of Secure Sockets Layer and Transport Layer Security features in applications. The OpenSSL toolkit lets you sign and verify keys using industry standard algorithms and measure performance. No rate limiting indicates that rate limiting is disabled. The Intel QAT device is set up with 16 VFs using SR-IOV.
The following graph of DPDK test data shows the effect of rate limiting on systems with different numbers of VFs, and with no rate limiting.
When rate limiting is enabled, the resources are evenly shared across the different VFs. This can be used to ensure that a single VF does not dominate all the resources that the Intel QAT device offers, thereby ensuring availability for all users on the system. With rate limiting and SR-IOV, the system admin can share the required amount of resources for each VM by adjusting the number of VFs allocated to each machine.
More Resources
Intel Device Manager for VMware vCenter Server Plug-in
Intel QuickAssist Technology (Intel QAT)
Intel Dynamic Load Balancer (Intel DLB)
Learn more about the Intel and VMware collaboration.