Optimization of Data Locks for Improved Write Lock Performance and CPU Cache usage in Mulit Core Architectures
First Claim
1. A method for data access by a CPU, the method comprising the steps of:
- (a) checking if a writer-present flag is set or cleared; and
(b) acquiring a read-lock when said writer-present flag is cleared.
1 Assignment
0 Petitions
Accused Products
Abstract
Data access optimization features the innovative use of a writer-present flag when acquiring read-locks and write-locks. Setting a writer-present flag indicates that a writer desires to modify a particular data. This serves as an indicator to readers and writers waiting to acquire read-locks or write-locks not to acquire a lock, but rather to continue waiting (i.e., spinning) until the write-present flag is cleared. As opposed to conventional techniques in which readers and writers are not locked out until the writer acquires the write-lock, the writer-present flag locks out other readers and writers once a writer begins waiting for a write-lock (that is, sets a writer-present flag). This feature allows a write-lock method to acquire a write-lock without having to contend with waiting readers and writers trying to obtain read-locks and write-locks, such as when using conventional spinlock implementations.
7 Citations
20 Claims
-
1. A method for data access by a CPU, the method comprising the steps of:
-
(a) checking if a writer-present flag is set or cleared; and (b) acquiring a read-lock when said writer-present flag is cleared. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for data access by a CPU, the method comprising the steps of:
-
(a) checking if a writer-present flag is set or cleared; and (b) acquiring a write-lock when said writer-present flag is cleared. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
(a) a processing system containing one or more processors, said processing system being configured to; (i) check if a writer-present flag is set or cleared; and (ii) acquire a read-lock when said writer-present flag is cleared. - View Dependent Claims (15)
-
16. A system comprising:
-
(a) a processing system containing one or more processors, said processing system being configured to; (i) check if a writer-present flag is set or cleared; and (ii) acquire a write-lock when said writer-present flag is cleared. - View Dependent Claims (17)
-
-
18. A computer-readable storage medium having embedded thereon computer-readable code for data access by a CPU, the computer-readable code comprising program code for:
-
(a) checking if a writer-present flag is set or cleared; and (b) acquiring a read-lock when said writer-present flag is cleared.
-
-
19. A computer-readable storage medium having embedded thereon computer-readable code for data access by a CPU, the computer-readable code comprising program code for:
-
(a) checking if a writer-present flag is set or cleared; and (b) acquiring a write-lock when said writer-present flag is cleared. - View Dependent Claims (20)
-
Specification