Load balancing for multi-threaded applications via asymmetric power throttling
First Claim
Patent Images
1. A non-transitory machine-accessible storage medium including instructions that, when executed by a machine, cause the machine to perform a method comprising:
- determining a first execution time of a first thread of a process previously executed on a first processing unit of a multiprocessor;
determining a second execution time of a second thread of the process previously executed on a second processing unit of the multiprocessor;
adjusting a first power to the first processing unit and a second power to the second processing unit according to the first and second execution times of the first and second threads, wherein adjusting the first and second powers is for future execution of the same first and second threads of the process; and
wherein the adjusted first and second powers have a total power value below or equal to a total power budget for the multiprocessor.
0 Assignments
0 Petitions
Accused Products
Abstract
A first execution time of a first thread executing on a first processing unit of a multiprocessor is determined. A second execution time of a second thread executing on a second processing unit of the multiprocessor is determined, the first and second threads executing in parallel. Power is set to the first and second processing units to effectuate the first and second threads to finish executing at approximately the same time in future executions of the first and second threads. Other embodiments are also described and claimed.
-
Citations
29 Claims
-
1. A non-transitory machine-accessible storage medium including instructions that, when executed by a machine, cause the machine to perform a method comprising:
-
determining a first execution time of a first thread of a process previously executed on a first processing unit of a multiprocessor; determining a second execution time of a second thread of the process previously executed on a second processing unit of the multiprocessor; adjusting a first power to the first processing unit and a second power to the second processing unit according to the first and second execution times of the first and second threads, wherein adjusting the first and second powers is for future execution of the same first and second threads of the process; and wherein the adjusted first and second powers have a total power value below or equal to a total power budget for the multiprocessor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14)
-
-
13. A method comprising:
-
determining a first execution time of a first thread of a process previously executed on a first processing unit of a multiprocessor; determining a second execution time of a second thread of the process previously executed on a second processing unit of the multiprocessor; adjusting a first power to the first processing unit and a second power to the second processing unit according to the first and second execution times of the first and second threads, wherein adjusting the first and second powers is for future execution of the same first and second threads of the process; and wherein the adjusted first and second powers have a total power value below or equal to a total power budget for the multiprocessor.
-
-
15. A multiprocessor comprising:
-
a first processing unit to operate at a first power; and a second processing unit to operate at a second power; wherein an asymmetric power throttling module to cause adjustment of the first power to the first processing unit and the second power to the second processing unit according to first and second execution times of previously executed first and second threads of a process, wherein the first and second threads are previously executed on the first and second processing units respectively, wherein the adjustment of the first and second powers is for future execution of the same first and second threads of the process; and wherein the adjusted first and second powers have a total power value below or equal to a total power budget for the multiprocessor. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer system comprising:
-
a network communication interface; and a multiprocessor coupled to the network communication interface, the multiprocessor including; a first processing unit to operate at a first power; a second processing unit to operate at a second power; wherein an asymmetric power throttling module to cause adjustment of the first power to the first processing unit and the second power to the second processing unit according to first and second execution times of previously executed first and second threads of a process, wherein the first and second threads previously executed on the first and second processing units respectively, and wherein the adjustment of the first and second powers is for future execution of the same first and second threads of the process; and wherein the adjusted first and second powers have a total power value below or equal to a total power budget for the multiprocessor. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification