Optimize Performance of Multi-Thread Processes

The automatic multi-thread feature optimizes the performance of multi-thread processes, such as the Calculate Payroll process, by automatically identifying and assigning the correct number of threads and chunk size to the process.

The automatic multi-thread feature supports all multi-thread payroll processes such as Calculate Payroll and Make EFT Payments. It also supports predefined HCM Extracts such as the Gross-to-Net report and user-defined extracts including copied extracts.

Maximum Number of Threads

By default a payroll process executes in single-threaded mode. Use the Maximum Number of Threads action parameter to enable the automatic multi-threading and chunk size feature. This parameter indicates the maximum, total number of sub-processes dynamically created for a process.

The application automatically assigns the optimum number of threads and generates multiple secondary sub-processes that are executed in parallel to optimize performance.

Here’s a list of features supported by the automatic, multi-threading parameter:
  • The number of threads is automatically determined based on the Maximum Number of Threads parameter plus the complexity of the process. For example, the Calculate Payroll process is a very complex process and hence the number of employees that can be calculated in each chunk should be lower than less complex calculations such as retry or prepayments. As a result, the number of threads automatically assigned to the Calculate Payroll process is higher than the number of threads used when retrying a process.

  • The number of threads used doesn’t exceed the maximum number defined on the Threads action parameter. Complex processes such as the Calculate Payroll process may use the maximum number of threads you define.

  • The maximum thread setting applies to all your payrolls such as weekly and semimonthly. The total number of employees processed in each payroll can vary. The automatic multi-thread solution dynamically reduces the number of threads used for smaller payroll to ensure more resources are available for any other processes that can be run in parallel.
  • Check the log file to view the number of threads used by the process. Enable logging to view the log file for the process.

Enable the Automatic, Multi-Thread Process

Use the Payroll Process Configuration task and edit the default process configuration group for the process:

  • Remove the Threads action parameter. This determines the total number of sub-processes that run under the concurrent manager.
  • Remove the Chunk Size action parameter. This is the number of relationship actions that should process together in chunks during the main processing phase.
  • Add the Maximum Number of Threads action parameter. This parameter indicates the maximum, total number of sub-processes dynamically created for a process. The default value is '20' and you must specify the maximum number of threads. This action parameter enables the automatic multi-thread and chunk size feature.
    Note: The value you enter in the new Maximum Number of Threads field must be the same as that given in the Threads field. For example, if ‘25’ was defined in the Threads field, you should enter ‘25’ in the new Maximum Number of Threads field.
  • The Threads field determines the total number of sub-processes that run under the concurrent manager, and the new Maximum Number of Threads parameter indicates the maximum, total number of sub-processes dynamically created for the process action parameter.