| CPC G06F 9/5016 (2013.01) [G06F 9/4881 (2013.01); G06F 9/52 (2013.01); G06F 9/544 (2013.01); G06F 12/0238 (2013.01); G06F 12/0292 (2013.01); G06F 15/17331 (2013.01); G06F 9/5022 (2013.01); G06F 12/023 (2013.01); G06F 2209/5011 (2013.01)] | 24 Claims |

|
1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor cause a set of acts comprising:
before receiving a request for a remote direct memory access (RDMA) memory allocation from a first processing entity, pre-dividing, in response to invocation of a memory register application programming interface (API) call from a hook, a contiguous physical memory region allocated to an RDMA network interface card (NIC) into a plurality of chunks that are pre-assigned to individual processing entities in a non-overlapping manner for lockless buffer allocation, wherein
a first chunk of the plurality of chunks is assigned to the first processing entity and a second chunk of the plurality of chunks is assigned to a second processing entity,
assignment of the first chunk to the first processing entity is represented by a first entry in a data structure that maps the contiguous physical memory region to the first chunk and the first processing entity,
assignment of the second chunk to the second processing entity is represented by a second entry in the data structure that maps the contiguous physical memory region to the second chunk and the second processing entity, and
the first and second chunks do not overlap;
receiving the request for the RDMA memory allocation from the first processing entity; and
locklessly processing the request for the RDMA memory allocation from the first processing entity using the previously assigned first chunk, at least by allocating at least a portion of the previously assigned first chunk to the first processing entity without acquiring a lock.
|