Controlling vertical polarization (HiperDispatch)
![]()
HiperDispatch automatically adjusts capacity values for vertical polarization. You can influence the decision making of the HiperDispatch function by setting sysfs attributes.
About this task
HiperDispatch uses vertical high polarization to concentrate the entitlement of the LPAR to as few CPUs as possible. Workloads that benefit from this approach are especially workloads that run CPU-heavy processes.
HiperDispatch manages vertically polarized CPUs by adjusting their capacities as presented to the Linux kernel. Vertical high and medium CPUs receive higher capacity allocations, while vertical low CPUs are assigned reduced capacities, especially if HiperDispatch detects excessive steal time on the vertical lows. When no steal time is observed, all CPUs are granted full capacity. The sysfs attributes described here allow you to influence HiperDispatch's decision-making process:
- hd_steal_threshold. Controls at which threshold of overall average steal time on vertical lows the capacities are adjusted.
- hd_delay_factor. Defines how much time must pass between two HiperDispatch decisions in multiples of 250ms.
HiperDispatch's decision is based on whether steal time is encountered on vertical low CPUs. With the two sysfs options it is possible to control at which threshold the capacities are adjusted and how much time must pass between two HiperDispatch decisions.
- adjustment_count. Number of state transitions since boot. A high value indicates that the system might be going back and forth between the two states. You might consider increasing the steal time threshold or the delay factor.
- conservative_time_ms. Milliseconds since the boot where the capacity of the vertical-low CPUs was restricted.
- greedy_time_ms. Milliseconds since boot where the capacity of the vertical-low CPUs was not restricted.
HiperDispatch enablement and disablement
- As of Red Hat® Enterprise Linux® 10 and SUSE Linux Enterprise Server 16, Linux boots in vertical mode with HiperDispatch active.
- Red Hat Enterprise Linux 9.6 and SUSE Linux Enterprise Server 15 SP7 boot horizontally by default, but activate HiperDispatch automatically when you switch to vertical polarization.
You can turn off HiperDispatch, but doing so reintroduces the traditional risks of vertical mode and is discouraged. Use the sysctl s390.hiperdispatch attribute to toggle HiperDispatch on or off.
Older Linux distributions have no HiperDispatch support. Switching to vertical CPU polarization usually results in a system with different types of vertical CPUs. Running a system with different types of vertical CPUs can result in significant performance degradation. If possible, use only one type of vertical CPUs. Set all other CPUs offline and deconfigure them.