COUPLED LOCK ALLOCATION AND LOOKUP FOR SHARED DATA SYNCHRONIZATION IN SYMMETRIC MULTITHREADING ENVIRONMENTS
First Claim
1. A method of using locks in a multithreaded computing system having at least two processors or cores and a shared memory process configuration, comprising:
- for each instance of shared data in at least a portion of a shared memory, allocating a lock in the shared memory where the lock location is designated according to an offset for the lock with respect to the corresponding respective instance of shared data protected by the lock.
2 Assignments
0 Petitions
Accused Products
Abstract
In a shared memory process different threads may attempt to access a shared data variable in a shared memory. Locks are provided to synchronize access to shared data variables. Each lock is allocated to have a location in the shared memory relative to the instance of shared data that the lock protects. A lock may be allocated to be adjacent to the data that it protects. Lock resolution is facilitated because the memory location of a lock can be determined from an offset with respect to the data variable that is being protected by the lock.
-
Citations
19 Claims
-
1. A method of using locks in a multithreaded computing system having at least two processors or cores and a shared memory process configuration, comprising:
for each instance of shared data in at least a portion of a shared memory, allocating a lock in the shared memory where the lock location is designated according to an offset for the lock with respect to the corresponding respective instance of shared data protected by the lock. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A multithreaded computing system comprising:
at least two processors in a shared memory process configuration in which threads of at least two processors access a shared memory, wherein; accesses to shared data in the shared memory are synchronized for individual instances of shared data via a lock allocation in which the lock location is selected according to an offset for the lock with respect to the corresponding respective instance of shared data protected by the lock. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A method of resolving locks in a multithreaded computing system having at least two processors or processor cores and a shared memory process configuration, comprising:
for an instance of an access to shared data in at least a portion of a shared memory, determining a memory location of a lock according to an offset for the lock with respect to the corresponding respective instance of shared data protected by the lock. - View Dependent Claims (14, 15)
-
16. A multithreaded computing system comprising:
at least two processors in a shared memory process configuration in which threads of the at least two processors access a shared memory, wherein; lock resolution for a lock to an instance of shared data in a shared memory is determined from a relative position with respect to the memory location of the instance of shared data. - View Dependent Claims (17, 18)
-
19. A computer program product comprising computer readable instruction which when executed by a processor implement a method comprising:
for an instance of an access to shared data in at least a portion of a shared memory, determining a memory location of a lock according to an offset for the lock with respect to the corresponding respective instance of shared data protected by the lock.
Specification