Simultaneous Multi Threading for zIIP processor
zIIP processors can be configured to run up to 2 simultaneous threads that share a physical core’s resources.
Reduces instruction processing latency at the core level by allowing one thread to access a core’s resources while another thread is forced to wait on resolution of a processor cache miss.
Determining SMT Benefits with z/OSShare 2015 presentation - z Systems Simultaneous Multithreading Revolution
1. What is SMT and What workload can be benefitted by SMT?
a. SMT is a hardware feature where we are trying to increase the through put of the physical CPU cores. In general we only have one program/instruction (thread) per core of a physical CPU and only after it gets executed another program/instruction is readied for that core. With SMT we can have 2 threads active at the same time so when one instruction is put on wait that other instruction can execute rather than waiting. There by increasing the productive time of each core. So, by logic all the work that generally executes in a CP core is benefitted by SMT. To be more precise, if we have an application that can run many parallel instruction rather than linear execution can benefit more.
The mainframe does it a bit different by ensuring all the threads to the core are from the same program. It is enabled only for zIIP’s at this point of time.
For compute-intensive batch workloads, automated processes can switch to SMT Mode 1 (one thread per core) to maximize thread speed. For data-oriented workloads, automated processes can switch to SMT Mode 2 (two threads per core) to maximize core throughput.
--- I think our team is making the enablement in general to increase the through put of each zIIP core and not against any specific workload identification. So any application using DB2, java can benefit.
How to activate SMT for zIIP?:
We need to update the following parms and perform an IPL for the first time.
How can we measure the benefits of using SMT? : I don't have the simplest or the straight calculation.
zOS converts all the measurements for SMT to an equivalent non SMT. This enables to ensure no changes in CPU time consumption per workload before and after SMT implementation. So, if our zIIP usage is not increased from earlier we may not see much difference. The understanding is that our zIIP cores runs more productively so you can bring in more zIIP related workload.
As per IBM the maximum through put we can achieve by enabling SMT is 140% without SMT is 100%.
The best way is to calculate the throughput of a zIIP core from smf data before and after implementing SMT.
Would you like to publish your Articles on IBMMainframer Community? Submit here