Distributed lock manager: Difference between revisions

Content deleted Content added
trim down the proper nouns
m clean up; http->https (see this RfC) using AWB
Line 68:
===Deadlock detection===
 
When one or more processes have obtained locks on resources, it is possible to produce a situation where each is preventing another from obtaining a lock, and none of them can proceed. This is known as a [[deadlock]] ([[E. W. Dijkstra]] originally called it a [[deadly embrace]]).<ref>{{cite book|page=105|url=httphttps://books.google.com/books?id=E6wOK8OYBG4C&pg=PA105|title=Ada: Concurrent Programming|isbn=9780929306087|author1=Gehani|first1=Narain|year=1991}}</ref>
 
A simple example is when Process 1 has obtained an exclusive lock on Resource A, and Process 2 has obtained an exclusive lock on Resource B. If Process 1 then tries to lock Resource B, it will have to wait for Process 2 to release it. But if Process 2 then tries to lock Resource A, both processes will wait forever for each other.
Line 82:
Red Hat's cluster software, including their DLM and [[GFS2]] was officially added to the Linux kernel <ref>[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c1afa3c053d4ccdf44e5a4e159005cdfd48bfc6 kernel/git/torvalds/linux.git - Linux kernel source tree]. Git.kernel.org (2006-12-07). Retrieved on 2013-09-18.</ref> with version 2.6.19, in November 2006.
 
Both systems use a DLM modeled on the venerable VMS DLM.<ref>[httphttps://lwn.net/Articles/137278/ The OCFS2 filesystem]. Lwn.net (2005-05-24). Retrieved on 2013-09-18.</ref> Oracle's DLM has a simpler API. (the core function, <code>dlmlock()</code>, has eight parameters, whereas the VMS <small><code>SYS$ENQ</code></small> service and Red Hat's <tt>dlm_lock</tt> both have 11.)
 
==Google's Chubby lock service==
Line 106:
{{Refbegin}}
*[http://h71000.www7.hp.com/doc/82FINAL/4527/4527pro_044.html#jun_227 HP OpenVMS Systems Services Reference Manual &ndash; $ENQ]
*[httphttps://github.com/chadrem/officer Officer - A simple distributed lock manager written in Ruby]
*[http://sourceforge.net/projects/flom/ FLoM - A free open source distributed lock manager that can be used to synchronize shell commands, scripts and custom developed C, C++, Java, PHP and Python software]
{{Refend}}