Because exclusive control
is by device, not by data set, consider
which data sets reside on the same volume. In this environment it
is quite possible for two tasks in two different systems -- processing
four different data sets on two shared volumes -- to become interlocked.
(If global resource serialization is active and RESERVEs are converted
to global ENQs, an interlock does not occur.) For example, as shown
in
Figure 1, data sets A and B reside on device
124, and data sets D and E reside on device 236. A task in system
1 reserves device 124 in order to use data set A; a task in system
2 reserves device 236 in order to use data set D. Now the task in
system 1 tries to reserve device 236 in order to use data set E and
the task in system 2 tries to reserve device 124 in order to use data
set B. Neither can ever regain control, and neither will complete
normally. When the system has job step time limits, the task, or tasks,
in the interlock will be abnormally terminated when the time limit
expires. Moreover, an interlock could mushroom, encompassing new tasks
as these tasks try to reserve the devices involved in the existing
interlock.
Figure 1. Example of an Interlock
Environment