Patent ID: 7587621
Filing Date: 2009-09-08
Classification: G06F,Y02D

Abstract:
1. A method for maximizing throughput of a computer system in the presence of one or more power constraints, the method comprising: repeatedly or continuously optimizing task scheduling and assignment for each of a plurality of components of the computer system, wherein the components include a plurality of disk drives and a plurality of central processing units (CPUs) each operating at a corresponding operating frequency; and adjusting the corresponding operating frequencies of one or more CPUs of the plurality of CPUs to maximize computer system throughput under one or more power constraints; wherein said optimizing task scheduling and assignment, and said adjusting the corresponding operating frequencies of one or more CPUs, are performed by solving a mathematical optimization problem using a first methodology over a first time interval and a second methodology over a second time interval longer than the first time interval; wherein the first methodology comprises a short term heuristic solver for adapting to computer system changes that occur over the first time interval, and the second methodology comprises a long term solver for adapting to computer system changes that occur over the second time interval, wherein the second methodology has greater accuracy and greater computational complexity than the first methodology; wherein said optimizing task scheduling and assignment further includes scheduling a first task to be performed by at least one of the plurality of CPUs simultaneously with a second task to be performed by at least one of the plurality of disk drives; wherein said optimizing task scheduling and assignment further includes scheduling a first task to be performed by at least one of the plurality of CPUs simultaneously with a second task to be performed by at least one of the plurality of disk drives, or wherein said optimizing task scheduling and assignment further includes scheduling a first task and a second task to execute simultaneously on the plurality of CPUs; wherein the first and second tasks are independent; and wherein a mixed integer linear program is employed to solve the mathematical optimization problem.