Distributed lock manager: Difference between revisions

Content deleted Content added
Flyer22 Frozen (talk | contribs)
m Reverted edits by 2402:3A80:1312:44BD:0:1F:97CB:2501 (talk) (HG) (3.4.10)
JK
Tag: Reverted
Line 1:
{{refimprove|date=October 2010}}
 
[[Operating system]]s use lock managers to organise and serialise the access to resources. A '''distributeddst lockclustering manager'''system (DLM)to runscome in every machine ininto awidespread clusteruse, withrelies anon identical copy of a cluster-wide lock database. In this way a DLM providesthe [[software applicationOpenVMS]]s whichDLM arein [[distributedjust programming|distributed]]this across a cluster on multiple machines with a means to synchronize their accesses to [[shared resource]]sway.
 
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.
 
==VMS implementation==
Line 17 ⟶ 15:
* Field
 
A [[process (computing)|process]] can then acquire locks on the database as a whole, and then on particular parts ofo thea databaselock on a resource. AThere are six lock mustmodes that can be obtainedgranted, onand athese parentdetermine resourcethe level of exclusivity being granted, it is possible to convert the lock beforeto a subordinatehigher or lower level of lock mode. When all processes have unlocked a resource, canthe besystem's information about the resource is lockeddestroyed.
 
===Lock modes===
 
A process running within a VMSCluster may obtain a lock on a resource. There are six lock modes that can be granted, and these determine the level of exclusivity being granted, it is possible to convert the lock to a higher or lower level of lock mode. When all processes have unlocked a resource, the system's information about the resource is destroyed.
* Null (NL). Indicates interest in the resource, but does not prevent other processes from locking it. It has the advantage that the resource and its [[#Lock value block|lock value block]] are preserved, even when no processes are locking it.
* Concurrent Read (CR). Indicates a desire to read (but not update) the resource. It allows other processes to read or update the resource, but prevents others from having exclusive access to it. This is usually employed on high-level resources, in order that more restrictive locks can be obtained on subordinate resources.
Line 32 ⟶ 26:
 
{| class="wikitable"
|- {{Yes}} || {{No}}
|-
! Mode || NL || CR || CW || PR || PW || EX
|-
! NL
| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
|-
! CR
| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}}
|-
! CW