11290392

Technologies for Pooling Accelerator Over Fabric

PublishedMarch 29, 2022
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
22 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A compute device comprising: a processor; and circuitry to execute an accelerator manager, the accelerator manager to: receive a first message and a second message from a first application executing on the compute device; determine to use a first accelerator resident at the compute device instead of a second accelerator located remote from the compute device based, at least in part, on usage of at least one of the first accelerator and the second accelerator; responsive to a determination to use the first accelerator, forward the first message to the first accelerator; determine to use the second accelerator to process the second message based, at least in part, on the usage of at least one of the first accelerator and the second accelerator; generate a command message based, at least in part, on the second message from the first application; cause the command message to be sent to the second accelerator; receive a first response message from the first accelerator that includes first response data generated responsive to the first message; receive a second response message from the second accelerator that includes second response data generated responsive to the command message; and forward the first response data and the second response data to the first application.

2

2. The compute device of claim 1 , wherein to cause the command message to be sent to the second accelerator comprises the accelerator manager to: add the command message to a send queue; and process the send queue to cause the command message to be sent from the send queue to the second accelerator.

3

3. The compute device of claim 2 , the send queue includes a low-latency data path queue and a bulk data path queue, wherein to add the command message to the send queue comprises the accelerator manager to add the command message to the low-latency data path queue based on the second message from the first application indicating the second response data is to be time-sensitive or add the command message to the bulk data path queue based on the second message from the first application indicating the second response data is to not be time-sensitive.

4

4. The compute device of claim 1 , wherein to receive the second response message from the second accelerator and forward the second response data to the first application comprises the accelerator manager to: add the received second response message to a receive queue; and process the receive queue to forward the second response data included in the second response message to the first application.

5

5. The compute device of claim 4 , the receive queue includes a low-latency data path queue and a bulk data path queue, wherein to add the received second response message to the receive queue includes the accelerator manager to add the second received response message to the low-latency data path queue based on the second message from the first application indicating the second response data is time-sensitive or add the second response message to the bulk data path queue based on the second message from the first application indicating the second response data is not time-sensitive.

6

6. The compute device of claim 1 , wherein to send the command message to the second accelerator includes the accelerator manager to cause the command message to be sent to the second accelerator via use of a remote direct memory access (RDMA) communication protocol, and wherein to receive the second response message from the second accelerator includes the accelerator manager to receive the second response message from the second accelerator via use of the RDMA communication protocol.

7

7. The compute device of claim 1 , wherein the first or second accelerator comprises a field programmable gate array.

8

8. The compute device of claim 2 , the send queue includes a control path queue, wherein to add the command message to the send queue comprises the accelerator manager to add the command message to the control path queue based on the second message from the first application indicating a querying of capabilities for an accelerator.

9

9. A method comprising: receiving, by circuitry of a compute device, a first message and a second message from a first application executing on the compute device; determining to use a first accelerator resident at the compute device instead of a second accelerator located remote from the compute device based, at least in part, on usage of at least one of the first accelerator and the second accelerator; responsive to determining to use the first accelerator, forwarding the first message to the first accelerator; determining to use the second accelerator to process the second message based, at least in part, on the usage of at least one of the first accelerator and the second accelerator; generating a command message based, at least in part, on the second message from the first application; causing the command message to be sent to the second accelerator; receiving a first response message from the first accelerator that includes first response data generated responsive to the first message; receiving a second response message from the second accelerator that includes second response data generated responsive to the command message; and forwarding the first response data and the second response data to the first application.

10

10. The method of claim 9 , wherein causing the second command message to be sent to the second accelerator comprises: adding the command message to a send queue; and processing the send queue to cause the command message to be sent from the send queue to the second accelerator.

11

11. The method of claim 10 , the send queue includes a low-latency data path queue and a bulk data path queue, wherein adding the command message to the send queue comprises adding the command message to the low-latency data path queue based on the second message from the first application indicating the second response data is to be time-sensitive or add the command message to the bulk data path queue based on second message from the first application indicating the second response data is to not be time-sensitive.

12

12. The method of claim 9 , wherein receiving the second response message from the second accelerator and forwarding the second response data to the first application further comprises: adding the received second response message to a receive queue; and processing the receive queue to forward the second response data included in the second response message to the first application.

13

13. The method of claim 12 , the receive queue includes a low-latency data path queue and a bulk data path queue, wherein adding the received second response message to the receive queue includes adding the second received response message to the low-latency data path queue based on the second message from the first application indicating the second response data is to be time-sensitive or add the second response message to the bulk data path queue based on the second message from the first application indicating the second response data is to not be time-sensitive.

14

14. The method of claim 9 , wherein sending the command message to the second accelerator includes causing the command message to be sent to the second accelerator via use of a remote direct memory access (RDMA) communication protocol, and wherein receiving the second response message from the second accelerator includes receiving the second response message from the second accelerator via use of the RDMA communication protocol.

15

15. The compute device of claim 10 , the send queue includes a control path queue, wherein adding the command message to the send queue comprises adding the command message to the control path queue based on the second message from the first application indicating a querying of capabilities for an accelerator.

16

16. One or more non-transitory computer-readable media comprising a plurality of instructions stored thereon that, when executed, causes a compute device to: receive a first message and a second message from a first application executing on the compute device; determine to use a first accelerator resident at the compute device instead of a second accelerator located remote from the compute device based, at least in part, on usage of at least one of the first accelerator and the second accelerator; responsive to a determination to use the first accelerator, forward the first message to the first accelerator; determine to use the second accelerator to process the second message based, at least in part, on the usage of at least one of the first accelerator and the second accelerator; generate a command based, at least in part, on the second message from the first application; cause the command message to be sent to the second accelerator; receive a first response message from the first accelerator that includes first response data generated responsive to the first message; receive a second response message from the second accelerator that includes second response data generated responsive to the command message; and forward the first response data and the second response data to the first application.

17

17. The one or more non-transitory computer-readable media of claim 16 , wherein to cause the command message to be sent to the second accelerator comprises to: add the command message to a send queue; and process the send queue to cause the command message to be sent from the send queue to the second accelerator.

18

18. The one or more non-transitory computer-readable media of claim 17 , the send queue includes a low-latency data path queue and a bulk data path queue, wherein to add the command message to the send queue comprises to add the command message to the low-latency data path queue based on the second message from the first application indicating the second response data is to be time-sensitive or add the command message to the bulk data path queue based on second message from the first application indicating the second response data is to not be time-sensitive.

19

19. The one or more non-transitory computer-readable media of claim 18 , wherein to receive the second response message from the second accelerator and forward the second response data to the first application further comprises the plurality of instructions to cause the compute device to: add the received second response message to a receive queue; and process the receive queue to forward the second response data included in the second response message to the first application.

20

20. The one or more non-transitory computer-readable media of claim 16 , wherein to send the command message to the second accelerator includes causing the command message to be sent to the second accelerator via use of a remote direct memory access (RDMA) communication protocol, and wherein to receive the second response message from the second accelerator includes receiving the second response message from the second accelerator via use of the RDMA communication protocol.

21

21. The one or more non-transitory computer-readable media of claim 16 , wherein the first or second accelerator comprises a field programmable gate array.

22

22. The one or more non-transitory computer-readable media of claim 17 , the send queue includes a control path queue, wherein adding the command message to the send queue comprises adding the command message to the control path queue based on the second message from the first application indicating a querying of capabilities for an accelerator.

Patent Metadata

Filing Date

Unknown

Publication Date

March 29, 2022

Inventors

Sujoy Sen
Mohan J. Kumar
Donald L. Faw
Susanne M. Balle
Narayan Ranganathan

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “TECHNOLOGIES FOR POOLING ACCELERATOR OVER FABRIC” (11290392). https://patentable.app/patents/11290392

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.