IP Library › Granted Patent US 11,824,793
Granted Patent B2
US 11,824,793 · App. 18/107,343 · Granted Nov 21, 2023

Unlocking computing resources for decomposable data centers

Inventors: Chakradhar Kar (San Jose, CA); Sagar Borikar (San Jose, CA); Ramesh Sivakolundu (Saratoga, CA); Ayan Banerjee (Fremont, CA); Anant Thakar (Los Altos, CA)
Assignee: Cisco Technology, Inc.
H04L47/722H04L67/568H04L69/08
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,824,793
App. No.
18/107,343
Granted
Nov 21, 2023
Kind
B2
Abstract

Techniques for sending Compute Express Link (CXL) packets over Ethernet (CXL-E) in a composable data center that may include disaggregated, composable servers. The techniques may include receiving, from a first server device, a request to bind the first server device with a multiple logical device (MLD) appliance. Based at least in part on the request, a first CXL-E connection may be established for the first server device to export a computing resource to the MLD appliance. The techniques may also include receiving, from the MLD appliance, an indication that the computing resource is available, and receiving, from a second server device, a second request for the computing resource. Based at least in part on the second request, a second CXL-E connection may be established for the second server device to consume or otherwise utilize the computing resource of the first server device via the MLD appliance.

Claims (34)

1. A method comprising:

receiving, at a controller associated with a composable data center, a request associated with an application to be hosted on resources of the composable data center;

determining, by the controller, a first group of servers of the composable data center with available compute resources to support a number of cores requested for the application;

determining, by the controller, a second group of servers from the first group of servers that satisfy a memory-latency constraint to support the application; and

selecting, by the controller, a first server from the second group of servers to host the application based at least in part on a first resource score associated with the first server being greater than a second resource score associated with a second server from the second group of servers.

2. The method of claim 1 , wherein the request includes a domain label and each server of the first group of servers is tagged with the domain label.

3. The method of claim 1 , wherein the request includes a domain label and each one of the available compute resources is tagged with the domain label.

4. The method of claim 1 , wherein determining the second group of servers that satisfy the memory-latency constraint comprises determining that each server of the second group of servers has an available amount of a memory resource that meets or exceeds a threshold amount, the memory resource including at least one of double data rate (DDR) dynamic random-access memory (DRAM), storage class memory, or remote persistent memory.

5. The method of claim 1 , further comprising determining a memory-latency constraint score associated with each server of the second group of servers, a value of the memory-latency constraint score being based at least in part on an available amount of a memory resource for each server, wherein the first resource score and the second resource score are based at least in part on the memory-latency constraint score associated with the first server and the second server.

6. The method of claim 1 , further comprising determining an accelerator constraint score associated with each server of the second group of servers, a value of the accelerator constraint score being based at least in part on graphics processing unit (GPU) offloads for each server, wherein the first resource score and the second resource score are based at least in part on the accelerator constraint score associated with the first server and the second server.

7. The method of claim 1 , further comprising determining a storage constraint score associated with each server of the second group of servers, a value of the storage constraint score being based at least in part on storage requirements associated with each server, wherein the first resource score and the second resource score are based at least in part on the storage constraint score associated with the first server and the second server.

8. The method of claim 1 , further comprising establishing a connection with the first server for the application based at least in part on selecting the first server.

9. The method of claim 8 , wherein the connection is at least one of a compute express link (CXL) connection or a CXL over ethernet (CXL-E) connection.

10. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving, at a controller associated with a composable data center, a request associated with an application to be hosted on resources of the composable data center;

determining, by the controller, a first group of servers of the composable data center with available compute resources to support a number of cores requested for the application;

determining, by the controller, a second group of servers from the first group of servers that satisfy a memory-latency constraint to support the application; and

selecting, by the controller, a first server from the second group of servers to host the application based at least in part on a first resource score associated with the first server being greater than a second resource score associated with a second server from the second group of servers.

11. The system of claim 10 , wherein the request includes a domain label and each server of the first group of servers is tagged with the domain label.

12. The system of claim 10 , wherein the request includes a domain label and each one of the available compute resources is tagged with the domain label.

13. The system of claim 10 , wherein determining the second group of servers that satisfy the memory-latency constraint comprises determining that each server of the second group of servers has an available amount of a memory resource that meets or exceeds a threshold amount, the memory resource including at least one of double data rate (DDR) dynamic random-access memory (DRAM), storage class memory, or remote persistent memory.

14. The system of claim 10 , the operations further comprising determining a memory-latency constraint score associated with each server of the second group of servers, a value of the memory-latency constraint score being based at least in part on an available amount of a memory resource for each server, wherein the first resource score and the second resource score are based at least in part on the memory-latency constraint score associated with the first server and the second server.

15. The system of claim 10 , the operations further comprising determining an accelerator constraint score associated with each server of the second group of servers, a value of the accelerator constraint score being based at least in part on graphics processing unit (GPU) offloads for each server, wherein the first resource score and the second resource score are based at least in part on the accelerator constraint score associated with the first server and the second server.

16. The system of claim 10 , the operations further comprising determining a storage constraint score associated with each server of the second group of servers, a value of the storage constraint score being based at least in part on storage requirements associated with each server, wherein the first resource score and the second resource score are based at least in part on the storage constraint score associated with the first server and the second server.

17. The system of claim 10 , the operations further comprising establishing a connection with the first server for the application based at least in part on selecting the first server.

18. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:

receiving, at a controller associated with a composable data center, a request associated with an application to be hosted on resources of the composable data center;

determining, by the controller, a first group of servers of the composable data center with available compute resources to support a number of cores requested for the application;

determining, by the controller, a second group of servers from the first group of servers that satisfy a memory-latency constraint to support the application; and

selecting, by the controller, a first server from the second group of servers to host the application based at least in part on a first resource score associated with the first server being greater than a second resource score associated with a second server from the second group of servers.

19. The one or more non-transitory computer-readable media of claim 18 , wherein the request includes a domain label and each server of the first group of servers is tagged with the domain label.

20. The one or more non-transitory computer-readable media of claim 18 , wherein determining the second group of servers that satisfy the memory-latency constraint comprises determining that each server of the second group of servers has an available amount of a memory resource that meets or exceeds a threshold amount, the memory resource including at least one of double data rate (DDR) dynamic random-access memory (DRAM), storage class memory, or remote persistent memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: KAR, CHAKRADHAR; BORIKAR, SAGAR; SIVAKOLUNDU, RAMESH; BANERJEE, AYAN; THAKAR, ANANT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 062685/0667 →
Continuity (9)
Continuation 17751181 · May 23, 2022
Provisional Application 63254367 · Oct 11, 2021
Provisional Application 63254398 · Oct 11, 2021
Provisional Application 63254375 · Oct 11, 2021
Provisional Application 63254381 · Oct 11, 2021
Provisional Application 63254335 · Oct 11, 2021
Provisional Application 63254365 · Oct 11, 2021
Provisional Application 63254341 · Oct 11, 2021
Related Publication 20230188474A1 · Jun 15, 2023