CPC G06F 3/0611 (2013.01) [G06F 3/0656 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |
1. A computer hardware device comprising:
a memory buffer within a memory buffer pool, the memory buffer having input data to be processed;
a buffer pointer that references the memory buffer having the input data; and
a plurality of processing roles for processing data;
wherein the computer hardware device causes the memory buffer to be deallocated by:
determining, by an organizer processing role of the plurality of processing roles, a number of processing roles needed to process the input data;
generating, by the organizer processing role, an augmented buffer pointer that comprises the buffer pointer, a buffer pointer cloning indicator, and a role number value indicating the number of processing roles needed to process the input data;
providing cloned versions of the augmented buffer pointer to a plurality of consumer processing roles of the plurality of processing roles;
providing, by a consumer processing role of the plurality of consumer processing roles, a deallocation request to deallocate the memory buffer after the consumer processing role utilizes the augmented buffer pointer to read the input data from the memory buffer; and
deallocating the memory buffer based on determining that the plurality of consumer processing roles and the organizer processing role have each provided a deallocation request to deallocate the memory buffer.
|