Products Downloads


French version


 

To avoid having to associate a management process with each of the job manager execution units, it keeps a "pool" of processes of configurable size.

When an execution unit must run a job in DLL mode, it asks the pool a DLL management process. The pool sends it a free process if any, or creates one if needed. At a given moment, there may be more host processes than the number that are configured for the pool if this is required for processing.

When the job has finished running, the execution unit restores the host process to the pool. This then stores the process for subsequent use if it is not full, or terminates the process if the maximum number of processes has been reached.

The host process stores the last DLL executed in memory to improve loading speed even more. The pool is also informed of the DLL used in a specific process, which enables it to select the appropriate process to run.

The job manager is able to detect functional errors with a host process (abnormal process stoppage). Furthermore, it is possible to complete a DLL-type job in the same way as an EXE (with the job manager terminating the relevant host process).

 

Specifics:

The processes in the pool are not pre-allocated, they are created according to the requirements and stored according to the specified pool management parameters.

Pool management is automatic, there is no configuration interface available; however it is still possible to configure it by adding two parameters to the .ini file (not recommended):

 

  • PoolSizeMin is the minimum size of the pool (by default, the number of queues in the job manager).

    If at a given moment DLL2.DLL is run and no pool process has already loaded it, two situations arise:
  • the minimum pool size is not reached and a new process is created;
  • the minimum pool size is reached. In this case an existing process is reused and its DLL is unloaded.

 

  •   If the DLL has already been pre-loaded into one of the pool processes, regardless of the value of PoolSizeMin, this process is reused for the execution.

 

  • PoolSizeMax is the maximum number of processes to hold in reserve (not limited by default: the sum from 1 to n of parallels in queues).

    If at a given moment more processes than this maximum are required, they will be allocated, but only PoolSizeMax processes will be held in reserve.

Top of page


  • Aucune étiquette