MANAGING AN OUT-OF-ORDER ASYNCHRONOUS HETEROGENEOUS REMOTE DIRECT MEMORY ACCESS (RDMA) MESSAGE QUEUE
First Claim
1. A system, comprising:
- a primary processing device;
at least one additional processing device;
a memory storage location; and
a data bus coupled to the primary processing device, the at least one additional processing device, and the memory storage location, wherein;
the primary processing device and the at least one additional processing device cooperate to process queue data within a shared message queue; and
the primary processing device and the at least one additional processing device access the queue data within the shared message queue via remote direct memory access (RDMA).
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method operable to manage a message queue is provided. This management may involve out-of-order asynchronous heterogeneous remote direct memory access (RDMA) to the message queue. This system includes a pair of processing devices, a primary processing device and an additional processing device, a memory in storage location and a data bus coupled to the processing devices. The processing devices cooperate to process queue data within a shared message queue wherein when an individual processing device successfully accesses queue data the queue data is locked for the exclusive use of the processing device. When the processing device acquires the queue data, the queue data is locked and the queue data acquired by the acquiring processing device includes the queue data for both the primary processing device and additional processing device such that the processing device has all queue data necessary to process the data and return processed queue data.
16 Citations
20 Claims
-
1. A system, comprising:
-
a primary processing device; at least one additional processing device; a memory storage location; and a data bus coupled to the primary processing device, the at least one additional processing device, and the memory storage location, wherein; the primary processing device and the at least one additional processing device cooperate to process queue data within a shared message queue; and the primary processing device and the at least one additional processing device access the queue data within the shared message queue via remote direct memory access (RDMA). - View Dependent Claims (2, 4, 5, 6, 7)
-
- 3. The system of claim 3, wherein the queue data acquired by the processing device when the queue data is locked comprises all data necessary to manage the queue.
-
8. A method comprising:
-
determining, by a cooperating processing device, if a shared queue data to be processed by the cooperating processing device is locked; acquiring a shared queue lock when the shared queue data is not locked; exclusively acquiring, by the cooperating processing device, the shared queue data during the lock; processing the shared queue data, by the cooperating processing device, to produce updated queue data; outputting the updated queue data and releasing the shared queue lock. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a primary processing device wherein a primary memory domain is associated with the primary processing device; an additional processing device wherein an additional memory domain is associated with the additional processing device; a memory storage location, wherein the primary memory domain and additional memory domain are mapped to locations within the memory storage; a data bus coupled to the primary processing device, the at least one additional processing device, and the memory storage location, wherein; the primary processing device and the additional processing device cooperate to process queue data within a shared message queue; the primary processing device and the additional processing device access the queue data within the shared message queue via direct memory access (DMA); - View Dependent Claims (15, 17, 18, 19, 20)
-
Specification