Skip to main content

The Impact of Parallel Programming Interfaces on Energy

  • Chapter
  • First Online:
Parallel Computing Hits the Power Wall

Part of the book series: SpringerBriefs in Computer Science ((BRIEFSCOMPUTER))

  • 344 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Available at: https://www.intel.com/technology/architecture/coremicro.

  2. 2.

    Available at: https://www.intel.com/content/www/us/en/processors/atom/atom-processor.html.

  3. 3.

    Available at: https://www.arm.com/products/processors/cortex-a/index.php.

  4. 4.

    Available at: https://www.hpl.hp.com/techreports/2008/HPL-2008-20.html.

References

  1. Blem, E., Menon, J., Sankaralingam, K.: Power struggles: revisiting the RISC vs. CISC debate on contemporary arm and ×86 architectures. In: 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), pp. 1–12. IEEE, Piscataway (2013). https://doi.org/10.1109/HPCA.2013.6522302

  2. Browne, S., Dongarra, J., Garner, N., Ho, G., Mucci, P.: A portable programming interface for performance evaluation on modern processors. Int. J. High Perform. Comput. Appl. 14(3), 189–204 (2000). https://doi.org/10.1177/109434200001400303

    Article  Google Scholar 

  3. Butenhof, D.R.: Programming with POSIX Threads. Addison-Wesley Longman Publishing, Boston (1997)

    Google Scholar 

  4. Cera, M., Pezzi, G., Mathias, E., Maillard, N., Navaux, P.: Improving the dynamic creation of processes in MPI-2. In: Recent Advances in Parallel Virtual Machine and Message Passing Interface pp. 247–255. Springer, Berlin (2006)

    Chapter  Google Scholar 

  5. Chapman, B., Jost, G., Pas, R.v.d.: Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). MIT Press, Cambridge, MA (2007)

    Google Scholar 

  6. Esmaeilzadeh, H., Blem, E., St. Amant, R., Sankaralingam, K., Burger, D.: Power limitations and dark silicon challenge the future of multicore. ACM Trans. Comput. Syst. 30(3), 11:1–11:27 (2012). https://doi.org/10.1145/2324876.2324879

    Article  Google Scholar 

  7. Foster, I.: Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley Longman Publishing, Boston (1995)

    MATH  Google Scholar 

  8. Gropp, W., Lusk, E., Skjellum, A.: Using MPI (2Nd Ed.): Portable Parallel Programming with the Message-passing Interface. MIT Press, Cambridge (1999)

    Book  Google Scholar 

  9. Hoefler, T., Lumsdaine, A., Rehm, W.: Implementation and performance analysis of non-blocking collective operations for MPI. In: Proceedings of the 2007 ACM/IEEE Conference on Supercomputing, SC ’07, pp. 52:1–52:10. ACM, New York (2007). https://doi.org/10.1145/1362622.1362692

  10. Kontorinis, V., Shayan, A., Tullsen, D.M., Kumar, R.: Reducing peak power with a table-driven adaptive processor core. In: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 42, pp. 189–200. ACM, New York (2009). https://doi.org/10.1145/1669112.1669137

  11. Lorenzon, A.F., Cera, M.C., Schneider Beck, A.C.: Performance and energy evaluation of different multi-threading interfaces in embedded and general purpose systems. J. Signal Process. Syst. 80(3), 295–307 (2015). https://doi.org/10.1007/s11265-014-0925-9

    Article  Google Scholar 

  12. Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: Building customized program analysis tools with dynamic instrumentation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’05, pp. 190–200. ACM, New York (2005). https://doi.org/10.1145/1065010.1065034

  13. McVoy, L., Staelin, C.: Lmbench: Portable tools for performance analysis. In: Proceedings of the 1996 Annual Conference on USENIX Annual Technical Conference, ATEC ’96, pp. 23–23. USENIX Association, Berkeley (1996)

    Google Scholar 

  14. Nose, K., Sakurai, T.: Optimization of vdd and vth for low-power and high speed applications. In: Proceedings of the 2000 Asia and South Pacific Design Automation Conference, ASP-DAC ’00, pp. 469–474. ACM, New York (2000). https://doi.org/10.1145/368434.368755

  15. Tanenbaum, A.S.: Modern Operating Systems, 3rd edn. Prentice Hall, Upper Saddle River (2007)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Lorenzon, A.F., Schneider Beck Filho, A.C. (2019). The Impact of Parallel Programming Interfaces on Energy. In: Parallel Computing Hits the Power Wall. SpringerBriefs in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-28719-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-28719-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-28718-4

  • Online ISBN: 978-3-030-28719-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics