Programming Multicore and Many-core Computing Systems. Wiley Series on Parallel and Distributed Computing

  • ID: 2175295
  • Book
  • 528 Pages
  • John Wiley and Sons Ltd
1 of 4

Programming multi–core and many–core computing systems

Sabri Pllana, Linnaeus University, SwedenFatos Xhafa, Technical University of Catalonia, Spain

Provides state–of–the–art methods for programming multi–core and many–core systems

The book comprises a selection of twenty two chapters covering: fundamental techniques and algorithms; programming approaches; methodologies and frameworks; scheduling and management; testing and evaluation methodologies; and case studies for programming multi–core and many–core systems.

Program development for multi–core processors, especially for heterogeneous multi–core processors, is significantly more complex than for single–core processors. However, programmers have been traditionally trained for the development of sequential programs, and only a small percentage of them have experience with parallel programming.  In the past, only a relatively small group of programmers interested in High Performance Computing (HPC) was concerned with the parallel programming issues, but the situation has changed dramatically with the appearance of multi–core processors on commonly used computing systems. It is expected that with the pervasiveness of multi–core processors, parallel programming will become mainstream.

The pervasiveness of multi–core processors affects a large spectrum of systems, from embedded and general–purpose, to high–end computing systems. This book assists programmers in mastering the efficient programming of multi–core systems, which is of paramount importance for the software–intensive industry towards a more effective product–development cycle.

Key features:

  • Lessons, challenges, and roadmaps ahead.
  • Contains real world examples and case studies.
  • Helps programmers in mastering the efficient programming of multi–core and many–core systems.

The book serves as a reference for a larger audience of practitioners, young researchers and graduate level students. A basic level of programming knowledge is required to use this book.

Note: Product cover images may vary from those shown
2 of 4






1 Multi– and Many–Cores, Architectural Overview for Programmers 1Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jorn Amundsen

2 Programming Models for MultiCore and Many–Core Computing Systems 29Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal, Rosa M. Badia and Xavier Martorell

3 Lock–free Concurrent Data Structures 59Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina Papatriantafilou and Philippas Tsigas

4 Software Transactional Memory 81Sandya Mannarswamy


5 Hybrid/Heterogeneous Programming with OMPSs and its Software/Hardware Implications 101Eduard Ayguade, Rosa M. Badia, Pieter Bellens, Javier Bueno, Alejandro Duran, Yoav Etsion, Montse Farreras, Roger Ferrer, Jesus Labarta, Vladimir Marjanovic, Lluis Martinell, Xavier Martorell, Josep M. Perez, Judit Planas, Alex Ramirez, Xavier Teruel, Ioanna Tsalouchidou and Mateo Valero

6 Skeleton Programming for Portable Many–Core Computing 121Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel Steuwer and Philipp Kegel

7 DSL Stream Programming on Multicore Architectures 143Pablo de Oliveira Castro, Stephane Louise and Denis Barthou´

8 Programming with Transactional Memory 165Vincent Gramoli and Rachid Guerraoui

9 Object–Oriented Stream Programming 185Frank Otto and Walter F. Tichy

10 Software–Based Speculative Parallelization 205Chen Tian, Min Feng and Rajiv Gupta

11 Autonomic Distribution and Adaptation 227Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tom–maso Cucinotta


12 PEPPHER: Performance Portability and Programmability for Heterogeneous Many–Core Architectures 243Siegfried Benkner, Sabri Pllana, Jesper Larsson Trff, Philippas Tsigas, Andrew Richards, George Russell, Samuel Thibault, Cdric Augonnet, Raymond Namyst, Herbert Cornelius, Christoph Keler, David Moloney and Peter Sanders

13 Fastflow: High–Level and Efficient Streaming on Multicore 261Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati

14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore Systems 281Nuno Roma, Antnio Rodrigues and Leonel Sousa

15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA Platform 301Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas Lachiche and Pierre Collet


16 Smart Interleavings for Testing Parallel Programs 323Eitan Farchi

17 Parallel Performance Evaluation and Optimization 343Hazim Shafi

18 A Methodology for Optimizing Multithreaded System Scalability on Multicores 363Neil Gunther, Shanti Subramanyam and Stefan Parvu

19 Improving Multicore System Performance through Data Compression 385Ozcan Ozturk and Mahmut Kandemir


20 Programming and Managing Resources on Accelerator–Enabled Clusters 407M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos

21 An Approach for Efficient Execution of SPMD Applications on Multicore Clusters 431Ronal Muresano, Dolores Rexachs and Emilio Luque

22 Operating System and Scheduling for Future Multicore and Many–Core Platforms 451Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert



Note: Product cover images may vary from those shown
3 of 4


4 of 4
Sabri Pllana is an Associate Professor in the Department of Computer Science at Linnaeus University, Sweden. Before joining Linnaeus University, he worked for 12 years at the Research Group Scientific Computing, University of Vienna in Austria. His current research interests include performance–oriented software engineering and self–adaptive techniques for performance portability across various heterogeneous computing systems. He contributed to several EU–funded projects and coordinated the FP7 project PEPPHER. He has contributed as member/chair to more than 60 program committees. He holds a PhD degree (with distinction) in computer science from the Vienna University of Technology. He is a Senior Member of the IEEE, a member of the European Network of Excellence on High Performance and Embedded Architecture and Compilation (HiPEAC) and of the European ICT COST Action (IC1406) on High–Performance Modelling and Simulation for Big Data Applications, an associate member of ETP4HPC, and a member of the Euro–Par Advisory Board.

Fatos Xhafa received his PhD in Computer Science in 1998 from the Technical University of Catalonia (UPC), Barcelona, Spain. Currently, he holds a permanent position ofProfessor Titular d’Universitat at UPC. He was a Visiting Professor at University of London (UK), 2009–2010, and Research Associate at Drexel University (USA), 2004/2005.  He has widely published in international journals, conferences/workshops, book chapters, edited books and proceedings in the field. He is editor in Chief of the International Journal of Grid and Utility Computing, International Journal of Space–based and Situated Computing, Inderscience. He is Editor in Chief of the Elsevier Book Series “Intelligent Data–Centric Systems” and of SpringerLecture Notes in Data Engineering and Communication Technologies. He is a member of IEEE Communications Society, IEEE Systems, Man & Cybernetics Society and Emerging Technical Subcommittee of IoT. His research interests include parallel and distributed computing, massive data processing, collective intelligence, optimization, trustworthy computing, machine learning, etc.
Note: Product cover images may vary from those shown
5 of 4
Note: Product cover images may vary from those shown