Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

The Granularity of Waiting (Extended Abstract)

Summary: The Granularity of Waiting
(Extended Abstract)
James H. Anderson \Lambda Jae­Heon Yang \Lambda Mohamed G. Gouda y
April 1992
We examine the ``granularity'' of statements of the form ``await B ! S'', where B is a boolean
expression over program variables and S is a multiple­assignment. We consider two classes of such
statements to have the same granularity iff any statement of one class can be implemented without
busy­waiting by using statements of the other class. Two key results are presented. First, we show
that statements of the form ``await B ! S'' can be implemented without busy­waiting by using
simpler statements of the form ``await X '', ``X := y'', and ``y := X'', where y is a private boolean
variable and X is a shared singler­reader, multi­writer boolean variable. Second, we show that if
busy­waiting is not allowed, then there is no general mechanism for implementing statements of the
form ``await B'', where B is an N­writer expression, using only assignment statements and state­
ments of the form ``await C '', where C is an (N \Gamma 1)­writer expression. It follows from these results
that the granularity of waiting depends primarily on the number of processes that may write each
program variable. These results also show that, from a computational standpoint, operations that
combine both waiting and assignment, such as the P semaphore primitive, are not fundamental.
Keywords: Atomicity, busy­waiting, conditional mutual exclusion, idle­waiting, implementations,
linearizability, mutual exclusion, shared data, synchronization primitives.


Source: Anderson, James - Department of Computer Science, University of North Carolina at Chapel Hill


Collections: Computer Technologies and Information Sciences