Litcius/Paper detail

Multicore processor computing is not energy proportional: An opportunity for bi-objective optimization for energy and performance

Semyon Khokhriakov, Ravi Reddy Manumachu, Alexey Lastovetsky

2020Applied Energy20 citationsDOIOpen Access PDF

Abstract

Energy proportionality is the key design goal followed by architects of multicore processors. One of its implications is that optimization of an application for performance will also optimize it for energy. In this work, we show that energy proportionality does not hold true for multicore processors. This finding creates the opportunity for bi-objective optimization of applications for energy and performance. We propose and study a novel application-level bi-objective optimization method for energy and performance for multithreaded dataparallel applications. The method uses two decision variables, the number of identical multithreaded kernels (threadgroups) executing the application and the number of threads per threadgroup, with a given workload partitioned equally between the threadgroups. We experimentally demonstrate the efficiency of the method using four popular and highly optimized multithreaded data-parallel applications, two employing two-dimensional fast Fourier transform and the other two, dense matrix multiplication. The experiments performed on four modern multicore processors show that the optimization for performance alone results in increase in dynamic energy consumption by up to 89% and optimization for dynamic energy alone results in performance degradation by up to 49%. By solving the bi-objective optimization problem, the method determines up to 11 Pareto-optimal solutions. Finally, we propose a qualitative dynamic energy model employing performance events as variables to explain the discovered energy nonproportionality. The model shows that the energy nonproportionality on our experimental platforms for the two data-parallel applications is due to disproportionately energy expensive activity of the data translation lookaside buffer.

Topics & Concepts

Computer scienceMulti-core processorParallel computingEnergy consumptionEnergy (signal processing)Efficient energy useWorkloadEnergy minimizationSimultaneous multithreadingMatrix multiplicationMultithreadingThread (computing)EngineeringOperating systemChemistryQuantum mechanicsStatisticsElectrical engineeringMathematicsPhysicsQuantumComputational chemistryParallel Computing and Optimization TechniquesCloud Computing and Resource ManagementDistributed and Parallel Computing Systems