Investigating different general-purpose and embedded multicores to achieve optimal trade-offs between performance and energy

被引:19
作者
Lorenzon, Arthur Francisco [1 ]
Cera, Marcia Cristina [2 ]
Schneider Beck, Antonio Carlos [1 ]
机构
[1] Univ Fed Rio Grande do Sul, Inst Informat, Ave Bento Goncalves,9500 Campus Vale, BR-91501970 Porto Alegre, RS, Brazil
[2] Fed Univ Pampa UNIPAMPA, Campus Alegrete,Ave Tiaraju 810, BR-97546550 Alegrete, Brazil
关键词
Embedded and general-purpose processors; Thread-level parallelism exploitation; Multicore architectures; Performance; Energy; Energy-delay product; ARM;
D O I
10.1016/j.jpdc.2016.04.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Thread-level parallelism (TLP) is being widely exploited in embedded and general-purpose multicore processors (GPPs) to increase performance. However, parallelizing an application involves extra executed instructions and accesses to the shared memory, to communicate and synchronize. The overhead of accessing the shared memory, which is very costly in terms of delay and energy because it is at the bottom of the hierarchy, varies depending on the communication model and level of data exchange/synchronization of the application. On top of that, multicore processors are implemented using different architectures, organizations and memory subsystems. In this complex scenario, we evaluate 14 parallel benchmarks implemented with 4 different parallel programming interfaces (PPIs), with distinct communication rates and TLP, running on five representative multicore processors targeted to general-purpose and embedded systems. We show that while the former presents the best performance and the latter will be the most energy efficient, there is no single option that offers the best result for both. We also demonstrate that in applications with low levels of communication, what matters is the communication model, not a specific PPI. On the other hand, applications with high communication demands have a huge search space that can be explored. For those, Pthreads is the most efficient PPI for Intel Processors, while OpenMP is the best for ARM ones. MPI is the worst choice in almost any scenario, and gets very inefficient as the TLP increases. We also evaluate energy delay(x) product ((EDP)-P-x), weighting performance towards energy by varying the value of x. In a representative case where energy is the most important, three different processors can be the best alternative for different values of x. Finally, we explore how static power influences total energy consumption, showing that its increase brings benefits to ARM multiprocessors, with the opposite effect for Intel ones. (C) 2016 Elsevier Inc. All rights reserved.
引用
收藏
页码:107 / 123
页数:17
相关论文
共 36 条
  • [1] [Anonymous], 2012, ADAPTABLE EMBEDDED S
  • [2] [Anonymous], 1995, Designing and Building Parallel Programs
  • [3] Balladini J., 2011, 2011 9th IEEE/ACS International Conference on Computer Systems and Applications (AICCSA), P16, DOI 10.1109/AICCSA.2011.6126618
  • [4] Blem E, 2013, INT S HIGH PERF COMP, P1, DOI 10.1109/HPCA.2013.6522302
  • [5] A portable programming interface for performance evaluation on modern processors
    Browne, S
    Dongarra, J
    Garner, N
    Ho, G
    Mucci, P
    [J]. INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2000, 14 (03) : 189 - 204
  • [6] Optimizing Message-Passing on Multicore Architectures using Hardware Multi-Threading
    Buono, Daniele
    De Matteis, Tiziano
    Mencagli, Gabriele
    Vanneschi, Marco
    [J]. 2014 22ND EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2014), 2014, : 262 - 270
  • [7] Butenhof DR., 1997, Programming with POSIX Threads
  • [8] Cera MC, 2006, LECT NOTES COMPUT SC, V4192, P247
  • [9] Chandramowlishwarany Aparna., 2010, Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, SC '10, P1, DOI [DOI 10.1109/IPDPS.2010.5470415, DOI 10.1109/INFCOM.2010.5461979]
  • [10] Chapman B., 2008, USING OPENMP PORTABL