ACCELERATION BENEFIT ESTIMATOR
First Claim
1. A method for estimating programmable hardware acceleration benefit, the method comprising:
- executing, by one or more computing devices in a data center, a reference version of an application to perform one or more tasks for a data center customer;
measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing the reference version of the application;
identifying one or more programmable hardware accelerators for the application, wherein the identified programmable hardware accelerators are not being utilized during execution of the reference version of the application;
automatically executing, by the one or more computing devices, an accelerated version of the application to perform the one or more tasks performed by the reference version of the application, wherein the accelerated version of the application is accelerated by use of the one or more identified programmable hardware accelerators;
measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing the accelerated version of the application;
calculating one or more of a difference in execution time, a difference in execution cost, or a difference in execution energy consumption between the reference version of the application and the accelerated version of the application; and
providing one or more of the difference in execution time, the difference in execution cost, or the difference in execution energy consumption to the data center customer.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies related to acceleration benefit estimation are generally described. In some examples, data centers may identify applications that may benefit from Programmable Hardware Accelerators (PHAs), and test the identified applications by running accelerated versions thereof, i.e., versions that use one or more identified PHAs, and comparing performance of the accelerated versions to reference versions, i.e., versions that do not use the one or more identified PHAs. Data centers may report comparison results may be reported to data center customers to encourage customer adoption of PHAs.
24 Citations
49 Claims
-
1. A method for estimating programmable hardware acceleration benefit, the method comprising:
-
executing, by one or more computing devices in a data center, a reference version of an application to perform one or more tasks for a data center customer; measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing the reference version of the application; identifying one or more programmable hardware accelerators for the application, wherein the identified programmable hardware accelerators are not being utilized during execution of the reference version of the application; automatically executing, by the one or more computing devices, an accelerated version of the application to perform the one or more tasks performed by the reference version of the application, wherein the accelerated version of the application is accelerated by use of the one or more identified programmable hardware accelerators; measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing the accelerated version of the application; calculating one or more of a difference in execution time, a difference in execution cost, or a difference in execution energy consumption between the reference version of the application and the accelerated version of the application; and providing one or more of the difference in execution time, the difference in execution cost, or the difference in execution energy consumption to the data center customer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium having computer executable instructions executable by a processor, the instructions that, when executed by the processor, implement a programmable hardware acceleration benefit estimator, which causes the processor to:
-
measure one or more of an execution time, an execution cost, or an execution energy consumption for executing a reference version of an application to perform one or more tasks for a data center customer; identify one or more programmable hardware accelerators for the application, wherein the identified programmable hardware accelerators are not being utilized during execution of the reference version of the application; automatically execute an accelerated version of the application to perform the one or more tasks performed by the reference version of the application, wherein the accelerated version of the application is accelerated by use of the one or more identified programmable hardware accelerators; measure one or more of an execution time, an execution cost, or an execution energy consumption for executing the accelerated version of the application; calculate one or more of a difference in execution time, a difference in execution cost, or a difference in execution energy consumption between the reference version of the application and the accelerated version of the application; and provide one or more of the difference in execution time, the difference in execution cost, or the difference in execution energy consumption to the data center customer. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computing device configured to estimate programmable hardware acceleration benefit, comprising:
-
a processor; a memory; and a programmable hardware acceleration benefit estimator stored in the memory and executable by the processor, wherein the programmable hardware acceleration benefit estimator is configured to; measure one or more of an execution time, an execution cost, or an execution energy consumption for executing a reference version of an application to perform one or more tasks for a data center customer; identify one or more programmable hardware accelerators for the application, wherein the identified programmable hardware accelerators are not being utilized during execution of the reference version of the application; automatically execute an accelerated version of the application to perform the one or more tasks performed by the reference version of the application, wherein the accelerated version of the application is accelerated by use of the one or more identified programmable hardware accelerators; measure one or more of an execution time, an execution cost, or an execution energy consumption for executing the accelerated version of the application; calculate one or more of a difference in execution time, a difference in execution cost, or a difference in execution energy consumption between the reference version of the application and the accelerated version of the application; and provide one or more of the difference in execution time, the difference in execution cost, or the difference in execution energy consumption to the data center customer. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A method for estimating programmable hardware acceleration benefit in a data center, the method comprising:
-
providing customer-activated acceleration of one or more applications executed by one or more computing devices in the data center, wherein the customer-activated acceleration employs programmable hardware accelerators to perform one or more application tasks; selecting an application for which the customer-activated acceleration is not activated by a data center customer; measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing a reference version of the application without the customer-activated acceleration; automatically executing, by the one or more computing devices, an accelerated version of the selected application; measuring one or more of an execution time, an execution cost, or an execution energy consumption for executing the accelerated version of the application; and providing, to the data center customer, a difference in execution time, a difference in execution cost, or a difference in execution energy consumption between the reference version of the application and the accelerated version of the application. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49)
-
Specification