Abstract

Thread-level parallelism exploitation is being widely used to make the best use of hardware resources and improve performance. However, as discussed in Chap. 1, energy consumption has become an important issue. Therefore, the objective when designing parallel applications is not to simply improve performance but to do so with a minimal impact on energy consumption. In order to speed up the development process of parallel applications and make it as transparent as possible to the programmer, different PPIs are used (e.g., OpenMP, PThreads, or MPI). However, each one of these has different characteristics with respect to the management (i.e., creation and finalization of threads/processes), workload distribution, synchronization, and communication. Considering the aforementioned scenario, this chapter presents a comprehensive study of the opportunities for parallel computing regarding the most common parallel programming interfaces that exploit parallelism through shared variables (OpenMP and PThreads) or message passing (MPI-1 and MPI-2). Fourteen applications, classified according to their communication demands, were parallelized and executed on different embedded and general-purpose processors. Several metrics were used to evaluate the parallel programming interfaces and multicore processors, such as performance, energy, EDP, and the influence of the processor’s static power on the total energy consumption. The remainder of this chapter is organized as follows: First, the methodology used during the study is discussed, that is, the multicore architectures, benchmark suite, setup, and how the energy consumption was calculated. Then, the results are discussed. Finally, we conclude this study.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call