IP Library › Granted Patent US 11,016,832
Granted Patent B2
US 11,016,832 · App. 16/344,582 · Granted May 25, 2021

Cloud-based scale-up system composition

Inventors: Mohan J. Kumar (Aloha, OR); Murugasamy K. Nachimuthu (Beaverton, OR); Krishna Bhuyan (Sammamish, WA)
Assignee: Intel Corporation
G06F11/0709G06F11/079G06F11/0751G06F11/3006G06F11/3055H05K7/1487G06F9/505G06F9/5083G06F11/3034G06F11/3409G06F16/285H04Q11/0005H05K7/1447H05K7/1492
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,016,832
App. No.
16/344,582
Granted
May 25, 2021
Kind
B2
Abstract

Technologies for composing a managed node with multiple processors on multiple compute sleds to cooperatively execute a workload include a memory, one or more processors connected to the memory, and an accelerator. The accelerator further includes a coherence logic unit that is configured to receive a node configuration request to execute a workload. The node configuration request identifies the compute sled and a second compute sled to be included in a managed node. The coherence logic unit is further configured to modify a portion of local working data associated with the workload on the compute sled in the memory with the one or more processors of the compute sled, determine coherence data indicative of the modification made by the one or more processors of the compute sled to the local working data in the memory, and send the coherence data to the second compute sled of the managed node.

Claims (56)

1. A compute sled comprising:

a memory;

one or more processors connected to the memory; and

an accelerator comprising a coherence logic unit, wherein the coherence logic unit is to (i) receive a node configuration request to execute a workload, wherein the node configuration request identifies the compute sled and a second compute sled to be included in a managed node, (ii) modify, with the one or more processors of the compute sled, a portion of local working data associated with the workload on the compute sled in the memory, (iii) determine coherence data indicative of the modification made by the one or more processors of the compute sled to the local working data in the memory, (iv) send the coherence data to the second compute sled of the managed node, (v) receive coherence data from the second compute sled; and (vi) update the local working data with the coherence data received from the second compute sled.

2. The compute sled of claim 1 , wherein to receive the node configuration request comprises to receive memory addresses of memory on the compute sled and the second compute sled to share the coherence data.

3. The compute sled of claim 1 , wherein the coherence logic unit is further to determine, in response to a receipt of the node configuration request, an availability of the one or more processors of the compute sled.

4. The compute sled of claim 3 , wherein to determine the availability of the one or more processors of the compute sled comprises to:

determine whether a present load on each processor exceeds a threshold; and

send a response indicative of a number of processors having a present load that does not exceed the threshold as being available to cooperatively execute the workload.

5. The compute sled of claim 1 , wherein the coherence logic unit is further to determine an amount of bandwidth to communicate with another coherence logic unit of the second compute sled.

6. The compute sled of claim 5 , wherein to determine the amount of bandwidth comprises to determine an amount of bandwidth as a function of a total number of processors that are to be included in the managed node or a function of a total number of compute sleds that are to be included in the managed node.

7. The compute sled of claim 5 , wherein to determine the amount of bandwidth comprises to determine an amount of bandwidth as a function of a size of the local working data to be operated on or a function of a type of the workload.

8. The compute sled of claim 5 , wherein the coherence logic unit is further to send a request to a network switch for the determined amount of bandwidth.

9. The compute sled of claim 1 , wherein to send the coherence data to the second compute sled of the managed node comprises to send the coherence data associated with a memory address identified in the node configuration request.

10. The compute sled of claim 1 , wherein the coherence logic unit is a kernel of a field programmable gate array.

11. The compute sled of claim 1 , wherein the node configuration request identifies a number of processors of the compute sled to be included in the managed node.

12. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, when executed by a compute sled cause the compute sled to:

receive a node configuration request to execute a workload, wherein the node configuration request identifies the compute sled and a second compute sled to be included in a managed node;

modify a portion of local working data associated with the workload in a memory of the compute sled;

determine coherence data indicative of the modification made by one or more processors of the compute sled to the local working data in the memory;

send the coherence data to the second compute sled of the managed node;

receive coherence data from the second compute sled; and

update the local working data with the coherence data received from the second compute sled.

13. The one or more non-transitory machine-readable storage media of claim 12 , wherein to receive the node configuration request comprises to receive memory addresses of memory on the compute sled and the second compute sled to share the coherence data.

14. The one or more non-transitory machine-readable storage media of claim 12 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the compute sled to determine, in response to a receipt of the node configuration request, an availability of the one or more processors of the compute sled.

15. The one or more non-transitory machine-readable storage media of claim 14 , wherein to determine the availability of the one or more processors of the compute sled comprises to:

determine whether a present load on each processor exceeds a threshold; and

send a response indicative of a number of processors having a present load that does not exceed the threshold as being available to cooperatively execute the workload.

16. The one or more non-transitory machine-readable storage media of claim 12 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the compute sled to determine an amount of bandwidth to communicate with a coherence logic unit of the second compute sled.

17. The one or more non-transitory machine-readable storage media of claim 16 , wherein to determine the amount of bandwidth comprises to determine an amount of bandwidth as a function of a total number of processors that are to be included in the managed node or a function of a total number of compute sleds that are to be included in the managed node.

18. The one or more non-transitory machine-readable storage media of claim 16 , wherein to determine the amount of bandwidth comprises to determine an amount of bandwidth as a function of a size of the local working data to be operated on and/or a function of a type of the workload.

19. The one or more non-transitory machine-readable storage media of claim 16 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the compute sled to send a request to a network switch for the determined amount of bandwidth.

20. The one or more non-transitory machine-readable storage media of claim 12 , wherein to send the coherence data to the second compute sled of the managed node comprises to send the coherence data associated with a memory address identified in the node configuration request.

21. The one or more non-transitory machine-readable storage media of claim 12 , wherein to determine the coherence data comprises to determine the coherence data with a field programmable gate array of the compute sled.

22. The one or more non-transitory machine-readable storage media of claim 12 , further comprising a plurality of instructions stored thereon that, in response to being executed, cause the compute sled to:

receive coherence data from the second compute sled; and

update, by a field programmable gate array of the compute sled, the local working data with the coherence data received from the second compute sled.

23. A compute sled comprising:

circuitry for receiving a node configuration request to execute a workload, wherein the node configuration request identifies the compute sled and a second compute sled to be included in a managed node;

means for modifying a portion of local working data associated with the workload in a memory of the compute sled;

means for determining coherence data indicative of the modification made by one or more processors of the compute sled to local working data in the memory;

means for sending the coherence data to the second compute sled of the managed node;

means for receiving coherence data from the second compute sled; and

means for updating the local working data with the coherence data received from the second compute sled.

24. A method comprising:

receiving, by a compute sled, a node configuration request to execute a workload, wherein the node configuration request identifies the compute sled and a second compute sled to be included in a managed node;

executing, by the compute sled, the workload contemporaneously with the second compute sled executing the workload, wherein executing the workload comprises reading and writing working data associated with the workload;

maintaining, by an accelerator of the compute sled, coherence between a local copy of working data associated with the workload stored on the compute sled and a remote copy of the working data associated with the workload stored on the second compute sled during contemporaneous execution of the workload by the compute sled and a remote compute sled, wherein maintaining coherence between the local copy of the working data and the remote copy of the working data comprises:

determining, by the compute sled, coherence data indicative of a modification made by one or more processors of the compute sled to the local copy of working data in memory; and

sending, by the compute sled, the coherence data to the second compute sled of the managed node.

25. The method of claim 24 , wherein receiving the node configuration request comprises receiving, by the compute sled, memory addresses of memory on the compute sled and the second compute sled to share the coherence data.

26. The method of claim 24 , further comprising determining, by the compute sled and in response to a receipt of the node configuration request, an availability of the one or more processors of the compute sled.

27. The method of claim 24 , further comprising:

receiving, by the compute sled, coherence data from the second compute sled; and

updating, by the compute sled, the local copy of the working data with the coherence data received from the second compute sled.

28. The method of claim 24 , further comprising determining, by the compute sled, an amount of bandwidth to communicate with a coherence logic unit of the second compute sled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: KUMAR, MOHAN J.; NACHIMUTHU, MURUGASAMY K.; BHUYAN, KRISHNA
To: INTEL CORPORATION
Reel/Frame 053864/0877 →
Priority Claims (1)
IN 201741030632 · Aug 30, 2017 · national
Continuity (3)
Provisional Application 62427268 · Nov 29, 2016
Provisional Application 62584401 · Nov 10, 2017
Related Publication 20200050497A1 · Feb 13, 2020