One embodiment of the invention sets forth a method for performing a queue
allocation operation that includes receiving a memory address associated
with a queue allocation aperture, where the memory address is read by a
client to request memory space in a memory queue for a payload, computing
a payload size based on the memory address, determining an insertion
pointer for the payload based on a first position of a horizon pointer,
where the insertion pointer indicates a location within the memory queue
for the client to insert the payload, adjusting the horizon pointer to a
second position based on the payload size, and returning the insertion
pointer to the client. Such an approach enables multiple clients to
advantageously request and obtain space within a shared memory queue in a
single atomic operation, thereby allowing clients to share a memory queue
more efficiently relative to prior art approaches.