Content deleted Content added
Rank1cheng (talk | contribs) No edit summary |
Restructure (now fairly chronological), add some detail on the Linux clustering file systems. |
||
Line 1:
A '''distributed lock manager''' (DLM) provides distributed applications with a means to synchronize their accesses to shared resources.
▲Combining two or more computers into a [[computer cluster|cluster]] in which the machines can use each other's hard disks via a unified file system offers significant advantages for performance and [[high-availability|availability]]. DLMs have been used as the foundation for clustered file systems with considerable success by using cluster wide locks not only for [[file locking]] but also for coordination of all disk access. [[VMScluster]], the first clustering system to come into widespread use, relied on the [[OpenVMS]] DLM in just this way.
[[Google]] developed ''Chubby'' lock service for distributed systems. Chubby is used by other Google infrastructures like [[Google File System]], [[BigTable]], and [[MapReduce]] to synchronize accesses to shared resources.[http://labs.google.com/papers/chubby.html]▼
==VMS Implementation==
Line 84 ⟶ 78:
The OpenVMS DLM periodically checks for deadlock situations. In the example above, the second lock enqueue request of one of the processes would return with a deadlock status. It would then be up to this process to take action to resolve the deadlock — in this case by releasing the first lock it obtained.
Both [[Red Hat]] and [[Oracle Corporation|Oracle]] have developed clustering software for [[Linux]].
[[OCFS|OCFS2]], the Oracle Cluster File System[http://oss.oracle.com/projects/ocfs2/] was added[http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350] the official [[Linux kernel]] with version 2.6.16, in January 2006.
Red Hat's cluster software[http://sources.redhat.com/cluster/], including their DLM[http://sources.redhat.com/cluster/dlm/] was officially added to the Linux kernel[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c1afa3c053d4ccdf44e5a4e159005cdfd48bfc6] with version 2.6.19, in November 2006.
Both systems use a DLM modeled on the venerable [[OpenVMS|VMS]] DLM.[http://lwn.net/Articles/137278/] 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==
▲[[Google]] has developed ''Chubby'', lock service for loosely-coupled distributed systems.
==SSI Systems==
A DLM is also a key component of more ambitious [[Single-system image|single system image]] projects such as [[OpenSSI]].
▲==Linux Kernel==
==References==
|