Creating and sharing knowledge for telecommunications

Assessing the Performance and Energy Usage of Multi-CPUs, Multi-Core and Many-Core Systems: The MMP Image Encoder Case Study

Pereira, Pedro M. M. ; Domingues, P. ; Rodrigues, Nuno M. M. ; Falcão, G. ; Faria, S.M.M.

International Journal of Distributed and Parallel systems (IJDPS) Vol. 7, Nº 5, pp. 1 - 20, September, 2016.

ISSN (print): 2229-3957
ISSN (online): 0976-9757

Journal Impact Factor: (in )

Digital Object Identifier: 10.5121/ijdps.2016.750

Abstract
This paper studies the performance and energy consumption of several multi-core, multi-CPUs and manycore hardware platforms and software stacks for parallel programming. It uses the Multimedia Multiscale Parser (MMP), a computationally demanding image encoder application, which was ported to several hardware and software parallel environments as a benchmark. Hardware-wise, the study assesses NVIDIA's Jetson TK1 development board, the Raspberry Pi 2, and a dual Intel Xeon E5-2620/v2 server, as well as NVIDIA's discrete GPUs GTX 680, Titan Black Edition and GTX 750 Ti. The assessed parallel programming paradigms are OpenMP, Pthreads and CUDA, and a single-thread sequential version, all running in a Linux environment. While the CUDA-based implementation delivered the fastest execution, the Jetson TK1 proved to be the most energy efficient platform, regardless of the used parallel software stack. Although it has the lowest power demand, the Raspberry Pi 2 energy efficiency is hindered by its lengthy execution times, effectively consuming more energy than the Jetson TK1. Surprisingly, OpenMP delivered twice the performance of the Pthreads-based implementation, proving the maturity of the tools and libraries supporting OpenMP.