Content deleted Content added
m Disambiguating links to Deadlock (link changed to Deadlock (computer science); link changed to Deadlock (computer science); link changed to Deadlock (computer science)) using DisamAssist. |
m →References: HTTP to HTTPS for SourceForge |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1:
{{more citations needed|date=October 2010}}
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, relied on the [[OpenVMS]] DLM in just this way.
Line 7:
== Resources ==
The DLM uses a generalized concept of a '''resource''', which is some entity to which shared access must be controlled. This can relate to a file, a record, an area of [[shared memory]], or anything else that the [[application software|application]] designer chooses. A hierarchy of resources may be defined, so that a number of levels of locking can be implemented. For instance, a hypothetical [[database]] might define a resource hierarchy as follows:
* Database
* Table
Line 85:
* [[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" />
* [[Apache ZooKeeper]], which was created at [[Yahoo]], is [[open-source software]] and can be used to perform distributed locks<ref name="zookeeper">[https://zookeeper.apache.org/doc/r3.1.2/recipes.html]. Zookeeper.apache.org. Retrieved on 2013-09-18.</ref> as well.
* [[Etcd]] is open-source software, developed at [[CoreOS]] under the [[Apache License]].<ref name="CoreOS">{{cite web|url=https://coreos.com/|title=CoreOS|website=coreos.com}}</ref> It can be used to perform distributed locks as well.<ref name="etcd">{{Citation|title=etcd: Distributed reliable key-value store for the most critical data of a distributed system|date=2018-01-16|url=https://github.com/coreos/etcd|publisher=CoreOS|accessdate=2016-09-20}}</ref>
* [[Redis]] is an open source, Redis Source Available License licensed, advanced key-value cache and store.<ref name="redis">{{cite web |url=http://redis.io/ |title= |website=redis.io |access-date=2015-04-14}}{{title missing|date=May 2022}}</ref> Redis can be used to implement the Redlock Algorithm for distributed lock management.<ref name="redlock">{{Cite web|url=http://redis.io/topics/distlock|title=Distributed locks with Redis – Redis|website=redis.io|access-date=2015-04-14}}</ref>
* HashiCorp's [[Consul (software)|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.
Line 98:
* [https://web.archive.org/web/20101219074254/http://h71000.www7.hp.com/doc/82final/4527/4527pro_044.html#jun_227 HP OpenVMS Systems Services Reference Manual – $ENQ]
* [https://github.com/chadrem/officer Officer - A simple distributed lock manager written in Ruby]
* [
{{Refend}}
|