# US 2026/0099484 A1 · Work graph queue structures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0099484 A1
- Document ID: US20260099484A1
- Status: Published application
- Kind: A1
- Application number: 19/188,590
- Filed: 2025-04-24
- Published: 2026-04-09
- Earliest claimed: 2024-10-08
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Ziyad Hakura; Kedar Shripad Joglekar; Hao Zhang; Yury Uralsky
- Web page: https://patentgrep.com/patent/US20260099484A1

## CPC

- G06F 16/2343: {Locking methods, e.g. distributed locking or locking implementation details}
- G06F 16/2228: {Indexing structures}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed are systems and techniques for efficient work graph queue structures. The techniques include obtaining a first record lock and generating one or more records to be consumed by one or more consumer processes. The techniques further include storing the one or more records in one or more queues including a first index queue associated with a first consumer process of the one or more consumer processes, a counter queue, and a unified record-index queue. At least a first value associated with a first record of the one or more records is stored in the first index queue. The techniques further include, responsive to receiving a first signal from the first consumer process, freeing the first value associated with the first record from the first index queue. The techniques further include releasing the first record lock.

## Claims

### Claim 1

A method comprising:
obtaining a first record lock;
generating one or more records to be consumed by one or more consumer processes;
storing the one or more records in one or more queues comprising a first index queue associated with a first consumer process of the one or more consumer processes, a counter queue, and a unified record-index queue, wherein at least a first value associated with a first record of the one or more records is stored in the first index queue, and wherein storing the one or more records comprises:
storing a counter value corresponding to a count of the one or more records in the counter queue;
storing the first record in the unified record-index queue; and
storing an index of the first record in the first index queue, wherein the index of the first record is the first value associated with the first record;
responsive to receiving a first signal from the first consumer process, freeing the first value associated with the first record from the first index queue; and
releasing the first record lock.

### Claim 2 (depends on 1)

The method of claim 1, wherein storing the first record in the unified record-index queue further comprises storing, with the first record in the unified record-index queue, a counter index associated with the counter value in the counter queue.

### Claim 3 (depends on 1)

The method of claim 1, further comprising, further responsive to receiving the first signal from the first consumer process, decrementing the counter value in the counter queue.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value.

### Claim 5 (depends on 1)

The method of claim 1, wherein a length of the first index queue is at least double a maximum active entries value of the first index queue.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first consumer process is associated with a node array, and wherein a length of the first index queue is based on a maximum number of records the first consumer process can receive and a maximum number of producer processes that can execute simultaneously.

### Claim 7 (depends on 1)

The method of claim 1, wherein a length of the unified record-index queue is at least double a maximum active entries value of the unified record-index queue.

### Claim 8 (depends on 1)

The method of claim 1, wherein a length of the unified record-index queue is based on a sum of a maximum number of records that can be received by a subset of the one or more consumer processes and a maximum number of producer processes that can execute simultaneously.

### Claim 9 (depends on 1)

The method of claim 1, wherein a length of the counter queue is based on a maximum number of producer processes that can be executing simultaneously and that are associated with the first consumer process.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first record comprises data that the first consumer process depends on for performing one or more operations.

### Claim 11

A system comprising:
a memory storing one or more queues comprising a first index queue associated with a first consumer process, a counter queue, and a unified record-index queue; and
processing circuitry coupled to the memory, the processing circuitry to:
obtain a first record lock;
receive one or more records to be consumed by one or more consumer processes comprising the first consumer process;
store the one or more records in the one or more queues, wherein at least a first value associated with a first record of the one or more records is stored in the first index queue, wherein to store the one or more records, the processing circuitry is to:
store a counter value corresponding to a count of the one or more records in the counter queue;
store the first record in the unified record-index queue; and
store an index of the first record in the first index queue, wherein the index of the first record is the first value associated with the first record;
responsive to receiving a first signal from the first consumer process, free the first value associated with the first record from the first index queue; and
release the first record lock.

### Claim 12 (depends on 11)

The system of claim 11, wherein to store the first record in the unified record-index queue, the processing circuitry is further to store, with the first record in the unified record-index queue, a counter index associated with the counter value in the counter queue.

### Claim 13 (depends on 11)

The system of claim 11, wherein the processing circuitry is further to, further responsive to receiving the first signal from the first consumer process, decrement the counter value in the counter queue.

### Claim 14 (depends on 11)

The system of claim 11, wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value.

### Claim 15 (depends on 11)

The system of claim 11, wherein a length of the first index queue is at least double a maximum active entries value of the first index queue.

### Claim 16 (depends on 11)

The system of claim 11, wherein a length of the unified record-index queue is at least double a maximum active entries value of the unified record-index queue.

### Claim 17 (depends on 11)

The system of claim 11, wherein the first record comprises data that the first consumer process depends on for performing one or more operations.

### Claim 18

A system comprising:
a first processor;
a second processor to generate one or more records to be accessed by the first processor; and
processing circuitry coupled to the first processor and the second processor, the processing circuitry to:
obtain a first record lock;
store the one or more records in one or more queues comprising a first index queue associated with a first consumer process executed by the first processor, a counter queue, and a unified record-index queue, wherein at least a first value associated with a first record of the one or more records is stored in the first index queue, and wherein to store the one or more records, the processing circuitry is to:
store a counter value corresponding to a count of the one or more records in the counter queue;
store the first record in the unified record-index queue; and
store an index of the first record in the first index queue, wherein the index of the first record is the first value associated with the first record;
responsive to receiving a first signal from the first consumer process, free the first value associated with the first record from the first index queue; and
release the first record lock.

### Claim 19 (depends on 18)

The system of claim 18, wherein to store the first record in the unified record-index queue, the processing circuitry is further to store, with the first record in the unified record-index queue, a counter index associated with the counter value in the counter queue.

### Claim 20 (depends on 18)

The system of claim 18, wherein the processing circuitry is further to, further responsive to receiving the first signal from the first consumer process, decrement the counter value in the counter queue.

### Claim 21 (depends on 18)

The system of claim 18, wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value.

### Claim 22 (depends on 18)

The system of claim 18, wherein a length of the first index queue is at least double a maximum active entries value of the first index queue.

### Claim 23 (depends on 18)

The system of claim 18, wherein a length of the unified record-index queue is at least double a maximum active entries value of the unified record-index queue.
