Scalable range locks
AssigneeOracle International Corporation
InventorsAlex Kogan, David Dice, Shady Alaaeldin Mohamed Abdelkader Rabie Issa
Life of this patent
Estimating the term…
Loading patent…
AssigneeOracle International Corporation
InventorsAlex Kogan, David Dice, Shady Alaaeldin Mohamed Abdelkader Rabie Issa
Estimating the term…
A computer comprising one or more processors and memory may implement multiple threads performing mutually exclusive lock acquisition operations on disjoint ranges of a shared resource each using atomic compare and swap (CAS) operations. A linked list of currently locked ranges is maintained and, upon entry to a lock acquisition operation, a thread waits for all locked ranges overlapping the desired range to be released then inserts a descriptor for the desired range into the linked list using a single CAS operation. To release a locked range, a thread executes a single fetch and add (FAA) operation. The operation may be extended to support simultaneous exclusive and non-exclusive access by allowing overlapping ranges to be locked for non-exclusive access and by performing an additional validation after locking to provide conflict resolution should a conflict be detected.
A method, comprising:
One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors implementing a plurality of threads cause the one or more processors to perform a lock acquisition operation on a first range of elements of a shared resource, comprising:
A system, comprising:
Dependencies are inferred from the claim text.