Job Allocation Algorithm

The description of the algorithm for job allocation

If more than one service of the same technology type and priority exists, including in different locations, Oracle Life Sciences Data Hub allocates each job using the following algorithm:

  • Oracle LSH allocates the job to the service of the correct type and priority that has been least recently used, if the least-recently-used location has an available service instance.
  • If there are no available service instances, Oracle LSH checks jobs currently using the appropriate service instances on the least-recently-used service and determines whether the jobs are active. If a job is not active, Oracle LSH sets its status to Failed and allocates the new job to the service instance. If all the jobs are active, Oracle LSH checks the next-least-recently-used service, and so on until all services of the correct technology type and priority have been checked. If all services are unavailable, Oracle LSH waits for a configurable interval and then checks the job activity again.

Oracle LSH uses the following algorithm to determine which available service instance to use if a service instance of the priority requested for a particular job is not available:

  • If a high-priority service is requested but not available, run a normal-priority service; if a normal-priority service is not available, run a low-priority service.
  • If a normal-priority service is requested but not available, run a low-priority service; if a low-priority service is not available, run a high-priority service.
  • If a low-priority service is requested but not available, run a normal-priority service; if a normal-priority service is not available, run a high-priority service.