Facilitating communication within shared memory environments using lock-free queues
First Claim
Patent Images
26. A method of processing queues of a shared memory environment, said method comprising:
- enqueuing a message on a lock-free queue of the shared memory environment using a single atomic operation, the lock-free queue capable of being written to by a plurality of processing entities.
1 Assignment
0 Petitions
Accused Products
Abstract
Lock-free queues of a shared memory environment are used to facilitate communication within that environment. The lock-free queues can be used for interprocess communication, as well as intraprocess communication. The lock-free queues are structured to minimize the use of atomic operations when performing operations on the queues, and to minimize the number of enqueue/dequeue operations to be performed on the queues.
16 Citations
63 Claims
-
26. A method of processing queues of a shared memory environment, said method comprising:
enqueuing a message on a lock-free queue of the shared memory environment using a single atomic operation, the lock-free queue capable of being written to by a plurality of processing entities.
-
27. A method of processing queues of a shared memory environment, said method comprising:
dequeuing a message from a lock-free queue of the shared memory environment absent an atomic operation, the lock-free queue capable of being written to by a plurality of processing entities.
-
28. A shared memory comprising:
a queue, said queue comprising;
a first end of the queue, said first end being concurrently accessible by a plurality of processing entities;
a second end of the queue, said second end being non-concurrently accessible by a plurality of processing entities; and
wherein said queue is lock-free and sized to not reach a full condition.
-
29. A system of facilitating communication within a shared memory environment, said system comprising:
-
a lock-free queue of the shared memory environment for use in communication, said lock-free queue being concurrently accessible at one end of the lock-free queue for writing to the lock-free queue by a plurality of processing entities of the shared memory environment, being non-concurrently accessible at another end of the lock-free queue, and sized to not reach a full condition; and
means for employing, by a processing entity of the shared memory environment, the lock-free queue. - View Dependent Claims (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
35-1. The system of claim 34, further comprising:
-
means for checking whether the lock-free queue at the head identified by the identifier is empty; and
means for waiting until the head is not empty before proceeding to the retrieving of the indicator.
-
-
46. A system of facilitating communication within a shared memory environment, said system comprising:
a processing entity of the shared memory environment to employ a lock-free queue of the shared memory environment for use in communication, said lock-free queue being concurrently accessible at one end of the lock-free queue for writing to the lock-free queue by a plurality of processing entities of the shared memory environment, being non-concurrently accessible at another end of the lock-free queue, and sized to not reach a full condition.
-
47. An article of manufacture comprising:
at least one computer usable medium having computer readable program code logic to manage facilitating communication within a shared memory environment, the computer readable program code logic comprising;
employ logic to employ, by a processing entity of the shared memory environment, a lock-free queue of the shared memory environment for use in communication, said lock-free queue being concurrently accessible at one end of the lock-free queue for writing to the lock-free queue by a plurality of processing entities of the shared memory environment, being non-concurrently accessible at another end of the lock-free queue, and sized to not reach a full condition. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
Specification