This study analyzed the performance and energy consumption of multicore applications, using three techniques to manage concurrent execution in a set of benchmarks. We conclude that these constructs can heavily impact on energy consumption. Nonetheless, the trade-off between performance and energy consumption in multicore applications is not so obvious.
The research problem and motivationMeasuring the energy consumption of an application and understanding where the energy usage lies provides new opportunities for energy savings. In order to understand the complexities of this approach, we specifically look at multi-threaded applications. The performance of the existing constructs for concurrent execution is reasonably well-understood [4,7]. Furthermore, since parallel programming enables programmers to run their applications faster, it makes sense to assume that an application that finish earlier will also consume less energy [3]. This idea is known as the "Race to idle" principle [1]. In summary: faster programs will theoretically consume less energy because they will have the machine idle fast, and modern processors consume very little energy when idle. Nevertheless, parallelism and the overheads inherent to concurrent and parallel programming constructs might impact energy consumption in ways that are hard to predict.This paper presents an empirical study consisting of the evaluation of the performance and energy consumption of four applications that use three programming concurrent constructs plus a sequential implementation with the goal of demonstrating that it is hard to establish a trade-offs between energy-efficiency and performance. This study is relevant because it is known that concurrent construct is often used in high-level applications [5]. Moreover, the performance of the existing constructs for concurrent execution is Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).reasonably well-understood [7], but little is know about its energy efficiency.
Related workTo the best of our knowledge, only two studies have dealt with the topic of understanding the impact of concurrent constructs on the energy efficiency of applications [2, 6]. Gautham et al.[2] analyzed synchronization primitives and explore the following synchronization techniques to find an ideal solution for synchronizationintensive workloads: i) spin lock ii) mutexes iii) software transactional memory. They show that Software Transactional Memory (STM) systems can perform better than locks for workloads where a significant portion of the execution time is spent in the critical sections. Trefethen [6] studies the behavior of the NAS Benchmark suite for its energy and runtime performance. The benchmark ...