Freshly Printed - allow 7 days lead
Couldn't load pickup availability
Programming Multicore and Many-core Computing Systems
Sabri Pllana (Edited by), S Pllana (Author), Fatos Xhafa (Edited by)
9780470936900, Wiley
Hardback, published 24 March 2017
528 pages
23.4 x 15.2 x 3.3 cm, 0.839 kg
Programming multi-core and many-core computing systems 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: 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.
List of Contributors ix Preface xv Acknowledgements xxiii Acronyms xxv Part I Foundations 1 Multi- and Many-Cores, Architectural Overview for Programmers 3 2 Programming Models for MultiCore and Many-Core Computing Systems 29 3 Lock-free Concurrent Data Structures 59 4 Software Transactional Memory 81 Part II Programming Approaches 5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware Implications 101 6 Skeleton Programming for Portable Many-Core Computing 121 7 DSL Stream Programming on Multicore Architectures 143 8 Programming with Transactional Memory 165 9 Object-Oriented Stream Programming 185 10 Software-Based Speculative Parallelization 205 11 Autonomic Distribution and Adaptation 227 Part III Programming Frameworks 12 PEPPHER: Performance Portability and Programmability for Heterogeneous Many-Core Architectures 243 13 Fastflow: High-Level and Efficient Streaming on Multicore 261 14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore Systems 281 15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA Platform 301 Part IV Testing, Evaluation and Optimization 16 Smart Interleavings for Testing Parallel Programs 323 17 Parallel Performance Evaluation and Optimization 343 18 A Methodology for Optimizing Multithreaded System Scalability on Multicores 363 19 Improving Multicore System Performance through Data Compression 385 Part V Scheduling and Management 20 Programming and Managing Resources on Accelerator-Enabled Clusters 407 21 An Approach for Efficient Execution of SPMD Applications on Multicore Clusters 431 22 Operating System and Scheduling for Future Multicore and Many-Core Platforms 451 Glossary 475 Index 481
Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jørn Amundsen
Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal, Rosa M. Badia and Xavier Martorell
Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina Papatriantafilou and Philippas Tsigas
Sandya Mannarswamy
Eduard Ayguadé, 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
Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel Steuwer and Philipp Kegel
Pablo de Oliveira Castro, Stéphane Louise and Denis Barthou
Vincent Gramoli and Rachid Guerraoui
Frank Otto and Walter F. Tichy
Chen Tian, Min Feng and Rajiv Gupta
Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tommaso Cucinotta
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 and Peter Sanders
Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati
Nuno Roma, António Rodrigues and Leonel Sousa
Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas Lachiche and Pierre Collet
Eitan Farchi
Hazim Shafi
Neil Gunther, Shanti Subramanyam and Stefan Parvu
Ozcan Ozturk and Mahmut Kandemir
M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos
Ronal Muresano, Dolores Rexachs and Emilio Luque
Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert
Subject Areas: Computer science [UY]
