[comp.os.research] Distributed Semaphores

jacob@ponder.csci.unt.edu (Tom Jacob) (11/29/90)

I am interesting in references to implementing semaphores with messages in
non-shared-memory systems.  All pointers to published papers would be greatly
appreciated.

Tom Jacob
Department of Computer Science
University of North Texas

jacob@ponder.csci.unt.edu

bakken@cs.arizona.edu (Dave Bakken) (12/01/90)

In article <9510@darkstar.ucsc.edu> jacob@ponder.csci.unt.edu (Tom Jacob) writes:
>I am interesting in references to implementing semaphores with messages in
>non-shared-memory systems.  All pointers to published papers would be greatly
>appreciated.

See 
	Schneider, F.B., ``Synchronization in Distributed Programs,''
	ACM TOPLAS 4:2 (April 1982), pages 125-148.

-- 
Dave Bakken, bakken@cs.arizona.edu, uunet!arizona!bakken, +1 602 621 4976
``Not every adult will feel comfortable seeking personal finance information
from the toy where the Super Mario Brothers live.''  Wall Street Journal,
on Nintendo's plans to network game machines and then sell other services.

ken@gvax.cs.cornell.edu (Ken Birman) (12/03/90)

In article <9510@darkstar.ucsc.edu> jacob@ponder.csci.unt.edu (Tom Jacob) writes:
>I am interesting in references to implementing semaphores with messages in
>non-shared-memory systems.  All pointers to published papers would be greatly
>appreciated.


The implementation issues are discussed in several places, including the
ISIS manual, where this is used as an example in Chapter 11 (Synchronization
Facilities) on pages 209-217.

Other references:

    F. Schmuck.  The use of efficient broadcast primitives in asynchronous
                 distributed systems.  PhD dissertation, June 1989.  Available
                 from Cornell University (see below)
    K. Birman and T. Joseph.  Exploiting replication.  In Distributed Systems,
                 Sape. Mullender ed., Addison Wesley/ACM Press Book Series,
                 1989.

Actually, we have other, earlier publications that are based on the same idea,
but unless you are looking for the "first published paper" on the subject,
I think these two are the clearest.

The P/V semaphore interface is not actually used in ISIS; instead, we use
distributed "token passing", which is more evocative of what is going on.
But, you could present the algorithm as general semaphores without any
changes.  Under the surface, we use the ISIS cbcast primitive for token
request (P() operations) and for token passing (V operations), and also
for data updates done when holding the token ("distributed operations
performed within the critical section").

Tommy Joseph's thesis and an earlier TOCS publication on distributed management
of replicated data contained some of the same ideas, but used in a setting
with transactions and locks.

Hope this is useful.  You can request copies of these and any other ISIS
references from Maureen Robinson: reen@cs.cornell.edu.

Ken Birman

bdf@rex.cs.tulane.edu (Brett Fleisch) (12/06/90)

%A Brett D. Fleisch
%T Distributed System V IPC in LOCUS: A Design and Implementation Retrospective
%B Proceedings ACM SIGCOMM 86 Symposium Communications Architectures and Protocols
%C Stowe, Vermont
%D August 5-7 1986
%P 386-396
%L FLEISCH86
%K IPC
%K mesage-passing
%K LOCUS
%K UNIX
%K semaphores
%K synchronization

gideony@microsoft.UUCP (Gideon YUVAL) (12/09/90)

Digital Technical Journal had a VAXcluster issue, with an article on
lock-management. VAXclusters have no shared memory.

-- 
Gideon Yuval, gideony@microsof.UUCP, 206-882-8080 (fax:206-883-8101;TWX:160520)