| Nowadays, green computing has become one of the most hot topics in high perfor-mancecomputingfields. Itisanessentialwayofloweringthesystempowerconsumptionand improving the system energy efficiency to keep the supercomputers be extended intolarger-scale systems. Heterogeneous parallel system has become one important trend forhigh performance computing systems. Compared with traditional homogeneous parallelsystem, heterogeneous parallel system, which integrates specific accelerator, has muchhigher peak processing speed and improved power efficiency. However, owing to the d-ifferencesinprocessingspeedandpowerconsumptionbetweenheterogeneousprocessingunits, existing low power optimization method designed for homogeneous system couldnot be efficiently applied onto heterogeneous system. This paper focuses on studying anddesigning the low-power optimization methods targeted for heterogeneous system. Themain works and contributions include:1. Proposing power-aware parallel loop scheduling method for heterogeneous system(Chapter 2)Parallel loop is the main optimization target in scientific and engineering applica-tions. BasedontheOpenMP-likeparallelprogram, weproposeaneffectivemethodof coordinating parallel loop scheduling and dynamic voltage/frequency scaling tominimize the power consumption given a fixed performance constraint. Firstly, weestablish the basic power-aware parallel loop scheduling model for heterogeneoussystem. Then, through theoretical analysis, we find the lower bound for parallelloop scheduling on heterogeneous system, which could be used to evaluate the effi-ciency of the optimization method. Finally, we deduce the optimization problem asa typical integer programming problem, which could be solved via existing tools.2. Proposing power-aware multi-section frequency scaling and task partition methodfor heterogeneous system (Chapter 3)Typically, a parallel program includes several sequential sections and parallel sec-tions. Accordingtowhethertheparallelsectioncouldbeexecutedbyheterogeneousprocessing units, we distinguish the heterogeneous parallel programs into homoge-neous computing-section program and heterogeneous computing-section program. Forthehomogeneouscomputing-sectionprograms,wefirstestablishthefunctionofenergy consumption with execution time for each computing section. Then we findthe condition for the minimum energy consumption of the whole program withinthe given performance constraint and propose the energy-optimal frequency scal-ingalgorithm. Fortheheterogeneouscomputing-sectionprograms, wefirstfindthecondition for the minimum energy consumption in a single parallel section given aperformanceconstraint,throughwhichwecouldestablishtherelationshipofenergyconsumption with execution time. Given a whole-program performance constraint,the optimization problem could be seen as a multi-variable extreme problem and aSteepest Drop based heuristic optimization algorithm is proposed to solve it.3. Proposing communication-aware whole program energy optimization method forheterogeneous system (Chapter 4)In current heterogeneous parallel system, the main processor and the acceleratorare connected via system bus, therefore, there exists extra communication over-head when scheduling specific computation onto accelerator. To minimize the totalenergy consumption, we should holistically consider the computation energy andcommunication energy induced by the accelerator. We propose two separate energyoptimizationmethods: integerlinearprogrammingbasedstaticenergyoptimizationmethod and genetic algorithm based dynamic energy optimization to optimize thewholeenergyconsumptionwithinperformanceconstraint. Inthestaticoptimizationmethod, we deduce the decision of parallel task partition, schedule and processoroperatingfrequencyasanintegerlinearprogrammingproblemandprovidetheopti-mal solution for this problem. In the dynamic optimization method, we monitor theexecution profile of the targeted program on line, and perform the communication-aware task partition method and dynamic frequency scaling method repeatedly toreduce the energy consumption at runtime.4. Proposing application-aware peak power management for heterogeneous system(Chapter 5)With the system power consumption increasing continually, power has become notonly an optimization target, but also an important constraint for system design andimplementation. Targeted for the execution model of concurrent parallel programs on heterogeneous system, we propose a multi-level peak power management in or-der to optimize the system throughput within the constrained power budget. Firstly,we summarize the execution model for current heterogeneous parallel system, andintroduce the whole power management framework with three-level power man-agement hierarchies. In the heterogeneous processing engine level power manage-ment, we propose an application-aware peak power management. Firstly, we findthe condition for the best performance within the power budget for heterogeneousprocessing engine. Based on this analysis, we provide the power constrained paral-lel task partition algorithm, which coordinates parallel task partition and dynamicfrequency scaling to optimize the heterogeneous parallel processing. In the het-erogeneous processing group level power management, we propose critical threadaware power partition mechanism, which allocates more power for the thread in thecritical path. In the system level power management, we provide the power effi-ciency evaluation method for heterogeneous processing group to direct the powerpartition decision, in order to improve the whole system power efficiency whilekeeping the fairness among concurrent programs. |