IP Library › Granted Patent US 12,321,778
Granted Patent B1
US 12,321,778 · App. 17/474,963 · Granted Jun 3, 2025

Preemptive scheduling for serverless high performance computing

Inventor: Tiago Costa Tomas (Zaandam, NL)
Assignee: Amazon Technologies, Inc.
G06F9/4881G06F9/4825G06F9/505
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 12,321,778
App. No.
17/474,963
Granted
Jun 3, 2025
Kind
B1
Abstract

Disclosed are various embodiments for preemptive scheduling for a serverless High Performance Computing (HPC) architecture. In one embodiment, workloads are scheduled for execution by an infrastructure including a plurality of clusters. Execution of a particular workload is interrupted according to a scheduled interruption, and the particular workload is transferred from a first machine instance in a particular cluster to a second machine instance in the particular cluster. The execution of the particular workload is resumed by the second machine instance.

Claims (38)

1. A system, comprising:

a cloud provider network providing elastic computing capacity under a utility computing model;

a serverless high performance computing (HPC) infrastructure implemented in the cloud provider network and including a plurality of clusters and at least one cluster group to which the plurality of clusters are individually assigned; and

at least one computing device configured to at least:

schedule a plurality of workloads for execution by the serverless HPC infrastructure;

schedule a scheduled interruption of a particular workload of the plurality of workloads, based on one or more workload criteria, wherein the one or more workload criteria comprise a dependency between the particular workload and at one additional workload in the plurality of workloads;

interrupt the execution of the particular workload of the plurality of workloads according to the scheduled interruption;

transfer the particular workload from a first machine instance in a particular cluster of the plurality of clusters to a second machine instance in the particular cluster; and

resume the execution of the particular workload by the second machine instance.

2. The system of claim 1 , wherein the one or more workload criteria further comprise a capability of the first machine instance required by another workload, wherein the at least one computing device is further configured to at least determine to interrupt the execution of the particular workload in order to execute the other workload of the plurality of workloads on the first machine instance based at least in part on the capability of the first machine instance required by the other workload.

3. The system of claim 2 , wherein the second machine instance does not have the capability, and the particular workload does not require the capability.

4. The system of claim 1 wherein the at least one computing device is further configured to at least allocate the second machine instance after the execution of the particular workload on the first machine instance is interrupted.

5. The system of claim 1 wherein the at least one computing device is further configured to at least determine to use a vertical scaling for executing the particular workload instead of a horizontal scaling based at least in part on a licensing requirement associated with executing the particular workload, the vertical scaling involving replacing the first machine instance with the second machine instance having increased resources, the horizontal scaling involving adding the second machine instance so that both the first machine instance and the second machine instance execute the particular workload.

6. The system of claim 1 , wherein the one or more workload criteria further comprise a set of capabilities associated with the particular workload, and the first machine instance and the second machine instance are selected for executing the particular workload based at least in part on the set of capabilities.

7. The system of claim 1 , wherein the first machine instance corresponds to an ephemeral machine instance susceptible to an unpredictable interruption.

8. The system of claim 1 , wherein the at least one computing device is further configured to at least determine that the second machine instance has become available after interrupting the execution of the particular workload.

9. The system of claim 1 , wherein the at least one computing device is further configured to at least execute a different workload of the plurality of workloads on the first machine instance instead of the particular workload after interrupting the execution of the particular workload.

10. A computer-implemented method, comprising:

scheduling a plurality of workloads for execution by an infrastructure including a plurality of clusters;

scheduling a scheduled interruption of a particular workload of the plurality of workloads, based on one or more workload criteria, wherein the one or more workload criteria comprise a dependency between the particular workload and at least one additional workload in the plurality of workloads;

interrupting the execution of a particular workload of the plurality of workloads according to the scheduled interruption;

transferring the particular workload from a first machine instance in a particular cluster of the plurality of clusters to a second machine instance in the particular cluster, and

resuming the execution of the particular workload by the second machine instance.

11. The computer-implemented method of claim 10 , wherein the second machine instance provides at least one of: a greater computational capability, a greater networking capability, or a greater storage capability as compared to the first machine instance.

12. The computer-implemented method of claim 10 , further comprising transferring a portion of the particular workload from the second machine instance to a third machine instance in the particular cluster.

13. The computer-implemented method of claim 10 , wherein the particular workload is containerized.

14. The computer-implemented method of claim 10 , wherein the particular workload is executed by a licensed application executing on the second machine instance.

15. The computer-implemented method of claim 10 , wherein the one or more workload criteria further comprise a set of requirements of the particular workload, wherein scheduling the plurality of workloads for execution further comprises selecting the particular cluster to execute the particular workload based at least in part on determining that a set of capabilities of the particular cluster meets the set of requirements of the particular workload.

16. A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein when executed the program causes the at least one computing device to at least:

schedule a plurality of workloads for execution by an infrastructure including a plurality of clusters;

schedule a scheduled interruption of a particular workload of the plurality of workloads, based on one or more workload criteria, wherein the one or more workload criteria comprise a dependency between the particular workload and at least one additional workload in the plurality of workloads;

interrupt the execution of a particular workload of the plurality of workloads according to the scheduled interruption;

transfer the particular workload from a first machine instance in a particular cluster of the plurality of clusters to a second machine instance in the particular cluster; and

resume the execution of the particular workload by the second machine instance.

17. The non-transitory computer-readable medium of claim 16 , wherein when executed the program further causes the at least one computing device to at least transfer a portion of the particular workload from the second machine instance to a third machine instance in the particular cluster.

18. The non-transitory computer-readable medium of claim 16 , wherein the second machine instance provides at least one of: a greater computational capability, a greater networking capability, or a greater storage capability as compared to the first machine instance.

19. The non-transitory computer-readable medium of claim 16 , wherein the particular workload is executed by a licensed application executing on the second machine instance.

20. The non-transitory computer-readable medium of claim 16 , wherein the one or more workload criteria further comprise a set of capabilities of the particular cluster meets a set of requirements of the particular workload, wherein scheduling the plurality of workloads for execution further comprises selecting the particular cluster to execute the particular workload based at least in part on determining that the set of capabilities of the particular cluster meets a set of requirements of the particular workload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2021
From: COSTA TOMAS, TIAGO
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057490/0993 →
References Cited (19)
US 10171292B1 · Dolan et al. · 2019 [cited by applicant]
US 10412022B1 · Tang et al. · 2019 [cited by applicant]
US 10652327B2 · Nidugala · 2020 [cited by examiner]
US 10659523B1 · Joseph et al. · 2020 [cited by applicant]
US 10671443B1 · Ramachandran · 2020 [cited by applicant]
US 10884807B2 · Shimamura et al. · 2021 [cited by applicant]
US 10938677B2 · Shimamura et al. · 2021 [cited by applicant]
US 11082333B1 · Lam et al. · 2021 [cited by applicant]
US 11429453B1 · Hamman · 2022 [cited by examiner]
US 20050288961A1 · Tabrizi · 2005 [cited by applicant]
US 20130182712A1 · Aguayo et al. · 2013 [cited by applicant]
US 20150135185A1 · Sirota et al. · 2015 [cited by applicant]
US 20160299795A1 · Kagami · 2016 [cited by examiner]
US 20190196879A1 · Dutta et al. · 2019 [cited by applicant]
US 20200285975A1 · Suparna · 2020 [cited by examiner]
US 20200404059A1 · Feiguine et al. · 2020 [cited by applicant]
US 20210234756A1 · Fong et al. · 2021 [cited by applicant]
US 20230076488A1 · Goiri Presa et al. · 2023 [cited by applicant]
U.S. Appl. No. 17/474,951, filed Sep. 14, 2021. [cited by applicant]