Setting IMS options for threads

The IMS attachment facility provides a number of design options for threads.

Procedure

You can use the following IMS options for threads:

  • Control the number of IMS regions connected to Db2. For IMS, this is also the maximum number of concurrent threads.
  • A dependent region with a subsystem member (SSM) that is not empty is connected to Db2 at start up time. Regions with a null SSM cannot create a thread to Db2. A thread to Db2 is created at the first execution of an SQL statement in an IMS application schedule; it is terminated when the application terminates.

    The maximum number of concurrent threads used by IMS can be controlled by the number of IMS regions that can connect to Db2 by transaction class assignments. You can control the number by doing the following:

    • Minimize the number of regions needing a thread by the way in which you assign applications to regions.
    • Provide an empty SSM member for regions that does not connect to Db2.
  • Optimize the number of concurrent threads used by IMS.
  • Provide efficient thread reuse for high volume transactions.

    Thread creation and termination is a significant cost in IMS transactions. IMS transactions identified as wait for input (WFI) can reuse threads: they create a thread at the first execution of an SQL statement and reuse it until the region is terminated. In general, though, use WFI only for transactions that reach a region utilization of at least 75%.

    Some degree of thread reuse can also be achieved with IMS class scheduling, queuing, and a PROCLIM count greater than one. IMS Fast Path (IFP) dependent regions always reuse the Db2 thread.