OTS - Output Transformation Server - Change core bindings

Output Transformation Server - Can the core binding be configured manually?


Applies to

  • Output Transformation Server 20.4

 

Summary

In Output Transformation Server, can the core binding be configured manually?

 

Resolution

Yes, the core binding can be configured manually in the Output Transformation Server following the steps below.

Setting up Core Binding

On machines running Windows, licenses for the product check the number of cores on your machine because there is a maximum number of cores that can be used to process jobs, which varies depending on your license type. If there is a discrepancy between the number of cores, the application will not allow you to execute any jobs. When upgrading hardware, you may encounter a situation where the new machine is more powerful than the previous one, resulting in a mismatch between the number of cores you are licensed for and the number of cores in your machine. In these circumstances, you must set processor affinity to run jobs with only a subset of available cores.

There are two ways of setting core binding and each method is illustrated using the same example of binding to cores 0 and 4 on an 8-core machine.

Within Output Transformation Designer

When deploying a new license to Output Transformation Designer, the product checks the number of cores on the machine and verifies how many cores the license allows. If the license only permits fewer cores than what is on the machine, the Processor Affinity dialog box appears where you are shown the number of cores you are licensed for and you must choose which cores you want to bind to.

Figure 2-1: Processor Affinity dialog box with CPUs 0 and 4 selected

Modifying the setAffinity Properties File

Navigate to the <OTS_home>\settings\ directory and open the setAffinity.bat file for editing in your preferred text editor. Then, calculate the sum from the values that correspond to the cores to use on your machine according to the table and convert it to a hex value.

Table 2-1:

Processor/Core ID

Value

Processor/Core ID

Value

CPU 0

1

CPU 1

2

CPU 2

4

CPU 3

8

CPU 4

16

CPU 5

32

CPU 6

64

CPU 7

128

For example, if you want to bind to CPU 0 and CPU 4 you must add their values together (1 + 16) and with then convert the sum (17) to a hexadecimal value, which is 11 (hex calculators can be found online to perform the conversion). Use this final value in the setAffinity.bat file:

set OTS_AFFINITY=11

CASO Knowledge Base