OPTIMALITY STUDY OF DYNAMIC VOLTAGE/FREQUENCY SCALING IN FINE- TO COARSE-GRAIN ISLAND PARTITIONING FOR MULTICORE SYSTEMS
MetadataShow full item record
High performance computing centers need to keep up with the growing applications of varying computational characteristics. Due to their high computation rates, these computing systems consume vast amounts of energy with increasing electricity costs. As an effective approach to fulfill computational demands with reasonable energy consumption cost, Dynamic Voltage and Frequency Scaling (DVFS) technique is used for scaling Voltage/Frequency (V/F) levels of cores based on their time-varying workloads during application runtime. This dissertation investigates improving the energy efficiency of a multi/manycore system with DVFS, where optimization goal is to minimize application execution time while maintaining the energy consumption below a user-defined energy budget. This optimization goal is achieved by performing the DVFS at fine-grain level, which adjusts the V/F levels of individual cores, and at coarse-grain level, which divides the cores into multiple Voltage/Frequency Islands (VFIs), where all the cores in each VFI share a common V/F level. The fine-grain VFIs are very energy-efficient but have high implementation overheads. The coarse-grain VFIs provide acceptable energy efficiency with lower overheads. This dissertation discusses several per-core DVFS algorithms to establish energy efficiency optimality, which is used for evaluating the performance of the coarse-grain VFIs. Furthermore, this dissertation presents optimization methodologies for improving the energy efficiency of the coarse-grain VFIs. To improve the energy efficiency, these methodologies consider the following factors: 1) Scheduling the cores workloads (tasks) among the VFIs, 2) Identifying the cores that execute similar workloads, within and across the execution intervals, when forming the VFIs, and 3) Running the VFIs with either fixed V/F levels for the entire application runtime or adjusting the V/F levels of the VFIs in each of the execution intervals of the application. All the optimization methodologies explained in this dissertation are realized at compile-time. The energy efficiency performance of the fine- and coarse-grain VFIs are evaluated on multiple applications that have varying computational characteristics. This dissertation also presents scalability analyses of the optimization methodologies for systems with different number of cores. Future works following the proposed optimization algorithms can be pursued in several directions such as application types generalizability, scalability, runtime/online usability, and architectures compatibility.