Title | : | Parallel Program Scheduling in AMPs |
Speaker | : | Jyothi Krishna V S (IITM) |
Details | : | Tue, 20 Mar, 2018 1:45 PM @ A M Turing Hall |
Abstract: | : | Asymmetric Multicore Processor (AMP) is a special case of Multicore Processors where different kinds of cores share the same instruction set but offer different power-performance trade-offs. Due to the computational-power difference between these cores, finding an optimal hardware configuration for executing a given parallel program is quite challenging. An inherent difficulty in this problem stems from the fact that the original program is written for SMPs. This challenge is exacerbated by the interplay of several configuration parameters that AMPs allow changing. In this presentation, I will introduce a probabilistic method, CHOAMP to choose the best available hardware configuration for a given parallel program. Selection of a configuration is guided by a user-provided run-time property such as energy-delay-product (EDP), and CHOAMP aspires to optimize the property in choosing a configuration. The core part of our probabilistic method relies on identifying the program constructs behaviour in different classes of CPU cores in the AMP and how it influences the cost function of choice. We implement the proposed technique in a compiler which automatically transforms a code optimized for SMP to run efficiently over an AMP, eliding requirement of any user annotations. CHOAMP transforms the same source program for different hardware configurations based on different user requirement. We evaluate the efficiency of our method for three different run-time property (execution time, energy consumption and EDP) in NAS Parallel Benchmarks for OpenMP. Our experimental results show that we get an average of 28% improvement in execution time from baseline while optimizing for execution time. We are able to achieve an average of 65% improvement in energy consumption while optimizing for energy consumption and an average of 57% improvement on EDP. This work has been accepted in IEEE Transactions on Multi-Scale Computing Systems. |