10.07.2015 Views

SHIP: A Scalable Hierarchical Power Control ... - IEEE Xplore

SHIP: A Scalable Hierarchical Power Control ... - IEEE Xplore

SHIP: A Scalable Hierarchical Power Control ... - IEEE Xplore

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

170 <strong>IEEE</strong> TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 23, NO. 1, JANUARY 2012following steps are invoked at the end of every control periodof the PDU-level loop:Fig. 1. Proposed power and performance control solution for virtualizedserver clusters.As shown in Fig. 1, the key components in a rack-levelcontrol loop include a power controller and a power monitor atthe rack level, as well as a CPU utilization monitor and a CPUfrequency modulator on each server. The control loop isinvoked periodically, and its period is chosen based on atrade-off between actuation overhead and system settlingtime. The following steps are invoked at the end of everycontrol period:1. The power monitor (e.g., a power meter) measuresthe average value of the total power consumption ofall the servers in the last control period and sendsthe value to the controller. The total power consumptionis the controlled variable of the control loop.2. The utilization monitor on each server sends its CPUutilization in the last control period to the controller.The utilization values can be used by the controller tooptimize system performance by allowing serverswith higher utilizations to run at higher CPUfrequencies. Please note that application-level performancemetrics, such as response time and throughputcan also be used in place of CPU utilization tooptimize power allocation in our solution.3. The controller computes the new CPU frequencylevel for the processors of each server, and thensends the level to the CPU frequency modulator oneach server. The levels are the manipulated variables ofthe control loop.4. The CPU frequency modulator on each serverchanges the CPU frequency (and voltage if usingDVFS) of the processors accordingly. The rack-levelpower controller is designed based on the powercontrol algorithm presented in [5]. The focus of thispaper is on the power control loops at the PDU anddata center levels and the coordination amongcontrollers at different levels.The key components in a PDU-level power control loopinclude a power controller and a power monitor at the PDUlevel, as well as the rack-level power controllers and theutilization monitors of all the racks located within the PDU.The control loop is invoked periodically to change the powerbudgets of the rack-level control loops of all the racks in thePDU. Therefore, to minimize the impact on the stability of arack-level control loop, the control period of the PDU-levelloop is selected to be longer than the settling time of the racklevelcontrol loop. This guarantees that the rack-level controlloop can always enter its steady state within one controlperiod of the PDU-level loop, so that the two control loopsare decoupled and can be designed independently. The1. The PDU-level power controller receives the powerconsumption of the entire PDU in the last controlperiod from the PDU-level power monitor. Thepower consumption is the controlled variable of thiscontrol loop.2. The PDU-level controller also receives the averageCPU utilization of (all the servers in) each rack fromthe rack-level utilization monitor. The utilizationsare used to optimize system performance byallocating higher power budgets to racks with higherutilizations.3. The PDU-level controller then computes the powerbudget for each rack to have in the next control periodbased on MPC control theory [13]. The power budgetsare the manipulated variables of the control loop.4. The power budget of each rack is then sent to the racklevelpower controller of that rack. Since the racklevelpower controller is in its steady state at the endof each control period of the PDU-level controller, thedesired power budget of each rack can be achieved bythe rack-level controller by the end of the next controlperiod of the PDU-level controller.Similar to the PDU-level control loop, the data centerlevelpower control loop controls the power consumption ofthe entire data center by manipulating the power budgets ofthe PDU-level power control loops of all the PDUs in thedata center. The control period of the data center-levelpower control loop is selected in the same way to be longerthan the settling time of each PDU-level control loop.3 PDU-LEVEL POWER CONTROLLERIn this section, we introduce the design and analysis of thePDU-level power controller. The data center-level controlleris designed in the same way.3.1 Problem FormulationPDU-level power control can be formulated as a dynamicoptimization problem. In this section, we analytically modelthe power consumption of a PDU. We first introduce thefollowing notation. T p is the control period. pr i ðkÞ is thepower consumption of Rack i in the kth control period.pr i ðkÞ is the power consumption change of Rack i, i.e.,pr i ðkÞ ¼pr i ðk þ 1Þ pr i ðkÞ. br i ðkÞ is the power budget ofRack i in the kth control period. br i ðkÞ is the power budgetchange of Rack i, i.e., br i ðkÞ ¼br i ðk þ 1Þ br i ðkÞ. ur i ðkÞ isthe average CPU utilization of all the servers in Rack i in thekth control period. N is the total number of racks inthe PDU. ppðkÞ is the aggregated power consumption of thePDU. P s is the power set point, i.e., the desired powerconstraint of the PDU.Given a control error, ppðkÞ P s , the control goal at the kthcontrol point (i.e., time kT p ) is to dynamically choose a powerbudget change vector brðkÞ ¼½br 1 ðkÞ ...br N ðkÞŠ T tominimize the difference between the power consumption ofthe PDU in the next control period and the desired power setpoint

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!