IP Library Granted Patent US 12,468,575
Granted Patent B2
US 12,468,575 · App. 18/307,465 · Granted Nov 11, 2025

System and method for scheduling resources of distributed systems to perform workloads

Inventors: John A. Lockman, III (Granite Shoals, TX); Dharmesh M. Patel (Round Rock, TX)
Assignee: Dell Products L.P.
G06F9/505G06F9/4881
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,468,575
App. No.
18/307,465
Granted
Nov 11, 2025
Kind
B2
Abstract

Methods and systems for performing workloads are disclosed. The workloads may be distributed across any number of processing elements for performance. The processing elements may be supported by communication elements. The operation of the communication elements may impact the rate at which the processing elements are able to complete the workloads. The operation of the communication elements may be dynamically configured to speed completion of workloads.

Claims (87)

1 . A method for managing performance of workloads by a distributed system, the method comprising:

identifying, by an element of the distributed system, a workload of the workloads for performance by the distributed system;

attempting to establish a workgroup to perform the workload by advertising available portions of the workload using an intent queue;

making a determination regarding whether the workgroup has been established within a duration of time from the workload being identified by the element of the distributed system;

in a first instance of the determination where the workgroup is established:

reconfiguring a portion of communication elements of the distributed system to support a performance of the workload by the workgroup to obtain a reconfigured communication elements, and

initiating the performance of the workload by the workgroup using the reconfigured communication elements;

in a second instance of the determination where the workgroup is not established:

disbanding a prototype workgroup obtained through the attempting to establish the workgroup; and

populating the intent queue with a new request for the performance of the workload.

2 . The method of claim 1 , wherein attempting to establish the workgroup comprises:

identifying a second element of the distributed system that has joined the prototype workgroup;

identifying a portion of the workload that the second element is committed to perform;

making a second determination regarding whether the prototype workgroup is able to handle the performance of the workload;

in a first instance of the second determination where the prototype workgroup is unable to handle the performance of the workload;

making a third determination regarding whether the duration of time has elapsed;

in a first instance of the third determination where the duration of time has not elapsed:

adding a revised workload request to the intent queue, the revised workload request being based, at least in part, on the portion of the workload; and

in a second instance of the third determination where the duration of time has elapsed:

terminating search for additional members for the prototype workgroup.

3 . The method of claim 1 , wherein advertising the available portions of the workload using the intent queue comprises:

as members are added to the prototype workgroup, adding new workload requests to the intent queue based on remaining portions of the workload that have not yet been claimed by the members of the prototype workgroup.

4 . The method of claim 3 , wherein new members are added to the prototype workgroup based on previously added workload requests of the intent queue that have been removed by the members.

5 . The method of claim 4 , wherein each of the new workload requests indicate all portions of the workload that are unclaimed.

6 . The method of claim 1 , wherein reconfiguring the portion of communication elements of the distributed system comprises an action selected from a list of actions consisting of:

initiating use of a communication protocol; and

establishing a private network.

7 . The method of claim 1 , wherein reconfiguring the portion of communication elements of the distributed system further comprises:

responsive to completion of the workload, reversing a change in operation of the portion of the communication elements due to action.

8 . A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for managing performance of workloads by a distributed system, the operations comprising:

identifying, by an element of the distributed system, a workload of the workloads for performance by the distributed system;

attempting to establish a workgroup to perform the workload by advertising available portions of the workload using an intent queue;

making a determination regarding whether the workgroup has been established within a duration of time from the workload being identified by the element of the distributed system;

in a first instance of the determination where the workgroup is established:

reconfiguring a portion of communication elements of the distributed system to support a performance of the workload by the workgroup to obtain a reconfigured communication elements, and

initiating the performance of the workload by the workgroup using the reconfigured communication elements;

in a second instance of the determination where the workgroup is not established:

disbanding a prototype workgroup obtained through the attempting to establish the workgroup; and

populating the intent queue with a new request for the performance of the workload.

9 . The non-transitory machine-readable medium of claim 8 , wherein attempting to establish the workgroup comprises:

identifying a second element of the distributed system that has joined the prototype workgroup;

identifying a portion of the workload that the second element is committed to perform;

making a second determination regarding whether the prototype workgroup is able to handle the performance of the workload;

in a first instance of the second determination where the prototype workgroup is unable to handle the performance of the workload;

making a third determination regarding whether the duration of time has elapsed;

in a first instance of the third determination where the duration of time has not elapsed:

adding a revised workload request to the intent queue, the revised workload request being based, at least in part, on the portion of the workload; and

in a second instance of the third determination where the duration of time has elapsed:

terminating search for additional members for the prototype workgroup.

10 . The non-transitory machine-readable medium of claim 9 , wherein advertising the available portions of the workload using the intent queue comprises:

as members are added to the prototype workgroup, adding new workload requests to the intent queue based on remaining portions of the workload that have not yet been claimed by the members of the prototype workgroup.

11 . The non-transitory machine-readable medium of claim 10 , wherein new members are added to the prototype workgroup based on previously added workload requests of the intent queue that have been removed by the members.

12 . The non-transitory machine-readable medium of claim 11 , wherein each of the new workload requests indicate all portions of the workload that are unclaimed.

13 . The non-transitory machine-readable medium of claim 8 , wherein reconfiguring the portion of communication elements of the distributed system comprises an action selected from a list of actions consisting of:

initiating use of a communication protocol; and

establishing a private network.

14 . The non-transitory machine-readable medium of claim 13 , wherein reconfiguring the portion of communication elements of the distributed system further comprises:

responsive to completion of the workload, reversing a change in operation of the portion of the communication elements due to action.

15 . A data processing system, comprising:

a processor, and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations for managing performance of workloads by a distributed system, the operations comprising:

identifying, by an element of the distributed system, a workload of the workloads for performance by the distributed system;

attempting to establish a workgroup to perform the workload by advertising available portions of the workload using an intent queue;

making a determination regarding whether the workgroup has been established within a duration of time from the workload being identified by the element of the distributed system;

in a first instance of the determination where the workgroup is established:

initiating reconfiguration of a portion of communication elements of the distributed system to support a performance of the workload by the workgroup to obtain a reconfigured communication elements, and

initiating the performance of the workload by the workgroup using the reconfigured communication elements;

in a second instance of the determination where the workgroup is not established:

disbanding a prototype workgroup obtained through the attempting to establish the workgroup; and

populating the intent queue with a new request for the performance of the workload.

16 . The data processing system of claim 15 , wherein attempting to establish the workgroup comprises:

identifying a second element of the distributed system that has joined the prototype workgroup;

identifying a portion of the workload that the second element is committed to perform;

making a second determination regarding whether the prototype workgroup is able to handle the performance of the workload;

in a first instance of the second determination where the prototype workgroup is unable to handle the performance of the workload;

making a third determination regarding whether the duration of time has elapsed;

in a first instance of the third determination where the duration of time has not elapsed:

adding a revised workload request to the intent queue, the revised workload request being based, at least in part, on the portion of the workload; and

in a second instance of the third determination where the duration of time has elapsed:

terminating search for additional members for the prototype workgroup.

17 . The data processing system of claim 16 , wherein advertising the available portions of the workload using the intent queue comprises:

as members are added to the prototype workgroup, adding new workload requests to the intent queue based on remaining portions of the workload that have not yet been claimed by the members of the prototype workgroup.

18 . The data processing system of claim 17 , wherein new members are added to the prototype workgroup based on previously added workload requests of the intent queue that have been removed by the members.

19 . The data processing system of claim 18 , wherein each of the new workload requests indicate all portions of the workload that are unclaimed.

20 . The data processing system of claim 15 , wherein reconfiguring the portion of communication elements of the distributed system comprises an action selected from a list of actions consisting of:

initiating use of a communication protocol; and

establishing a private network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2023
From: LOCKMAN, JOHN A., III; PATEL, DHARMESH M.
To: DELL PRODUCTS L.P.
Reel/Frame 063562/0919 →
Continuity (1)
Related Publication 20240362074A1 · Oct 31, 2024
References Cited (10)
US 7159221B1 · Willen · 2007 [cited by examiner]
US 11138048B2 · Barik et al. · 2021 [cited by applicant]
US 11601497B1 · Abhigyan · 2023 [cited by examiner]
US 20150012658A1 · Elmore · 2015 [cited by examiner]
US 20220179700A1 · Jreij · 2022 [cited by examiner]
US 20230034835A1 · Reyes · 2023 [cited by examiner]
“PERF05-BP01 Understand how networkingimpacts performance,” Amazon Web Services, Web Page <https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/perf_select_network_understand_impact.html> acc… [cited by applicant]
“Configure Azure CNI networking in Azure Kubernetes Service (AKS),” Microsoft, Web Page <https://learn.microsoft.com/en-us/azure/aks/configure-azure-cni> accessed on Jan. 8, 2023 (17 Pages). [cited by applicant]
Hawthorne, Mel, “What Is Work Stealing?” TechniPages, Web Page <https://www.technipages.com/what-is-work-stealing/> accessed on Jan. 8, 2023 (7 Pages). [cited by applicant]
Gad, Esraa A., “A Work-Stealing for Dynamic Workload Balancing on CPU-GPU Heterogeneous Computing Platforms” (2017) Electronic Theses and Dissertations. 945. (43 Pages). [cited by applicant]