Using local locks for global synchronization in multi-node systems
First Claim
Patent Images
1. A method for managing locks granted by a multi-node system to access a set of shared resources that includes a first shared resource, the method comprising the steps of:
- while no global lock on said first shared resource is held, granting a first local lock on the first shared resource to a first node within the multi-node system;
while said first node holds said first local lock;
based on the first local lock, permitting the first node to access the first shared resource; and
receiving a request from a second node in said multi-node system for a global lock on the first shared resource;
in response to said request from a second node in said multi-node system for a global lock on the first shared resource;
causing said first node to obtain a global lock on the first shared resource; and
causing said second node to obtain a global lock on the first shared resource; and
wherein the method is performed by one or more computing devices.
0 Assignments
0 Petitions
Accused Products
Abstract
Described herein are techniques for global synchronization that under various scenarios eliminate or defer the acquisition of global locks. In many cases, the need to acquire global locks is eliminated, thereby saving the overhead attendant to processing global locks.
-
Citations
16 Claims
-
1. A method for managing locks granted by a multi-node system to access a set of shared resources that includes a first shared resource, the method comprising the steps of:
-
while no global lock on said first shared resource is held, granting a first local lock on the first shared resource to a first node within the multi-node system; while said first node holds said first local lock; based on the first local lock, permitting the first node to access the first shared resource; and receiving a request from a second node in said multi-node system for a global lock on the first shared resource; in response to said request from a second node in said multi-node system for a global lock on the first shared resource; causing said first node to obtain a global lock on the first shared resource; and causing said second node to obtain a global lock on the first shared resource; and wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium storing one or more sequences of instructions for managing locks granted by a multi-node system to access a set of shared resources that includes a first shared resource, said one or more sequences of instructions, which, when executed by one or more processors, causes the one or more processors to perform steps of:
-
while no global lock on said first shared resource is held, granting a first local lock on the first shared resource to a first node within the multi-node system; while said first node holds said first local lock; based on the first local lock, permitting the first node to access the first shared resource; and receiving a request from a second node in said multi-node system for a global lock on the first shared resource; and in response to said request from a second node in said multi-node system for a global lock on the first shared resource; causing said first node to obtain a global lock on the first shared resource; and causing said second node to obtain a global lock on the first shared resource. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification