Browse Prior Art Database

Technique for Nondisruptive Quiesce and Replace of Procedures

IP.com Disclosure Number: IPCOM000084510D
Original Publication Date: 1975-Nov-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 4 page(s) / 18K

Publishing Venue

IBM

Related People

Gilbert, DC: AUTHOR [+2]

Abstract

This technique uses the following terms with the stated definition: Procedure - A body of code.

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

Page 1 of 4

Technique for Nondisruptive Quiesce and Replace of Procedures

This technique uses the following terms with the stated definition: Procedure - A body of code.

Process - The fundamental unit of parallelism in a multiprogramming or MP system, which is formed by the instance of execution of a procedure. A process is a Last in/first out (LIFO) stack of activations formed when the procedure in execution activates another procedure by calling it. (It is assumed that the call operation goes through an indirection mechanism, so that addressability may be changed external to a procedure.) Activations are destroyed when the procedure making up the activation returns. A procedure executing as an activation of a process may give execution over to another procedure, without creating a new activation (and replacing its own activation) by transferring control to that procedure. (Transfer Control uses the same indirection mechanism that call does.)

Quiesce - To quiesce a procedure is to cause all processes which call that procedure to go into a wait state. The state of any process already executing the procedure at the time the quiesce is put into effect is not changed.

Lock - A process synchronization primitive which causes the requesting process to continue if the specified lock object can be locked as requested, and causes the requesting process to wait if the specified lock object is not lockable as requested, until it is lockable.

The form of the Lock primitive is: Lock (lock object, intent)

Where lock object is the item requested to be locked,

intent is the way in which the lock object is to be locked.

The object may be locked by many processes simultaneously

with the share intent, but only one process may hold the

lock object with exclusive intent. If the object is locked

share and a process is waiting exclusive, all subsequent

process that request the Lock will wait.

Unlock - A process synchronization primitive which negates the effect of a Lock primitive which has been issued by a given process. If the process which held the lock object held it exclusive, or was the last shareholder, the next process in the FIFO queue of waiting processes is given the lock object with its requested intent.

The form of the Unlock primitive is: Unlock (lock object)

Where lock object is the same as in the Lock primitive.

Described is how the quiesce operation can be performed when given the entities procedure and process as defined above, along with the primitive Lock and Unlock, and how the quiesce operation can replace a certain procedure with another procedure for all calls to the procedure after a certain time, without causing the abnormal termination of any process.

1

Page 2 of 4

The replace operation can be restated as late (execution time) binding of addressability to procedures, with one further feature: while the changeover from one procedure to another is taking place, only one will be allowed to be active; that is, no activations of the new (repla...