Global Resource Serialization


Global Resource Serialization is the component within the IBM z/OS operating system responsible for enabling fair access to serially reusable computing resources, such as datasets and tape drives or virtual resources, such as lists, queues, and control blocks. Programs can request exclusive access to a resource, usually requested when a program needs to update the resource or shared access, usually requested when a program only needs to query the state of the resource. GRS manages all requests in FIFO order.

Scoping

GRS manages resources at three different levels of scoping:
  1. STEP - this level is for resources that exist within a single MVS address space. Only threads within that address space can request access to the resource.
  2. SYSTEM - this level is for resources that exist within a single MVS instance. Any thread running on the system can request access to the resource.
  3. SYSTEMS - also known as GLOBAL, these resources are accessible by multiple MVS instances. Any thread running on a system in the GRS complex can request access to the resource.

    Clustering

In order for GRS to serialize resources between multiple systems, the systems must be clustered. There are several options to enable this clustering:
licenses a product called "Multi-Image Manager" which contains a component called "Multi-Image Integrity" which can be used to implement similar functions to GRS.