IP Library › Granted Patent US 11,178,063
Granted Patent B2
US 11,178,063 · App. 15/639,641 · Granted Nov 16, 2021

Remote hardware acceleration

Inventors: Francesc Guim Bernat (Barcelona, ES); Kshitij A. Doshi (Tempe, AZ); Mark A. Schmisseur (Phoenix, AZ); Narayan Ranganathan (Bangalore, IN); John Chun Kwok Leung (Folsom, CA)
Assignee: Intel Corporation
H04L47/70G06F9/45558G06F13/4068H04L12/40H04L12/413H04L47/781H04L47/803H04L67/025H04L67/10H04L67/1097H04L67/12H04L67/16H04L67/2842G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,178,063
App. No.
15/639,641
Granted
Nov 16, 2021
Kind
B2
Abstract

A host fabric interface (HFI) apparatus, including: an HFI to communicatively couple to a fabric; and a remote hardware acceleration (RHA) engine to: query an orchestrator via the fabric to identify a remote resource having an accelerator; and send a remote accelerator request to the remote resource via the fabric.

Claims (57)

1. A network interface controller (NIC), comprising:

a fabric interface to communicatively couple to a fabric; and

stored instructions to instruct the NIC to:

query an orchestrator via the fabric to identify a remote resource having a graphics processing unit (GPU) or field-programmable gate array (FPGA) accelerator physically remote from the NIC;

receive a remote accelerator request that matches to the remote resource; and

send the remote accelerator request to the remote resource via the fabric.

2. The NIC of claim 1 , wherein querying the orchestrator comprises receiving an interface format for the remote accelerator request.

3. The NIC of claim 1 , wherein the NIC is on-chip with at least one core.

4. The NIC of claim 1 , further providing a local bus interface to communicatively couple the NIC to a host.

5. The NIC of claim 1 , wherein the remote hardware acceleration (RHA) engine is the instructions are further to:

register the accelerator with an orchestrator;

receive via the NIC a remote accelerator access request from a remote node;

perform an accelerated action according to the remote accelerator access request; and

send a result to the remote node via the NIC.

6. The NIC of claim 5 , wherein the result comprises an acknowledgement (ACK).

7. The NIC of claim 5 , wherein the result comprises a payload.

8. A computing system comprising a processor, a memory, and the NIC of claim 1 .

9. A system on a chip comprising a processor and the NIC of claim 1 .

10. An integrated circuit comprising a processor and the NIC of claim 1 .

11. A multi-chip package comprising a processor, support circuitry, and the NIC of claim 1 .

12. One or more tangible, non-transitory computer-readable storage mediums having stored thereon instructions for providing a remote hardware acceleration (RHA) engine of a network interface controller, the instructions to:

identify one or more available remote resources, comprising querying an orchestrator via a fabric to identify a remote resource physically remote from a host and having a graphics processing unit (GPU) or field-programmable gate array (FPGA) accelerator; and

send a remote accelerator request to the remote resource via the fabric.

13. The one or more tangible, non-transitory computer readable mediums of claim 12 , wherein querying the orchestrator comprises receiving an interface format for the remote accelerator request.

14. The one or more tangible, non-transitory computer readable mediums of claim 12 , wherein the remote hardware acceleration (RHA) engine is to:

register a local accelerator with an orchestrator;

receive via the fabric a remote accelerator access request from a remote node;

perform an accelerated action according to the remote accelerator access request; and

send a result to the remote node via the fabric.

15. The one or more tangible, non-transitory computer readable mediums of claim 14 , wherein the result comprises an ACK.

16. The one or more tangible, non-transitory computer readable mediums of claim 14 , wherein the result comprises a payload.

17. A computer-implemented method for providing a remote hardware acceleration (RHA) engine on a smart network interface controller (NIC), comprising:

querying an orchestrator via a fabric to identify a remote resource having an accelerator, the accelerator being physically remote from a host and including a field-programmable gate array (FPGA) and/or graphics processing unit (FPGA); and

sending a remote accelerator request to the remote resource via the fabric.

18. The method of claim 17 , wherein querying the orchestrator comprises receiving an interface format for the remote accelerator request.

19. The method of claim 17 , further comprising:

registering a local accelerator with an orchestrator;

receiving via the fabric a remote accelerator access request from a remote node;

performing an accelerated action according to the remote accelerator access request; and

sending a result to the remote node via the fabric interface NIC.

20. An orchestrator, comprising:

a processor;

a memory;

a network controller to communicatively couple the orchestrator to a network fabric;

a remotely accessible accelerator table (RAAT); and

a remote hardware acceleration registration (RHAR) engine instructions encoded within the memory to instruct the processor to:

allocate a table;

receive via the network controller a registration request to register a remotely accessible accelerator to provide acceleration via a field-programmable gate array (FPGA) or graphics processing unit (GPU), wherein the remotely accessible accelerator is accessibly by a first host being physically remote from a second host that includes the remotely accessible accelerator; and

populate the table with data about the remotely accessible accelerator.

21. The orchestrator of claim 20 , wherein the data about the remotely accessible accelerator comprises an identifier for a host of the remotely accessible accelerator.

22. The orchestrator of claim 20 , wherein the data about the remotely accessible accelerator comprises interface information for the remotely accessible accelerator.

23. The orchestrator of claim 20 , wherein the RHAR engine is the instructions are further to:

receive via the NIC a discovery request for remote acceleration;

query the table; and

return, via the network fabric, information about the remotely accessible accelerator.

24. The orchestrator of claim 23 , wherein the information about the remotely accessible accelerator comprises interface information for the remotely accessible accelerator.

25. The NIC of claim 1 , wherein the physically remote GPU or FPGA is communicatively coupled to the NIC via a fabric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2017
From: BERNAT, FRANCESC GUIM; DOSHI, KSHITIJ A.; SCHMISSEUR, MARK A.; RANGANATHAN, NARAYAN; LEUNG, JOHN CHUN KWOK
To: INTEL CORPORATION
Reel/Frame 043580/0198 →
Continuity (1)
Related Publication 20190007334A1 · Jan 3, 2019