US2019171601A1PendingUtilityA1

Mechanisms for fpga chaining and unified fpga views to composed system hosts

Assignee: INTEL CORPPriority: Dec 3, 2017Filed: Dec 3, 2017Published: Jun 6, 2019
Est. expiryDec 3, 2037(~11.4 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 13/4022G06F 2009/45579G06F 15/7867G06F 15/173G06F 9/50
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Mechanisms for Field Programmable Gate Array (FPGA) chaining and unified FPGA views to a composed system hosts and associated methods, apparatus, systems and software A rack is populated with pooled system drawers including pooled compute drawers and pooled FPGA drawers communicatively coupled via input-output (IO) cables. The FPGA resources in the pooled system drawers are enumerated, identifying a location of type of each FPGA and whether it is a chainable FPGA. Intra-drawer chaining mechanisms are identified for the chainable FPGAs in each pooled compute and pooled FPGA drawer. Inter-drawer chaining mechanism are also identified for chaining FPGAs in separate pooled system drawers. The enumerated FPGA and chaining mechanism data is aggregated to generate a unified system view of the FPGA resources and their chaining mechanisms. Based on available compute nodes and FPGAs in the unified system view, new compute nodes are composed using chained FPGAs. The chained FPGAs are exposed to a hypervisor or operating system virtualization layer, or to an operating system hosted by the composed compute node as a virtual monolithic FPGA or multiple local FPGAs.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method, comprising:
 linking a plurality of Field Programmable Gate Arrays (FPGA) in communication to form a chain of FPGAs, the plurality of FPGAs including an FPGA that is coupled to a processor in a compute node, each of the plurality of FPGAs having respective a size; and   exposing the chain of FPGAs to a to a hypervisor, an operating system virtualization layer, or to an operating system hosted by the compute node as a virtual monolithic FPGA have a size that is an aggregate of the individual sizes of the FPGAs in the chain of FPGAs.   
     
     
         2 . The method of  claim 1 , wherein the chain of FPGAs includes a chaining mechanism that couples a first FPGA in a first compute node in communication with a second FPGA in a second compute node. 
     
     
         3 . The method of  claim 2 , wherein the chaining mechanism comprise a cable coupled to respective ports on the first and second FPGAs. 
     
     
         4 . The method of  claim 2 , wherein the first and second compute nodes are installed in the same pooled compute drawer. 
     
     
         5 . The method of  claim 3 , wherein the first and second compute nodes are coupled to a backplane in the pooled compute drawer and the chaining mechanism linking the first FPGA in communication with the second FPGA includes wiring in the backplane. 
     
     
         6 . The method of  claim 3 , wherein the pooled compute drawer includes backplane wiring and each of the first FPGA and second FPGA is coupled to the backplane wiring. 
     
     
         7 . The method of  claim 2 , wherein the chain of FPGAs include a first FPGA installed in a first pooled system drawer linked in communication with a second FPGA installed in a second pooled system. 
     
     
         8 . The method of  claim 7 , wherein the first and second pooled compute drawers are linked in communication via a fabric, and wherein the chaining mechanism coupling the first FPGA in communication with the second FPGA traverses the fabric. 
     
     
         9 . The method of  claim 1 , wherein the chain of FPGAs includes a first FPGA in a first pooled system drawer linked in communication with a second FPGA in a second pooled system drawer that is linked in communication with a third FPGA in the second pooled system drawer. 
     
     
         10 . The method of  claim 9 , wherein the second and third FPGA are linked in communication via a cable. 
     
     
         11 . The method of  claim 9 , wherein the second pooled system drawer includes a backplane to which each of the first and second FPGAs are communicatively coupled, and wherein a portion of wiring in the backplane is used to carry signals to facilitate communication between the second and third FPGAs. 
     
     
         12 . A method implemented by components in a plurality of pooled system drawers installed in a rack, the pooled system drawers including one or more pooled compute drawers and one or more pooled Field Programmable Gate Array (FPGA) drawers, comprising:
 for each of the one or more pooled compute drawers installed in a rack,
 enumerating Field Programmable Gate Array (FPGA) devices that are associated with compute nodes installed in the pooled compute drawer; 
   for each of the one or more pooled FPGA drawers installed in a rack,
 enumerating FPGAs installed in the pooled FPGA drawer; 
   identifying chainable FPGAs among the FPGAs that are enumerated associated with the compute nodes installed in the one or more pooled compute drawers and the FPGAs that are enumerated for the one or more pooled FPGA drawers;
 identifying intra-drawer FPGA chaining mechanisms for chaining chainable FPGAs within the one or more pooled compute drawers and the one or more pooled FPGA drawers; and 
 identifying inter-drawer FPGA chaining mechanisms for chaining chainable FPGAs located in separate pooled system drawers; and 
 composing a unified view of the FPGAs for the rack, the unified view identifying a location and at least one of a size and type of each FPGA, whether the FPGA is a chainable FPGA, and a chaining mechanism for each chainable FPGA. 
   
     
     
         13 . The method of  claim 12 , further comprising:
 composing a compute node that is enabled to access a plurality of FPGAs that are allocated for the compute node, at least two of the plurality of FPGAs being linked in communication to form a chain of FPGAs; and   updating the unified view of the FPGAs to indicate the plurality of FPGAs are allocated to the compute node.   
     
     
         14 . The method of  claim 13 , wherein the chain of FPGAs includes a chaining mechanism that links a first FPGA in a first compute node in communication with a second FPGA in a second compute node. 
     
     
         15 . The method of  claim 14 , wherein the chaining mechanism comprise a cable coupled to respective ports on the first and second FPGAs. 
     
     
         16 . The method of  claim 14 , wherein the first and second compute nodes are installed in the same pooled compute drawer. 
     
     
         17 . The method of  claim 16 , wherein the first and second compute nodes are coupled to a backplane in the pooled compute drawer and the chaining mechanism that links the first FPGA in communication with the second FPGA includes wiring in the backplane. 
     
     
         18 . The method of  claim 16 , wherein the pooled compute drawer includes backplane wiring and each of the first FPGA and second FPGA is coupled to the backplane wiring. 
     
     
         19 . The method of  claim 14 , wherein the chain of FPGAs include first FPGA installed in a first pooled system drawer linked in communication with a second FPGA installed in a second pooled system. 
     
     
         20 . The method of  claim 19 , wherein the first and second pooled system drawers are linked in communication via a fabric, and wherein the chaining mechanism linking the first FPGA in communication with the second FPGA traverses the fabric. 
     
     
         21 . The method of  claim 13 , wherein the chain of FPGAs includes a first FPGA in a first pooled system drawer linked in communication with a second FPGA in a second pooled system drawer that is linked in communication with a third FPGA in the second pooled system drawer. 
     
     
         22 . The method of  claim 21 , wherein the second and third FPGA are linked in communication via a cable. 
     
     
         23 . The method of  claim 21 , wherein the second pooled system drawer includes a backplane to which each of the first and second FPGAs are communicatively coupled, and wherein a portion of wiring in the backplane is used to carry signals to facilitate communication between the second and third FPGAs. 
     
     
         24 . The method of  claim 12 , further comprising:
 receiving a request from a customer to be allocated compute resources including FPGA resources for use by the customer;   composing a compute node including a plurality of FPGAs to service the request, at least two of the plurality of FPGAs being chained to form a chain of FPGAs; and   enabling the customer to use the compute node that is composed.   
     
     
         25 . A pooled compute drawer, configured to be installed in a rack, comprising:
 a plurality of compute nodes, each compute node including,
 a processor; 
 memory, operatively coupled to the processor; and 
 a Field Programmable Gate Array (FPGA) device, operatively coupled to the processor; 
   the pooled compute drawer further including one or more chaining mechanisms for linking FPGAs included in respective compute nodes in communication to form an FPGA chain.   
     
     
         26 . The pooled compute drawer of  claim 25 , wherein a first compute node includes a first FPGA having a first port and a second compute node includes a second FPGA having a second port, and wherein a chaining mechanism comprises a cable coupled to the first and second ports on the first and second FPGAs. 
     
     
         27 . The pooled compute drawer of  claim 26 , further comprising a backplane, wherein each of a first compute node including a first FPGA and a second compute node including a second FPGA is coupled to the backplane and a chaining mechanism that links the first FPGA in communication with the second FPGA includes wiring in the backplane. 
     
     
         28 . The pooled compute drawer of  claim 26 , further comprising a backplane including backplane wiring, wherein the pooled compute drawer includes a first compute node including a first FPGA and a second compute drawer including a second FPGA, and wherein each of the first FPGA and second FPGA are communicatively coupled to a portion of the backplane wiring, linking the first FPGA in communication with the second FPGA.

Join the waitlist — get patent alerts

Track US2019171601A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.