On Wed, 30 Aug 2023 12:14:29 +0000, Peter Relson <rel...@us.ibm.com> wrote:

>I'll bite. Why would you want to switch? Activating it is one thing.
>
>There are situations where a job might run better not multi-threaded.
>It's not clear that the system ever would run better not multi-threaded.

There are multiple considerations as to whether SMT should be enabled. As Ed 
Jaffe said, my preference would be to add real zIIPs if I at all could and only 
use SMT when that was not (or no longer) feasible. My recommendation is to not 
enable SMT until you have a defined reason to and where it's then proven to be 
beneficial. 

As a review for those stumbling across this who might not know:
If there's only single unit of work running on the zIIP, SMT matters not at all 
because there's no contention for that zIIP core. But when there's two active 
threads on a zIIP, both will contend for the common core resources and so run 
somewhat slower. So it is never a single job that runs worse multi-threaded, if 
SMT is negatively impacting individual workloads it will always be impacting 
work in groups of two work units. 

But z/OS "densely packs" the cores, meaning that if a work unit is running on a 
zIIP core and another zIIP eligible work unit comes in it will run on the 
second thread on the already busy zIIP core instead of being dispatched to an 
available but unused zIIP core. As I understand it, this was done because PR/SM 
dispatches cores, not threads, to the LPARs and this dense packing makes that 
easier. 

So depending on the arrival pattern and volume of the work, how busy the zIIPs 
are, what the LPAR configuration is like, etc. it is possible that work could 
be densely packed on the zIIPs while there's unused zIIP cores that would allow 
the work to run better. zIIPs are often lowly utilized compared to GCPs and at 
certain points in time, it's entirely conceivable that it would be better to 
utilize under-utilized zIIP cores without SMT. 

In general, SMT is more valuable at higher zIIP utilization levels. However 
(depending on lots of things) it can be useful at lower utilizations where, for 
example, there's spikes in the arrival patterns of very short-running 
transactions. That can certainly happen in DDF environments, but the most 
egregious cases of this I've seen have been in Websphere environments. 

The threshold for "at higher zIIP utilization levels" is variable again 
depending. E.G. in a configuration with low zIIP utilization levels where 
there's only 1 or 2 zIIPs shared amongst several LPARs, SMT might be useful 
because an LPAR may not have access to both zIIP cores simultaneously so having 
that extra thread on the single core that PR/SM gave it could be useful. 

Another, less significant, consideration is capacity planning. Because 
performance and zIIP consumption is so variable with SMT enabled and because 
the workloads' zIIP consumption in the SMF 30 and SMF 72 records are recorded 
as an estimate of what they would have consumed if SMT was not enabled, 
accurate zIIP capacity planning (especially at the workload level) is pretty 
much impossible with SMT enabled. But this is of relatively little concern if 
your zIIP capacity planning is "we'll buy more when we start to see problems... 
or when we do the next upgrade". Which, to be fair, most customers are in that 
situation: they don't do any real detailed planning for zIIP capacity.

Scott Chapman

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to