Tuning the T4’s CPU to Optimize Workload Performance

A note from my archives [2012].

 Starting with the Oracle VM Server for SPARC 2.1 patch release (147507-01), you can use dynamic CPU threading controls to optimize workload performance on SPARC T4 systems.
These threading controls enable you to specify the number of hardware threads to be activated per core.

CPU performance can be optimized for CPU-bound workloads by tuning CPU cores to maximize the number of instructions per cycle (IPC). Or, CPU performance can be optimized for maximum throughput by tuning CPU cores to use a maximum number of CPU threads.

CPU Threading Modes and Workloads

The threading mode can be set dynamically and independently for each domain on the system. A reboot is not required to change the threading mode, and the set mode is maintained across domain reboots or platform power cycles. Note that you must perform an initial reboot to properly configure the system.

By selecting the appropriate CPU threading mode, you can improve the performance of applications and workloads that are running on a domain. You can select a threading mode that either maximizes throughput or maximizes the number of instructions per cycle, as follows:

  • Maximizing for throughput (max-throughput).Workloads that benefit most from high throughput run a lot of software and perform a lot of I/O operations. When you optimize for maximum throughput, you enable CPU cores to concurrently run a maximum number of hardware threads. This mode is best for running heavily threaded workloads, such as those performed by web servers, database servers, and file servers. This mode is used by default and is also used on older SPARC T-series platforms, such as SPARC T3 platforms.
  • Maximizing for IPC (max-ipc).Workloads that benefit most from high IPC are CPU intensive, such as systems that run intensive arithmetic computations. When you optimize for maximum IPC, you enable a CPU thread to execute more instructions per CPU cycle. This optimization is achieved by reducing the number of CPU threads that are concurrently active on the same CPU core.

Selecting the CPU Threading Mode

ldm add-domain [mac-addr=num] [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=on] [master=master-ldom1,…,master-ldom4] [threading=max-throughput|max-ipc] ldom
ldm set-domain [mac-addr=num] [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=[on|off][master=[master-ldom1,…,master-ldom4]] [threading=max-throughput|max-ipc] ldom
The threading property is used to dynamically change the threading mode by specifying one of the following values:
  • max-throughput. Use this value to select the threading mode that maximizes throughput. This mode activates all threads that are assigned to the domain. This mode is used by default and is also selected if you do not specify any mode (threading=).
  • max-ipc.Use this value to select the threading mode that maximizes the number of instructions per cycle (IPC). When you use this mode on the SPARC T4 platform, only one thread is active for each CPU core that is assigned to the domain. Selecting this mode requires that the domain is configured with the whole-core constraint.
Viewing the threading Property Value
#ldm list -o resmgmt ldg1
# ldm list -o cpu ldg1
# ldm list -l ldg1

Leave a Reply

Your email address will not be published. Required fields are marked *