Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Synchronizing Sets of Interacting Processes

IP.com Disclosure Number: IPCOM000077127D
Original Publication Date: 1972-Jun-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Collier, WW: AUTHOR

Abstract

This method allows a set of processes to operate cyclically on a set of shared resources (e.g. I/O buffers). Each process is allowed to proceed at its own speed, subject only to the synchronization condition that it does not operate simultaneously on a resource with any member of the next (cyclic) subset of processes. With this method an RU (Resource Unit) is given to a next process as soon as the processes currently operating on it have completed their operations, and a process is allowed to advance to the next RU as soon as it becomes available. For obtaining maximum overlapping of processes cooperating in their use of a group of RU's, the CREATE and SYNC procedures are used.

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

Page 1 of 2

Synchronizing Sets of Interacting Processes

This method allows a set of processes to operate cyclically on a set of shared resources (e.g. I/O buffers). Each process is allowed to proceed at its own speed, subject only to the synchronization condition that it does not operate simultaneously on a resource with any member of the next (cyclic) subset of processes. With this method an RU (Resource Unit) is given to a next process as soon as the processes currently operating on it have completed their operations, and a process is allowed to advance to the next RU as soon as it becomes available. For obtaining maximum overlapping of processes cooperating in their use of a group of RU's, the CREATE and SYNC procedures are used.

The CREATE procedure initializes the set of N cooperating processes PROCNAMI for the use of the L RU's in the relative starting order V(I) through execution of the CREATE instruction:
CREATE(PROCNAMI,V(1),PROCNAM2,V(2),....,PROCNAMN,V(N),L). Control does not return to the mainline process which called the CREATE

The SYNC procedure is called by each of the N created processes, for synchronizing the use of the L resources, and it is entered whenever any process has released its active use of one of the RU's.

At the time the processes are initiated, the process with the smallest V value (e.g. equal to 1) is allowed to commence execution. The other cooperating processes may be considered to begin execution at the same time in a quiesced state. A process is allowed to continue if the next RU (e.g. next buffer) is available.

The RU on which process I is working, relative to other RU's on which other processes are working, is represented within the SYNC procedure by the integer M(I). If no RU is currently available to a process, the process is qu...