Initializing help system before first use

Scenario Execution and Job Scheduling

When scenario execution is initiated, the scenario is locked to prevent further changes to its data, and a job is created. The job descriptor includes the execution mode that was requested when execution was initiated. The job is added to the job queue and is visible on the JOBS page of the user interface.

Insight can execute jobs on one or more execution workers. The choice of worker or workers depends on the execution mode of the job and how that execution mode has been mapped to the available workers.

An execution mode is mapped to an execution service. An execution service is configured to group one or more workers for a common purpose. When a job is executed, mappings of execution modes to execution services and of execution services to workers are resolved to the possible workers that can run the job.

Insight applies job, thread count, and memory-based capacity scheduling based on the following rules:
  • Each worker is configured with a limit on the number of concurrent jobs it can execute, as well as the total number of CPU threads and the total amount of memory the jobs can consume.
  • Each execution service mapping also has configurable job, thread count, and memory limits, which can be used to assign a subset of a worker's capacity to the service.
  • The effective limit on job, thread count, and memory for a given service and worker is MIN (worker limit, execution service mapping limit).
  • Either or both of thread count and memory capacity can be set to unlimited for the worker and execution service mapping. For an execution service mapping, the job capacity can also be set to unlimited. If the limit on both worker and execution service mapping is set to unlimited for a resource, then the effective limit is unlimited.
  • Job count rule

    A job can only be scheduled on a worker if the current number of concurrent jobs executing is less than the effective limit.

  • Thread count rule

    If the resource group for the job's execution mode declares a thread count, then the job can only be scheduled on a worker where the specified number of threads are available. This means that the effective thread limit for the worker, minus the number of currently utilitized threads, must be greater than or equal to the value of the declared thread count for the resource group.

    An execution mode whose resource group does not declare a thread count is considered to consume 1 thread.

  • Memory rule

    If the resource group for the job's execution mode declares its memory usage, then the job can only be scheduled on a worker where the specified amount of memory is available. This means that the effective memory capacity for the worker, minus the amount of currently utilized memory, must be greater than or equal to the value of the declared memory requirement for the execution mode.

    If the execution mode's resource group does not specify its memory usage, then the job cannot be scheduled on a worker that is already running a job that does specify memory usage.

  • Worker selection
    Multiple execution workers can be mapped to an execution service. A job will be assigned to a worker where mapping and worker provide sufficient job and thread capacity. If multiple workers remain, the following rules are applied to select the preferred worker:
    1. (Cloud only) Online workers
    2. Mapping with unlimited-memory jobs
    3. Mapping with fewer unlimited-memory jobs
    4. Mapping with more unused memory
    5. Workers with fewer unlimited-memory jobs
    6. Workers with more unused memory
    7. Mapping with unlimited threads
    8. Mapping with more unused threads
    9. Workers with more unused threads
    10. Worker with name occurring earliest in alphabetical order
    If a suitable mapping is found, the job is assigned to that mapping and scheduled on that mapping's worker. Otherwise, it is queued on the Insight server until a mapping and worker become available.

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.