Predicting job duration using AI-based algorithms

A powerful analytical tool for the prediction of estimated job durations - in addition to the one provided by the logman command - is available through the deployment of the agent docker container. In addition to using Artificial Intelligence (AI) algorithms to predict the job duration, it also uses machine learning to train the tool to adjust predictions comparing previously predicted durations with actual durations. This tool does not employ specific time series to calculate the estimated job durations, as logman does. On the contrary, it uses a very sophisticated algorithm that considers the previous 50 job runs of a job instance to forecast the estimated durations for the next 7 job runs. The forecasts are precise to the very second thanks to the job duration trainer that trains jobs and updates the job duration data enabling the job predictor to perfect its predictions.

Whereas logman is tailored to provide accurate estimates when the workload is subject to periodical shifts, the job duration predictor system is ideal in case of more complex patterns. For example, the job can be particularly useful to see beyond the accepted impacts of already known cyclic events, and understand what apparently hidden conflicts can affect the duration of a job. It can be effective to measure and forecast the durations of jobs along a critical path that occasionally does not meet its deadline.

The logman command logs job statistics from a production plan log file. By default, the statistics are logged automatically for all the jobs in the plan. On the contrary, the job duration predictor processes only the jobs that you previously flagged for this purpose.

Using the job duration predictor system

To use the job duration predictor system on selected jobs to have a 7-run forecast of their estimated duration, follow these steps:
  1. Create an engine connection between server and dynamic agent; the latter must be a specific agent that contains the machine learning and runs on Docker. For more information, see Deploying containers with Docker.
  2. Once the agent is started, launch the following command:
    docker exec wa-agent sed -i '/"outputWindow"/s/: .*/: 7/' /opt/JDP/config.json
  3. Add the workstation on which the dynamic agent runs.
  4. Select the jobs that you want to be measured by the job predictor.
  5. Import and configure the job stream, the job training instance and the job prediction instance.
  6. Schedule the time when the job predictor and the job trainer must run.