Energy Consumption Analysis of Parallel Algorithms Running on Multicore Systems and GPUS
MetadataShow full metadata
As multicore computers and High Performance Computing systems in general continue to increase their number of processors and processing power, so too have the energy consumption and power requirements of these systems increased. The amount of dollars spent on providing energy to data centers continues to escalate and in the U.S. alone billions of dollars are spent each year. In fact, energy consumption has become so important in today's computing world that the need for energy efficient systems and applications has become critical. In this work, we analyze the energy efficiency of several parallel applications executed on multiple CPUs and GPUs. In chapter I, we discuss different parallel sorting algorithms and their energy efficiency. In particular, we show how software optimization such as modifying the task granularity of a sorting algorithm can save energy. In chapter II, we look at several implementations of 2 famous N-Body particle simulators and profile their performance on CPUs and GPUs. Our results indicate that the GPU implementations provide applications that are orders of magnitude more energy efficient. Finally, in chapter III we show some of the common pitfalls and fallacies when measuring the energy consumption of GPU applications. In addition, we provide a methodology to successfully overcome these issues and accurately measure the energy consumption of GPU applications.