Grid Tuning

Developers often use manual and iterative processes to identify the optimal thread count for their IXM engine (or grid task type). This is a time-consuming approach if an IXM engine execution time spans hours. So to reduce this effort, the PLT Grid framework is enhanced to provide task-type tuning capability. This feature will help DEV/PSR team to identify optimal thread count for a task type.

As an example, let's imagine an IXM engine takes three hours to complete with five processing threads in an instance, and the DEV/PSR team wants to find optimal thread count in the instance so that throughput is maximum and CPU/memory usage is within the acceptable limit. The team will execute the complete run of the IXM engine with different thread counts. Let's say with 5, 10, and 15 threads. This will require approximately 8-9 (absolute) hours to finish all iterations and get the results.

With this feature, DEV/PSR team can execute a single run for the same IXM engine and can configure to dynamically add more threads (e.g. 5 threads) periodically (every 45 minutes). This feature will also capture metrics like CPU and Memory usage in percentage for each server (JVM) on which the tasks for the IXM engine are executed. By using this feature, the results can be achieved in approximately two to three hours for the same IXM engine.

Grid Tuning Menu

The Grid Tuning menu is available for the Value Chain (VC) Admin role in RTVN. It's available under Tools → Grid Tuning. 

Complete the following steps if you wish to add  the grid tuning menu for a role other than VC Admin:

  1. Add following entry in <RoleTypeUiConfig>.

    <WebActionGroupRef module="PLT" name="GridTuning"/>
  2. Provide permissions for the following action in MPT.

    Model LevelAction Names
    GridTuningProfile

    PLT.CreateProfile

    PLT.Save

    PLT.Start

    PLT.Stop

    GridTuningRun

    PLT.Create

    PLT.Stop

    This menu contains three web actions:

    1. New Grid Tuning Profile: a screen that allows the user to create a new grid tuning profile.

    2. Grid Tuning Profiles: a report that displays all grid tuning profiles in the instance. 

    3. Grid Tuning Run Report: a report that displays all executed tuning runs.

Grid Tuning Overview

  1. After creating the appropriate grid tuning profile for an IXM engine, start a run for that profile either from the detail page or from the Grid Tuning Profiles report.
  2. The above action will create a new grid tuning run which will available in the Grid Tuning Run report in the state Awaiting for tasks.
  3. Invoke the IXM engine which is to be profiled.
  4. After the tasks for the IXM engines are saved, ensure the state of the new grid tuning run is changed to Running in the report.
  5. You can open the Throughput Chart and Resource Utilization Chart while the run is in progress. These charts only display data for steps in which throughput is calculated, and steps that are in progress are ignored.

See the following sections for more detailed information:

Additional Notes

  1. Throughput is the number of successful tasks for which the attempted start and end time is between the start time of the step and the start of the next step or the run end time.
  2. Metric collection is only supported in Linux. Hence this feature can be effectively used on Linux.
  3. This feature uses an internal grid message. The messaging is used for starting required threads on all the grid nodes in the instance when the grid tuning run is started. By default, each grid node is polling for the message (in DB) every 30 seconds. Hence it's possible that metric collection for the grid tuning run may start after 30 seconds from the time the grid tuning run is moved to the Running state. If required, this interval can be reduced/changed by providing the following external reference:

    PLT.GridMsgListenerSleepIntervalInSecondsNumber value