Previous page

Next page

Multithreading

Payroll | Process Pay

Summary

PayGlobal 1.95 contains an enhanced version of process pay that allows processing to take advantage of additional CPUs where available. As a result, pay processing time is reduced by up to 90%, depending on your hardware and software configuration.

The enhanced pay processing engine has replaced the existing engine, and forms the basis for the complete regeneration of the PayGlobal application. This enhanced engine performs the same tasks as the earlier engine:

  • Generates employee transactions
  • Ensures that employees are taxed correctly
  • Processes employee leave:
    • Handles annual, long service and sick leave rollovers to a new leave period
    • Updates leave balances including leave credits
    • Pays out leave, including leave on termination.
  • Logs updates to employee-related attributes, such as summary accumulators and leave balances, that are carried out when you close the pay.
  • Carries out checks and balances to ensure that system and employee information is in the correct state for pay processing.
  • Handles errors and warnings generated during pay processing.

Optimise Performance

After you upgrade to PayGlobal 1.95, pay processing will automatically use one thread for each CPU in your machine. However, you can optimise the performance of multithreading by editing the settingsoverrides.config file.

The Perm folder in the PayGlobal company directory contains a settingsoverrides.config file with the following values:

  • defaultThreadCount

    The global setting for all user workstations that are not specified in the settingsoverrides.config file. The default setting is 1 thread per CPU, and PayGlobal will always use this setting if:

    • The Perm folder does not contain a settingsoverrides.config file

    - or -

    • You set up the settingsoverrides.config file with defaultThreadCount = "0".
  • threadCount

    You can set up the settingsoverrides.config file to give individual user machines specific a threadCount setting by adding the following type of information to the file:

    <machine name="{user workstation name}" threadCount="{number of threads to use}" />

    Example:

    <externalSettings>
    <payroll>
    <processPayThreadCount defaultThreadCount="1">
    <machine name="Sample_Workstation" threadCount="2" />
    <machine name="Sample_Laptop" threadCount="4" />
    </processPayThreadCount>
    </payroll>
    </externalSettings>

The thread count that PayGlobal used to process the pay is displayed in the top section of the process pay audit log.

You can use the following steps to find the optimal threads per CPU setting for your hardware configuration:

  • Run process pay with the default setting (1 thread per CPU), and time how long PayGlobal takes to complete the process.
  • In the settingsoverrides.config file, double the thread count value.
  • Run process pay on the same pay again and time the process.
  • Repeat these steps until you no longer get a gain in performance.

The lowest thread count value that results in the fastest process time is the optimum setting for your hardware configuration.