Runtime & work management · Intermediate

Subsystems, routing & memory pools

Understand workload admission, routing, memory, and operational isolation.

Learn this topic first: Jobs, CL and batch work management →

6 explained questions · 5 practice MCQs

Questions and answers

1. What is a subsystem? (Easy)

A subsystem is an operating environment that manages jobs and their use of resources according to its description. It can separate classes of work such as interactive sessions, batch jobs, and application servers.

A job queue supplies waiting work; it is not the subsystem itself. When designing a new batch workload, choose the intended subsystem, queue attachment, concurrency limits, and execution profile together. Adding a queue alone does not create an execution environment.

2. What do routing entries and routing data do? (Intermediate)

Routing data is compared with subsystem routing entries to select a routing step. The selected entry identifies how execution begins and which class and pool configuration are used. A familiar command-processing route is only one possible setup.

If a job enters an unexpected runtime path, inspect the effective routing data and matching entry. Copying a job description from another application can import routing assumptions that are inappropriate for the new workload.

3. What is a memory pool? (Intermediate)

A memory pool is an allocation of main storage used by jobs or work within the system. Shared and private pools allow workload resource organization. Activity levels influence eligible execution and can affect waiting and faulting behavior.

Memory-pool tuning is a measured system decision. Observe faulting rates, CPU utilization, job waits, and workload peaks before adjusting settings. More active jobs can reduce throughput if the working sets no longer fit and contention increases.

4. Why might an active job consume little CPU? (Intermediate)

Active means admitted to execution, not continuously executing instructions. The job may wait for a database lock, message reply, timer, communications response, or I/O. Low CPU with high elapsed time often points toward waiting rather than compute demand.

Inspect job status, call stack, and wait evidence. Correlate with external-system timing and database activity. Raising priority cannot resolve a missing operator reply or a lock held by another transaction.

5. How would you isolate a new high-volume batch workload? (Advanced)

Create a controlled execution path with an appropriate queue, subsystem configuration, dedicated or shared pool decision, and bounded concurrency. Define service profiles, logging, scheduling, and operational ownership before production rollout.

Run a representative load test alongside existing work. Monitor latency of interactive services as well as batch throughput. Isolation helps manage resource contention, but it does not remove shared database locks, storage pressure, or dependencies on other applications.

6. Why is increasing MAXACT not always a performance fix? (Advanced)

A maximum-active limit controls admission. Raising it may reduce queue wait but increase simultaneous lock contention, disk I/O, memory pressure, or external API demand. The result can be more active jobs with less completed work.

Measure queue delay separately from execution duration. Increase concurrency gradually and compare throughput, tail latency, faults, and failure rates. If the workload is serialized by a shared hot record, fix that design before admitting more contenders.

Practice checkpoint

  1. 1. Which object/environment manages running jobs?
    1. Subsystem
    2. Output queue alone
    3. Source member
    4. SQL view
  2. 2. Routing entries use which input to select a path?
    1. Only source indentation
    2. Routing data
    3. The report title
    4. The screen color
  3. 3. Low CPU and high elapsed time suggest checking:
    1. Only arithmetic opcodes
    2. Only compile duration
    3. Waits and external dependencies
    4. Only source line count
  4. 4. Can raising MAXACT reduce throughput?
    1. No, more jobs always means more throughput
    2. Only for empty queues
    3. Only when SQL is absent
    4. Yes, by increasing contention
  5. 5. Does a separate subsystem eliminate shared record locks?
    1. No
    2. Yes, every file is copied
    3. Only for RPG
    4. Only for batch
Show answer key and explanations

1. A — Subsystem Subsystems manage jobs; queues supply work or output.

2. B — Routing data Routing data matches subsystem entries that define the routing step.

3. C — Waits and external dependencies A job may spend time blocked rather than computing.

4. D — Yes, by increasing contention Admission must fit resource and dependency capacity.

5. A — No Subsystem separation does not create independent copies of shared database rows.

IBM documentation and further reading