IP Library Granted Patent US 11,973,650
Granted Patent B2
US 11,973,650 · App. 16/858,005 · Granted Apr 30, 2024

Multi-protocol communication fabric control

Inventors: James Scott Cannata (Denver, CO); Phillip Clark (Boulder, CO); Bryan Nagel (Denver, CO); Henry Lee Harris (Redding, CA); Bryan Schramm (Broomfield, CO); Sumit Puri (Calabasas, CA)
Assignee: Liqid Inc.
H04L41/0893G06F9/5077G06F13/4022H04L41/0803H04L47/10H04L49/35H04L69/08G06F2209/5011G06F2213/0026
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,973,650
App. No.
16/858,005
Granted
Apr 30, 2024
Kind
B2
Abstract

Deployment of arrangements of computing components coupled over a communication fabric are presented herein. In one example, a method includes detecting first computing components communicatively coupled to a first communication fabric having a first communication fabric type, and detecting second computing components communicatively coupled to a second communication fabric having a second communication fabric type. The method also includes receiving user commands to form compute units among a pool of computing components comprising the first computing components and the second computing components. Based at least on the user commands, the method includes forming the compute units for use by one or more users.

Claims (48)

1. A method comprising:

detecting first computing components communicatively coupled to a first communication fabric that conforms to a first communication fabric protocol;

detecting second computing components communicatively coupled to a second communication fabric that conforms to a second communication fabric protocol different than the first communication fabric protocol;

receiving user commands to form a compute unit among a pool of computing components comprising the first computing components and the second computing components, wherein the user commands indicate to form the compute unit as having selected computing components from both the first communication fabric and the second communication fabric;

based at least on the user commands, forming the compute unit by at least forming a logical domain that spans the first communication fabric and the second communication fabric and includes the selected computing components;

initiating a conversion unit to interwork communications for the compute unit among first selected computing components that use the first communication fabric protocol and second selected computing components that use the second communication fabric protocol; and

based at least on a policy affecting the compute unit, migrating a workload for the compute unit by at least adding, into the compute unit, additional computing components that use the second communication fabric protocol and removing, from the compute unit, the first selected computing components that use the first communication fabric protocol.

2. The method of claim 1 , further comprising:

presenting the first computing components and the second computing components in a control interface as a shared pool of computing components available to compose into arbitrary compute units having computing components selected from both the first communication fabric and the second communication fabric; and

receiving user commands via the control interface.

3. The method of claim 1 , further comprising:

forming a first logical partition in the first communication fabric and a second logical partition in the second communication fabric to include the selected computing components of the compute unit into the logical domain.

4. The method of claim 1 , wherein the conversion unit is configured to interwork different ones among communication fabric types, communication protocol types, or communication protocol versions among the selected computing components of the compute unit.

5. The method of claim 1 , further comprising:

based at least on a first configuration inhibiting spanning across different communication fabric types, indicating to a user that at least one of the computing components of the pool of computing components cannot be included among the selected computing components;

based at least on a second configuration allowing spanning across different communication fabric types, indicating to the user that at least another of the computing components of the pool of computing components can be included among the selected computing components.

6. The method of claim 1 , wherein the first communication fabric comprises a communication fabric conforming to a Peripheral Component Interconnect Express (PCIe) communication protocol standard, and wherein the second communication fabric comprises a communication fabric conforming to at least one among a Gen-Z, InfiniBand, NVMe, Ethernet, Serial Attached SCSI (SAS), FibreChannel, Thunderbolt, Serial Attached ATA Express (SATA Express), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), Open Coherent Accelerator Processor Interface (OpenCAPI), Wi-Fi, cellular wireless communication fabric, and different version of PCIe fabric.

7. The method of claim 1 , wherein a management processor is communicatively coupled to the first communication fabric, and wherein the management processor is configured to communicate over the second communication fabric via the first communication fabric.

8. The method of claim 1 , further comprising:

performing a discovery process to identify the first computing components as associated with the first communication fabric protocol, and identify the second computing components as associated with the second communication fabric protocol; and

maintaining one or more data structures which indicates a communication fabric protocol for each of the first computing components and each of the second computing components.

9. The method of claim 1 , wherein the first communication fabric protocol and the second communication fabric protocol each comprise a different protocol type or different protocol version conforming to at least one among a Peripheral Component Interconnect Express (PCIe), Gen-Z, InfiniBand, NVMe, Ethernet, Serial Attached SCSI (SAS), FibreChannel, Thunderbolt, Serial Attached ATA Express (SATA Express), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), Open Coherent Accelerator Processor Interface (OpenCAPI) Wi-Fi, and cellular wireless communication fabric.

10. An apparatus, comprising:

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, based on being read and executed by a processing system, direct the processing system to at least:

detect first computing components communicatively coupled to a first communication fabric that conforms to a first communication fabric protocol;

detect second computing components communicatively coupled to a second communication fabric that conforms to a second communication fabric protocol different than the first communication fabric protocol;

receive user commands to form a compute unit among a pool of computing components comprising the first computing components and the second computing components, wherein the user commands indicate to form the compute unit as having selected computing components from both the first communication fabric and the second communication fabric;

based at least on the user commands, form the compute unit by at least forming a logical domain that spans the first communication fabric and the second communication fabric and includes the selected computing components;

initiate a conversion unit to interwork communications for the compute unit among first selected computing components that use the first communication fabric protocol and second selected computing components that use the second communication fabric protocol; and

based at least on a policy affecting the compute unit, migrate a workload for the compute unit by at least adding, into the compute unit, additional computing components that use the second communication fabric protocol and removing, from the compute unit, the first selected computing components that use the first communication fabric protocol.

11. The apparatus of claim 10 , wherein the conversion unit is configured to interwork different ones among communication fabric types, communication protocol types, or communication protocol versions among the selected computing components of the compute unit.

12. The apparatus of claim 10 , comprising further program instructions, based on being executed by the processing system, direct the processing system to at least:

based at least on a first configuration inhibiting spanning across different communication fabric types, indicate to a user that at least one of the computing components of the pool of computing components cannot be included among the selected computing components;

based at least on a second configuration allowing spanning across different communication fabric types, indicate to the user that at least another of the computing components of the pool of computing components can be included among the selected computing components.

13. The apparatus of claim 10 , wherein the first communication fabric comprises a communication fabric conforming to a Peripheral Component Interconnect Express (PCIe) communication protocol standard, and wherein the second communication fabric comprises a communication fabric conforming to at least one among a Gen-Z, InfiniBand, NVMe, Ethernet, Serial Attached SCSI (SAS), FibreChannel, Thunderbolt, Serial Attached ATA Express (SATA Express), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), Open Coherent Accelerator Processor Interface (OpenCAPI), Wi-Fi, and cellular wireless communication fabric, and different version of PCIe fabric.

14. The apparatus of claim 10 , comprising further program instructions, based on being executed by the processing system, direct the processing system to at least:

perform a discovery process to identify the first computing components as associated with the first communication fabric protocol, and identify the second computing components as associated with the second communication fabric protocol; and

maintain one or more data structures which indicates a communication fabric protocol for each of the first computing components and each of the second computing components.

15. The apparatus of claim 10 , wherein the first communication fabric protocol and the second communication fabric protocol each comprise a different protocol type or different protocol version conforming to at least one among a Peripheral Component Interconnect Express (PCIe), Gen-Z, InfiniBand, NVMe, Ethernet, Serial Attached SCSI (SAS), FibreChannel, Thunderbolt, Serial Attached ATA Express (SATA Express), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), Open Coherent Accelerator Processor Interface (OpenCAPI), Wi-Fi, and cellular wireless communication fabric.

16. A computing system, comprising:

first components communicatively coupled to a first communication fabric that conforms to a first communication fabric protocol;

second components communicatively coupled to a second communication fabric that conforms to a second communication fabric protocol different than the first communication fabric protocol;

a user interface configured to receive user commands to form a compute unit among a pool of components comprising the first components and the second components; and

based at least on the user commands, a management processor configured to form the compute unit by at least forming a logical domain that spans the first communication fabric and the second communication fabric and includes the selected computing components;

the management processor configured to enable a conversion unit to interwork communications for the compute unit among first selected computing components that use the first communication fabric protocol and second selected computing components that use the second communication fabric protocol; and

based at least on a policy affecting the compute unit, the management processor configured to migrate a workload for the compute unit by at least adding into the compute unit additional computing components that use the second communication fabric protocol and removing the first selected computing components that use the first communication fabric protocol.

17. The computing system of claim 16 , wherein the first communication fabric protocol and the second communication fabric protocol each comprise a different protocol type or different protocol version conforming to at least one among a Peripheral Component Interconnect Express (PCIe), Gen-Z, InfiniBand, NVMe, Ethernet, Serial Attached SCSI (SAS), FibreChannel, Thunderbolt, Serial Attached ATA Express (SATA Express), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), and Open Coherent Accelerator Processor Interface (OpenCAPI), Wi-Fi, and cellular wireless communication fabric.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 16, 2021
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: LIQID INC.
Reel/Frame 055953/0860 →
SECURITY INTEREST Recorded Jan 5, 2021
From: LIQID INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 054900/0539 →
SECURITY INTEREST Recorded Oct 30, 2020
From: LIQID INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 054221/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: CANNATA, JAMES SCOTT; CLARK, PHILLIP; NAGEL, BRYAN; HARRIS, HENRY LEE; SCHRAMM, BRYAN; PURI, SUMIT
To: LIQID INC.
Reel/Frame 052491/0961 →
Continuity (3)
Provisional Application 62934703 · Nov 13, 2019
Provisional Application 62838504 · Apr 25, 2019
Related Publication 20200344329A1 · Oct 29, 2020
Cited By (2)
US 12,224,906 US 12,432,286