Performance system values: Thread affinity

Specifies whether or not secondary threads will have affinity to the same group of processors and memory as the initial thread. (QTHDRSCAFN)

Thread affinity, also known as QTHDRSCAFN, is a member of the performance category of i5/OS™ system values. You can use this system value to specify whether secondary threads are grouped with the initial thread (thread level) or not. It also specifies the degree to which the system tries to maintain the affinity between threads and the subset of resources they are assigned to (level of affinity). To learn more, keep reading.

Quick reference
Location In iSeries™ Navigator, select your system, > Configuration and Service > System Values > Performance > Affinity
Special authority All object (*ALLOBJ) and security administrator (*SECADM).
Default value Thread affinity: Secondary threads do not use same processors and memory as initial thread. Level of affinity: Threads use any resource.
Changes take effect Immediately, but not for jobs already started.
Lockable No

What can I do with this system value?

Specifies whether secondary threads will have affinity to the same group of processors and memory as the initial thread or not. It also specifies the degree to which the system tries to maintain the affinity between threads and the subset of system resources they are assigned to.

A change to this system value takes effect immediately for all jobs that become active after the change, but only if they retrieve their affinity values from the system value. Jobs and threads that are currently active will continue to run with the affinity values they were started with. New jobs and threads that get their affinity values from jobs that are currently active, (for example, batch immediate jobs or secondary threads that inherit attributes from the initial thread), will continue to use the values stored in the initiating job or thread, rather than the current system value.

In addition, use the automatically adjust thread resources (QTHDRSCADJ) system value to distribute the use of system resources.

Thread affinity

Specifies whether or not secondary threads are grouped with the initial thread. Select one of the following:

Secondary threads use same processors and memory as initiating thread (*GROUP)
Indicates that secondary threads have a preference for the same group of processors and memory as the initial thread. Multi-threaded workloads that share data between the threads within a job may perform better when using this option.
Secondary threads do not use same processors and memory as initiating thread (*NOGROUP)
Indicates that secondary threads do not have a preference for the same group of processors and memory as the initial thread. Workloads that use the full processing power of a system may perform better when using this option.

Level of affinity

Specifies the degree to which the threads try to use the subset of system resources that they have a preference for. Select one of the following:

Threads only use resources they have affinity to (*HIGH)
Threads will only use the subset of system resources they have affinity to, and will wait until they become available.
Threads use any resource (*NORMAL)
Threads will use any processor or memory in the system if the resources they have affinity to are not readily available.

Where can I get more information about this system value?

To learn more, go to the performance system values overview topic. If you are looking for a specific system value or category of system values, try using the i5/OS system value finder.

Related concepts
System values: Performance overview
Performance system values: Automatically adjust thread resources
Related information
System value finder