Xref: utzoo comp.lang.c:10528 comp.arch:5057
Path: utzoo!attcan!uunet!husc6!bbn!mit-eddie!ll-xn!ames!lll-tis!lll-winken!lll-crg.llnl.gov!brooks
From: brooks@lll-crg.llnl.gov (Eugene D. Brooks III)
Newsgroups: comp.lang.c,comp.arch
Subject: Re: volatile (in comp.lang.c)
Message-ID: <8061@lll-winken.llnl.gov>
Date: 1 Jun 88 18:04:11 GMT
References: <20345@pyramid.pyramid.com> <833@mcdsun.UUCP> <1988May23.003847.1114@utzoo.uucp> <21821@amdcad.AMD.COM> <206@gannet.cl.cam.ac.uk>
Sender: usenet@lll-winken.llnl.gov
Reply-To: brooks@lll-crg.llnl.gov.UUCP (Eugene D. Brooks III)
Organization: Lawrence Livermore National Laboratory
Lines: 15

In article <206@gannet.cl.cam.ac.uk> scc@cl.cam.ac.uk (Stephen Crawley) writes:
>A more recent solution to the mutual exclusion is NOT expensive for multiple
>processors:
>
>  "A Fast Mutual Exclusion Algortithm"
>  Leslie Lamport, Nov 14 1985.
>  Report #5, DEC Systems Research Centre
>
I have coded Lamports algorithm on the Sequent Balance and it actually
beat the performance of their ALM hardware that lives on the Multibus.
Lamports algorithm is a good practical algorithm for machines that
done have test_and_set support which runs at the same speed as main
memory.  If a collision for the lock occurs the algorithm is order
Nprocessors in time, which is why you do want test and set hardware
support.  Lamport's paper is very recommended reading for those interested
in shared memory multiprocessing.