Browse Prior Art Database

Hash Class Retention Scheme to Exploit Intra-Transaction and Inter-Transaction Locality for Multi-System Data Sharing

IP.com Disclosure Number: IPCOM000038900D
Original Publication Date: 1987-Mar-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 3 page(s) / 17K

Publishing Venue

IBM

Related People

Dias, DM: AUTHOR [+3]

Abstract

In IMS (Information Management System) hierarchical locking, hash class retention (explained below) can exploit the locality of hash class use by a system in a multi-system data-sharing environment. If a large number of systems are coupled using the pass-the-buck distributed locking protocol, then the penalty for unsuccessful hash class retention is greater than the savings due to successful retention. A scheme that improves performance by performing selective hash class retention and adaptively adjusting the retention period is presented. Hierarchical locking: The idea behind hierarchical locking is to grant locks to sets of items to a system so that it may grant locks within this set to transactions running on this system without communicating with other systems.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 34% of the total text.

Page 1 of 3

Hash Class Retention Scheme to Exploit Intra-Transaction and Inter- Transaction Locality for Multi-System Data Sharing

In IMS (Information Management System) hierarchical locking, hash class retention (explained below) can exploit the locality of hash class use by a system in a multi-system data-sharing environment. If a large number of systems are coupled using the pass-the-buck distributed locking protocol, then the penalty for unsuccessful hash class retention is greater than the savings due to successful retention. A scheme that improves performance by performing selective hash class retention and adaptively adjusting the retention period is presented. Hierarchical locking: The idea behind hierarchical locking is to grant locks to sets of items to a system so that it may grant locks within this set to transactions running on this system without communicating with other systems. IMS Hash classes: In order to reduce communication overhead, and to reduce the average response time for a global lock request, a lock name hashing scheme is used by (two system data sharing) IMS: every lock name hashes to one of 16K hash classes. IMS uses a global hash table to track the states of each hash class. For each hash class, a hash table entry contains two interest bits, one for each system, with the following semantics: a system has interest in a hash class if it currently owns or is waiting for any locks in that hash class.

If we identify the two systems as system 1 and system 2, a hash class entry can have the following states: [0,0] neither system owns or is waiting for locks in this hash class; [1,0] only system 1 owns or is waiting for locks in this hash class;

[0,1] only system 2 owns or is waiting for locks in this hash class;

[1,1] both systems own or are waiting for locks in this hash class. Requests to change hash table entries are included in the buck each time the buck is sent and changed on each system as part of buck processing. The hash table entries are used as follows: (1) on system 1, if the lock name in a global lock request maps to a hash class with a [1,0] state, then the lock request can be granted immediately, and similarly for system 2 in the case of a [0,1] state,
(2) on either system, if the lock name maps to a hash class with a [0,0] state, then the lock request can be granted immediately after the buck is sent and acknowledged by the other system, i.e., it is not necessary to wait for the buck to be sent back before granting the request, and (3) on system 1, if the lock name maps to a hash class in state [0,1] or [1,1], system 1 must send out the request with the buck, wait until the buck returns, and determine that the lock is not in conflict with system 2, before granting it. Although today's IMS is designed to support up to eight systems using eight interest bits, for simplicity here we will use the following notation for the general n-system case. [0,0] no system owns or is waiting for lock in this hash class;...