Planning a scheduling algorithm

A scheduling algorithm determines how application programs are scheduled to handle the load on the queues.

The basic approach to controlling an online IMS system with loaded queues is to let the demand control the scheduling of programs into a reasonable number of message regions.

You specify a working set of application-dependent regions that can execute concurrently with the first parameter of the MAXREGN keyword on the IMSCTRL macro. The MTO can use the /START command to dynamically allocate other dependent regions. Up to 999 dependent regions (the maximum allowable number permitted by IMS) can be allocated. For a DBCTL environment, the MAXREGN keyword defines a working set of BMPs, JBPs, and CCTL region threads, or application programs, that can run concurrently. Other BMP and JBP regions can be dynamically started, up to the maximum allowable number, using the /START command. The DBCTL environment does not have any transactions, so information about transactions does not apply to DBCTL.

Scheduling algorithms in an IMSplex

IMS application programs are run either serially or in parallel and must be scheduled accordingly in an IMSplex.

  • Serial application programs can only run in one message region or batch message region at a time.
  • Parallel application programs can run concurrently in more than one message region or batch message region.

IMS users with an IMSplex with shared queues might want to prevent the concurrent scheduling of serial application programs. The IMS Resource Manager (RM) creates a serial program resource the first time a serial application program runs. If a second message later requires the same serial application program, RM attempts to create a second serial program resource structure. Because the program resource exists, the second recreation fails, and the second IMS cannot schedule the serial application program to run.

Users with an IMSplex and shared queues can prevent serial application programs from being scheduled concurrently.