Objectives
The purpose of this white paper is to study how the Linux™ cpuplugd daemon, also called hotplug daemon, can control the amount of CPUs and memory available for a guest by adding or removing these resources according to predefined rules.
Sizing Linux z/VM® guests can be a complex task, despite the fact that z/VM does a good job of managing the resource requests as appropriately as possible. But oversized guests often cause additional management effort by the Hypervisor and undersized guests often have performance-related issues with workload peaks. A large amount of guests with large ratios of resource overcommitment (more virtual resources than are physically available) and changing workload characteristics over time make a correct sizing even more challenging.
Therefore to simplify guest management the obvious question is, why not let the system manage the resources automatically, based on the operating requirements of the guest. This ensures that each guest receives what it requires at a certain point in time and the limits can then be adjusted in cases where a guest unintentionally receives too many resources.
The Linux cpuplugd daemon, also called hotplug daemon, can control the amount of CPUs and memory available for a guest by adding or removing these resources according to predefined rules.
There is an updated version of the cpuplugd daemon available starting with SUSE Linux Enterprise Server (SLES) SP2 or Red Hat Enterprise Linux (RHEL) 6.2, which greatly enhances the capability to define rules and the available performance parameters for the rule set. This tool now provides exactly what is required to enable the operating system of the guest to manage the resources within the range of the guest definition.
This study analyzes various rules for the Linux cpuplugd daemon, which can be used to automatically adjust CPU and memory resources of a Linux z/VM guest. We used a development version from the s390 tools applied on a SLES11 SP1.
- Determine the performance of an manually optimized system setup and keep these sizings and performance as the baseline
- Then start with a common sizing for each guest of 4 CPUs and 5 GB memory
- Let the cpuplugd daemon to adjust the resources under a predefined workload
- Identify appropriate rules to minimize the resource usage with the lowest performance impact
| Symbol | Bytes | |
|---|---|---|
| KiB | 10241 = 0 | |
| MiB | 10242= 1.048.576 | |
| GiB | 10243= 1.073.741.824 | |