System configurations
The network performance analysis utilized a basic IBM® Z configuration. This configuration used a pair of LPARs on an IBM z13® system. The configuration for each LPAR is different. The first LPAR serving the role of the KVM host provides the environment where the KVM virtual machine or guest will run. The second LPAR serves as a separate system that will communicate and interact with the KVM guest running in the first LPAR. The second LPAR is meant to emulate an environment in which any supported OS and any workload could operate and interact with the KVM guests.
This two-LPAR system configuration was used to test and evaluate two network configurations. The first configuration used 10GbE OSA interfaces to communicate across LPARs (see Figure 1), while the second network configuration used a HiperSockets™ link with end-points located inside each LPAR (see Figure 2).
Each operating system environment was configured with 4 CPUs/vCPUs and 4 GiB of memory. The KVM host was configured to operate on twice these totals because the KVM guest operates within the resources defined in the KVM host. Resources not allocated to the KVM guests are left over for the KVM host's use.
To reduce possible variability across multiple network workload runs, both Transparent Huge Pages (THP) and Simultaneous Multi-Threading (SMT) were disabled using Linux® kernel command line parameters.
The diagrams that follow illustrate the configuration details and the data flow across the network components of each configuration.
The configuration in Figure 1
will be referred to here as the OSA configuration.
The MacVTap driver in bridge mode is used to attach the virtual network interface from the KVM guest to the OSA interface in the KVM host. Historically, MacVTap provided better overall performance than using a software bridge. Therefore, MacVTap will be used as the performance baseline to compare to HiperSockets.
The configuration in Figure 2 will
be referred here to as the HiperSockets configuration.
When the MacVTap driver is not used to attach or bind a KVM guest virtual interface to a network interface in the KVM host, a software bridge is needed to provide the connection point for the KVM guest. In this HiperSockets configuration, an Open vSwitch software bridge was used.