Content deleted Content added
Add link for Redlock Algorithm |
There isn't enough "meat" for subsections |
||
Line 1:
{{refimprove|date=October 2010}}
[[Operating
DLMs have been used as the foundation for several successful [[clustered file system]]s, in which the machines in a [[computer cluster|cluster]] can use each other's storage via a unified [[file system]], with significant advantages for performance and [[high-availability|availability]]. The main performance benefit comes from solving the problem of [[cache coherency|disk cache coherency]] between participating computers. The DLM is used not only for [[file locking]] but also for coordination of all [[disk (storage device)|disk]] access. [[VMScluster]], the first clustering system to come into widespread use, relies on the [[OpenVMS]] DLM in just this way.
Line 83 ⟶ 84:
Both systems use a DLM modeled on the venerable VMS DLM.<ref>[https://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.)
==Other implementations==
==Google's Chubby lock service==▼
[[Google]] has developed ''Chubby'', a lock service for loosely coupled distributed systems.<ref name="chubby">[http://research.google.com/archive/chubby.html Google Research Publication: Chubby Distributed Lock Service]. Research.google.com. Retrieved on 2013-09-18.</ref> It is designed for coarse-grained locking and also provides a limited but reliable distributed file system. Key parts of Google's infrastructure, including [[Google File System]], [[Bigtable]], and [[MapReduce]], use Chubby to synchronize accesses to shared resources. Though Chubby was designed as a lock service, it is now heavily used inside Google as a [[name server]], supplanting [[Domain name system|DNS]].<ref name="chubby" />▼
Other DLM implementations include the following:
==ZooKeeper==▼
[[Apache ZooKeeper]], which was created at [[Yahoo]], is open-source software and can be used to perform distributed locks<ref name="zookeeper">[http://zookeeper.apache.org/doc/trunk/recipes.html#sc_recipes_Locks ZooKeeper Recipes and Solutions]. Zookeeper.apache.org. Retrieved on 2013-09-18.</ref> as well.▼
▲: [[Google]] has developed ''Chubby'', a lock service for loosely coupled distributed systems.<ref name="chubby">[http://research.google.com/archive/chubby.html Google Research Publication: Chubby Distributed Lock Service]. Research.google.com. Retrieved on 2013-09-18.</ref> It is designed for coarse-grained locking and also provides a limited but reliable distributed file system. Key parts of Google's infrastructure, including [[Google File System]], [[Bigtable]], and [[MapReduce]], use Chubby to synchronize accesses to shared resources. Though Chubby was designed as a lock service, it is now heavily used inside Google as a [[name server]], supplanting [[Domain name system|DNS]].<ref name="chubby" />
==etcd==▼
▲: [[Apache ZooKeeper]], which was created at [[Yahoo]], is open-source software and can be used to perform distributed locks<ref name="zookeeper">[http://zookeeper.apache.org/doc/trunk/recipes.html#sc_recipes_Locks ZooKeeper Recipes and Solutions]. Zookeeper.apache.org. Retrieved on 2013-09-18.</ref> as well.
: etcd, is an open-source software, Apache Licensed developed at [[CoreOS]] <ref name="CoreOS">https://coreos.com/</ref> and can be used to perform distributed locks<ref name="etcd">[https://github.com/coreos/etcd/blob/master/Documentation/demo.md#distributed-locks]. Retrieved on 2016-09-20.</ref> as well.
: [[Redis]] is an open source, BSD licensed, advanced key-value cache and store.<ref name="redis">http://redis.io/ Retrieved on 2015-04-14</ref> Redis can be used to implement the [https://redis.io/topics/distlock Redlock Algorithm] for distributed lock management.<ref name="redlock">http://redis.io/topics/distlock Retrieved on 2015-04-14</ref>
: Consul,<ref name="consul">[https://consul.io/ Consul Overview]. Retrieved on 2015-02-19.</ref> which was created by [[HashiCorp]], is open-source software and can be used to perform distributed locks as well.▼
▲Consul,<ref name="consul">[https://consul.io/ Consul Overview]. Retrieved on 2015-02-19.</ref> which was created by [[HashiCorp]], is open-source software and can be used to perform distributed locks as well.
: The distributed lock manager Taooka<ref name="taooka">[http://taooka.com/ Taooka Description] Retrieved on 2017-05-04.</ref> uses the "try lock" methods to avoid [[deadlock]]s. It can also specify a TTL for each lock with nanosecond precision.▼
▲==Taooka==
: A DLM is also a key component of more ambitious [[Single-system image|single system image]] projects such as [[OpenSSI]].▼
==References==▼
▲The distributed lock manager Taooka<ref name="taooka">[http://taooka.com/ Taooka Description] Retrieved on 2017-05-04.</ref> uses the "try lock" methods to avoid [[deadlock]]s. It can also specify a TTL for each lock with nanosecond precision.
▲==SSI Systems==
▲A DLM is also a key component of more ambitious [[Single-system image|single system image]] projects such as [[OpenSSI]].
▲==References==
{{Reflist}}
{{Refbegin}}
|