Search results
Results from the WOW.Com Content Network
Lamport's bakery algorithm is a computer algorithm devised by computer scientist Leslie Lamport, as part of his long study of the formal correctness of concurrent systems, which is intended to improve the safety in the usage of shared resources among multiple threads by means of mutual exclusion.
the Paxos algorithm for consensus, the bakery algorithm for mutual exclusion of multiple threads in a computer system that require the same resources at the same time, the Chandy–Lamport algorithm for the determination of consistent global states (snapshot), and; the Lamport signature, one of the prototypes of the digital signature.
Lamport's bakery algorithm uses a similar concept of a "ticket" or "counter" but does not make the use of atomic hardware operations. It was designed for fault tolerance rather than performance. Rather than all processors continuously examining the release counter, the bakery lock spins on examining the tickets of its peers. [3]
This algorithm has several disadvantages. They are: It is very unreliable as failure of any one of the processes will halt progress. It has a high message complexity of 3(N − 1) messages per entry/exit into the critical section.
Dekker's algorithm; Peterson's algorithm; Lamport's bakery algorithm [7] SzymaĆski's algorithm; Taubenfeld's black-white bakery algorithm [2] Maekawa's algorithm; These algorithms do not work if out-of-order execution is used on the platform that executes them. Programmers have to specify strict ordering on the memory operations within a thread.
Main page; Contents; Current events; Random article; About Wikipedia; Contact us
Discover the best free online games at AOL.com - Play board, card, casino, puzzle and many more online games while chatting with others in real-time.
Deadlock prevention techniques and algorithms Name Coffman conditions Description Banker's algorithm: Mutual exclusion: The Banker's algorithm is a resource allocation and deadlock avoidance algorithm developed by Edsger Dijkstra. Preventing recursive locks: Mutual exclusion: This prevents a single thread from entering the same lock more than once.