Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Management of affinity task groups (TANGRAM)

&pagelevel(4)&pagelevel

The TANGRAM subsystem (task and group affinity management) plans the allocation of affinity task groups to CPUs on the basis of their performance requirements. For certain multitasking applications there are groups of tasks which often need write access to large amounts of shared data. These task groups are known as “affinity” task groups.
To reduce losses on multiprocessors due to co-hits in the CPU caches, it is best to restrict such task groups to a subset of CPUs.

Tasks groups are set up with the TINF macro (see the “Executive Macros” manual [30]). Management of the task groups is handled by the TANGBAS subsystem, which will have started automatically on “System ready”, regardless of whether or not the TANGRAM control function has been started.

The TANGRAM subsystem measures the utilization of the individual CPUs, the performance needs of the relevant task groups and of the other tasks, and specifies the respective CPUs permitted to initiate a task for each control interval.

The attachment of tasks to groups, their subsequent detachment and the allocation of processors to the individual groups can be logged with COSMOS hooks. COSMOS is an optional component of openSM2 and is available only via special release (see measurement programs in the “openSM2” manual [49]).

The performance gain that can be achieved with TANGRAM depends on the server (multiprocessor configuration, cache architecture), on the load profile (proportion and structuring of the TP applications) and on server utilization. The BS2000 TP products openUTM, UDS/SQL and SESAM/SQL create TANGRAM task groups. Multitasking applications should be checked to establish whether creating TANGRAM task groups leads to an improvement in performance.

The way in which TANGRAM works can be controlled by specifying parameters in parameter file SYSSSI.TANGRAM.<version>.
The defaults come into effect if any of the parameters cannot be found in the parameter file or if a parameter file is not available. In this latter case, the following console message is also displayed:
NTG0002 Warning: Opening of TANGRAM parameter file (&00) failed.
        DMS-Error-Code (&01). Processing continued with default parameters.

In order to change parameters, TANGRAM must be stopped and restarted with the modified parameter file. Throughout this process all the tasks groups already created are retained.

The following parameters control the operation of TANGRAM. The parameters may appear in the parameter file in any order, but each parameter must appear in a separate line.


PERIOD=<integer 1..100>

Determines the interval (in seconds) between two consecutive runs of the periodic TANGRAM routines. Default: 10 seconds


CLEARENCE=<integer 0..100>

Provides a percentage value for calculating the maximum CPU load of a task group. The load is calculated as follows: load = (1-value). Default: 20 %, i.e. no CPU should be more than 80 % occupied by a single task group.


THRESHOLD=<integer 0..100>

Determines the overall utilization threshold on all CPUs at which a task group actively takes part in the process of processor allocation by TANGRAM. Default: 10 %