Programming Multicore and Many-core Computing Systems / Edition 1 available in Hardcover, eBook

Programming Multicore and Many-core Computing Systems / Edition 1
- ISBN-10:
- 0470936908
- ISBN-13:
- 9780470936900
- Pub. Date:
- 02/06/2017
- Publisher:
- Wiley

Programming Multicore and Many-core Computing Systems / Edition 1
Buy New
$110.95-
SHIP THIS ITEMIn stock. Ships in 6-10 days.PICK UP IN STORE
Your local store may have stock of this item.
Available within 2 business hours
Overview
Sabri Pllana, Linnaeus University, Sweden
Fatos 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.
Product Details
ISBN-13: | 9780470936900 |
---|---|
Publisher: | Wiley |
Publication date: | 02/06/2017 |
Series: | Wiley Series on Parallel and Distributed Computing , #86 |
Pages: | 528 |
Product dimensions: | 6.00(w) x 9.20(h) x 1.30(d) |
About the Author
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 of Professor 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 Springer Lecture 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.
Read an Excerpt
Table of Contents
List of Contributors ix
Preface xv
Acknowledgements xxiii
Acronyms xxv
Part I Foundations
1 Multi- and Many-Cores, Architectural Overview for Programmers Lasse Natvig Alexandra Iordan Mujahed Eleyat Magnus Jahre Jørn Amundsen 3
2 Programming Models for MultiCore and Many-Core Computing Systems Ana Lucia Varbanescu Rob V. van Nieuwpoort Pieter Hijma Henri E. Bal Rosa M. Badia Xavier Martorell 29
3 Lock-free Concurrent Data Structures Daniel Cederman Anders Gidenstam Phuong Ha Håkan Sundell Marina Papatriantafilou Philippas Tsigas 59
4 Software Transactional Memory Sandya Mannarswamy 81
Part II Programming Approaches
5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware implications Eduard Ayguadé Rosa M. Badia Pieter Bellens Javier Bueno Alejandro Duran Yoav Etsion Montse Farreras Roger Ferrer Jesus Labarta Vladimir Marjanovie Lluis Martinell Xavier Martorell Josep M. Perez Judit Planas Alex Ramirez Xavier Teruel Ioanna Tsalouchidou Mateo Valero 101
6 Skeleton Programming for Portable Many-Core Computing Christoph Kessler Sergei Gorlatch Johan Enmyren Usman Dastgeer Michel Steuwer Philipp Kegel 121
7 DSL Stream Programming on Multicore Architectures Pablo de Oliveira Castro Stéphane Louise Denis Barthou 143
8 Programming with Transactional Memory Vincent Gramoli Rachid Guerraoui 165
9 Object-Oriented Stream Programming Frank Otto Walter F. Tichy 185
10 Software-Based Speculative Parallelization Chen Tian Min Feng Rajiv Gupta 205
11 Autonomic Distribution and Adaptation Lutz Schubert Stefan Wesner Daniel Rubio Bonilla Tommaso Cucinotta 227
Part III Programming Frameworks
12 PEPPHER: Performance Portability and Programmabiiity for Heterogeneous Many-Core Architectures Siegfried Benkner Sabri Pllana Jesper Larsson Träff Philippas Tsigas Andrew Richards George Russell Samuel Thibault Cdric Augonnet Raymond Namyst Herbert Cornelius Christoph Keler David Moloney Peter Sanders 243
13 Fastflow: High-Level and Efficient Streaming on Multicore Marco Aldinucci Marco Danehilto Peter Kilpatrick Massimo Torquati 261
14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore Systems Nuno Roma António Rodrigues Leonel Sousa 281
15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA Platform Ogier Maitre Frederic Kruger Deepak Sharma Stephane Querry Nicolas Lachiche Pierre Collet 301
Part IV Testing, Evaluation and Optimization
16 Smart Interleaves for Testing Parallel Programs Eitan Farchi 323
17 Parallel Performance Evaluation and Optimization Hazim Shaft 342
18 A Methodology for Optimizing Multithreaded System Scalability on Multicores Neil Gunther Shanti Subramanyam Stefan Parvu 363
19 Improving Multicore System Performance through Data Compression Ozcan Ozturk Mahmut Kandemir 385
Part V Scheduling and Management
20 Programming and Managing Resources on Accelerator-Enabled Clusters M. Mustafa Rafique Ali R. Butt Dimitrios S. Nikolopoulos 407
21 An Approach for Efficient Execution of SPMD Applications on Multicore Clusters Ronal Muresano Dolores Rexachs Emilio Luque 431
22 Operating System and Scheduling for Future Multicore and Many-Core Platforms Tommaso Cucinotta Giuseppe Lipari Lutz Schubert 451
Glossary 475
Index 481