Coupling Facility
Encyclopedia
In IBM
mainframe computer
s, a Coupling Facility or CF is a piece of computer hardware
which allows multiple processors to access the same data.
A Parallel Sysplex
relies on one or more Coupling Facilities (CFs). A coupling facility is a mainframe processor (runs in an own LPAR, with dedicated physical CP, defined thru HMC), with memory and special channels (CF Links), and a specialised operating system called Coupling Facility Control Code (CFCC). It has no I/O devices, other than the CF links. The information in the CF resides entirely in memory as CFCC is not a virtual memory
operating system. A CF typically has a large memory - of the order of several gigabytes. In principle any IBM mainframe can serve as a coupling facility. The CF runs no application software.
When originally introduced, the CFCC executed in a separate mainframe unit that was essentially a processor without I/O facilities other than the CF links. Later IBM enabled the use of an Internal Coupling Facility where the CFCC runs in an logical partition ( LPAR
) defined in standard processor complex and communicates over internal links within that processor complex hardware. Links to another processor unit are over copper cables. More than one CF is typically configured in a Sysplex cluster for reliability and availability. Recovery support in the z/OS
operating system allows structures to be rebuilt in the alternate CF in the event of a failure.
Supported by CFs, a Sysplex cluster scales very well up to several hundreds of CPUs (in up to 32 members, each with up to 64 CPUs) running transaction and data base applications. Using the CF links, data can be directly exchanged between the CF memory and the memory of the attached systems, using a direct memory access
like mechanism, without interrupting a running program. Systems in a Sysplex cluster store CF information in local memory in an area called a bit vector. This enables them to locally query critical state information of other systems in the Sysplex without the need for issuing requests to the CF. The System z Architecture includes 18 special machine instructions and additional hardware features supporting CF operation.
These three purposes are catered for by three types of structure:
A structure is a dedicated portion of CF memory. It is said to be connected to by specific CF-exploiting applications on the coupled z/OS
systems. A typical Parallel Sysplex contains several structures of each type. Each software exploiter may use several structures of each type. For example each DB2
Data Sharing Group uses one Lock structure, one List structure and several cache structures (one for each Group Buffer Pool (GBP)).
Exploiting z/OS applications explicitly issue CF requests as synch or asynch.
Release 2, the "Dynamic Request Conversion" heuristic algorithm was introduced. This uses sampled response times to decide whether to convert Sync requests to Async or not. These decisions are based on such criteria as coupled processor speed. The greater the distance between the coupled z/OS
system and the CF the greater the likelihood requests will be converted to Async from Sync.
Async requests are never converted to Sync.
This heuristic algorithm complements a previously-existing algorithm that automatically (but not heuristically) converted requests, based on conditions such as path busy and on request data size. The difference is the new algorithm samples response times dynamically.
CFs are unique to S/390, zSeries and System z mainframes. They are key to Parallel Sysplex technology.
and perhaps new function in some subsystem (such as DB2
). One such example is Coupling Facility Structure Duplexing. (Sometimes support from the operating system and subsystems is available via PTFs rather than a full release.)
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
mainframe computer
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s, a Coupling Facility or CF is a piece of computer hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
which allows multiple processors to access the same data.
A Parallel Sysplex
IBM Parallel Sysplex
In computing, a Parallel Sysplex is a cluster of IBM mainframes acting together as a single system image with z/OS. Used for disaster recovery, Parallel Sysplex combines data sharing and parallel computing to allow a cluster of up to 32 systems to share a workload for high performance and high...
relies on one or more Coupling Facilities (CFs). A coupling facility is a mainframe processor (runs in an own LPAR, with dedicated physical CP, defined thru HMC), with memory and special channels (CF Links), and a specialised operating system called Coupling Facility Control Code (CFCC). It has no I/O devices, other than the CF links. The information in the CF resides entirely in memory as CFCC is not a virtual memory
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
operating system. A CF typically has a large memory - of the order of several gigabytes. In principle any IBM mainframe can serve as a coupling facility. The CF runs no application software.
When originally introduced, the CFCC executed in a separate mainframe unit that was essentially a processor without I/O facilities other than the CF links. Later IBM enabled the use of an Internal Coupling Facility where the CFCC runs in an logical partition ( LPAR
LPAR
A logical partition, commonly called an LPAR, is a subset of computer's hardware resources, virtualized as a separate computer. In effect, a physical machine can be partitioned into multiple logical partitions, each hosting a separate operating system....
) defined in standard processor complex and communicates over internal links within that processor complex hardware. Links to another processor unit are over copper cables. More than one CF is typically configured in a Sysplex cluster for reliability and availability. Recovery support in the z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
operating system allows structures to be rebuilt in the alternate CF in the event of a failure.
Supported by CFs, a Sysplex cluster scales very well up to several hundreds of CPUs (in up to 32 members, each with up to 64 CPUs) running transaction and data base applications. Using the CF links, data can be directly exchanged between the CF memory and the memory of the attached systems, using a direct memory access
Direct memory access
Direct memory access is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit ....
like mechanism, without interrupting a running program. Systems in a Sysplex cluster store CF information in local memory in an area called a bit vector. This enables them to locally query critical state information of other systems in the Sysplex without the need for issuing requests to the CF. The System z Architecture includes 18 special machine instructions and additional hardware features supporting CF operation.
Coupling Facility Structures
A CF is used for three purposes:- Locking information that is shared among all attached systems
- Cache information (such as for a data base) that is shared among all attached systems (or maintaining coherency between local buffer pools in each system).
- Data list information that is shared among all attached systems
These three purposes are catered for by three types of structure:
- Lock
- Cache
- List (and the variant Serialised List)
A structure is a dedicated portion of CF memory. It is said to be connected to by specific CF-exploiting applications on the coupled z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
systems. A typical Parallel Sysplex contains several structures of each type. Each software exploiter may use several structures of each type. For example each DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
Data Sharing Group uses one Lock structure, one List structure and several cache structures (one for each Group Buffer Pool (GBP)).
Structure Duplexing
Structures may be duplexed across different CFs, allowing two copies of the same structure to be kept synchronised. Duplexing is often used as part of an installation's drive to remove single points of failure, with the aim of reducing the incidence and duration of application outages. In the event of the failure of one CF, the other copy of the structure is used to satisfy all requests.Coupling Facility Requests
A request to a CF structure is of one of two kinds:- Synchronous (sync) requests. When a z/OSZ/OSz/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
system issues a request it waits for the request to complete, actively "spinning" on one of its own processors. Sync requests are quick but the response time is the same as the coupled system's "spinning" CPU loss. So Sync requests are relatively expensive in CPU terms - from the coupled system's perspective. - Asynchronous (async) requests. When a z/OSZ/OSz/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
system issues a request it doesn't wait for the request to complete. Async requests are slower than sync requests (as they have a lower priority in the CF) but don't lead to the coupled system's processor "spinning".
Exploiting z/OS applications explicitly issue CF requests as synch or asynch.
Dynamic Request Conversion
In z/OSZ/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
Release 2, the "Dynamic Request Conversion" heuristic algorithm was introduced. This uses sampled response times to decide whether to convert Sync requests to Async or not. These decisions are based on such criteria as coupled processor speed. The greater the distance between the coupled z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
system and the CF the greater the likelihood requests will be converted to Async from Sync.
Async requests are never converted to Sync.
This heuristic algorithm complements a previously-existing algorithm that automatically (but not heuristically) converted requests, based on conditions such as path busy and on request data size. The difference is the new algorithm samples response times dynamically.
CFs are unique to S/390, zSeries and System z mainframes. They are key to Parallel Sysplex technology.
Coupling Facility Levels and Exploiting Software Levels
The CFCC code is released as "Levels", usually denoted by their "CFLEVEL". For example, CFLEVEL 15 was announced in April 2007. Each level brings new function and sometimes improved performance. In most cases the new function or performance improvement requires a corequisite release of z/OSZ/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
and perhaps new function in some subsystem (such as DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
). One such example is Coupling Facility Structure Duplexing. (Sometimes support from the operating system and subsystems is available via PTFs rather than a full release.)