Sabri Pllana, Fatos Xhafa
Programming Multicore and Many-Core Computing Systems
Herausgeber: Pllana, Sabri; Xhafa, Fatos
Sabri Pllana, Fatos Xhafa
Programming Multicore and Many-Core Computing Systems
Herausgeber: Pllana, Sabri; Xhafa, Fatos
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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 the programmers in mastering the efficient programming of multi-core systems, which is of paramount importance for the software-intensive industry towards a more productive product-development cycle. All programmers of modern computing systems are faced with the programming of multicore and many-core systems. This book will help readers learn the state-of-the-art methods and tools for programming such systems.
Andere Kunden interessierten sich auch für
- Network-Centric Distributed Sy159,99 €
- Richard M. FujimotoParallel and Distributed Simulation Systems222,99 €
- Manish ParasharAdvanced Computational Infrastructures for Parallel and Distributed Adaptive Applications203,99 €
- Jack DongarraHigh Performance Heterogeneous Computing139,99 €
- Vijay K. GargElements of Distributed Computing179,99 €
- Arslan MunirModeling and Optimization of Parallel and Distributed Embedded Systems140,99 €
- Wind Power in Power Systems204,99 €
-
-
-
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 the programmers in mastering the efficient programming of multi-core systems, which is of paramount importance for the software-intensive industry towards a more productive product-development cycle. All programmers of modern computing systems are faced with the programming of multicore and many-core systems. This book will help readers learn the state-of-the-art methods and tools for programming such systems.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Wiley Series on Parallel and Distributed Computing .1
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 528
- Erscheinungstermin: 6. Februar 2017
- Englisch
- Abmessung: 241mm x 162mm x 32mm
- Gewicht: 839g
- ISBN-13: 9780470936900
- ISBN-10: 0470936908
- Artikelnr.: 34930802
- Wiley Series on Parallel and Distributed Computing .1
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 528
- Erscheinungstermin: 6. Februar 2017
- Englisch
- Abmessung: 241mm x 162mm x 32mm
- Gewicht: 839g
- ISBN-13: 9780470936900
- ISBN-10: 0470936908
- Artikelnr.: 34930802
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 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.
List of Contributors ix
Preface xv
Acknowledgements xxiii
Acronyms xxv
Part I Foundations
1 Multi- and Many-Cores, Architectural Overview for Programmers 3
Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jørn
Amundsen
2 Programming Models for MultiCore and Many-Core Computing Systems 29
Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal,
Rosa M. Badia and Xavier Martorell
3 Lock-free Concurrent Data Structures 59
Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina
Papatriantafilou and Philippas Tsigas
4 Software Transactional Memory 81
Sandya Mannarswamy
Part II Programming Approaches
5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware
Implications 101
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
6 Skeleton Programming for Portable Many-Core Computing 121
Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel
Steuwer and Philipp Kegel
7 DSL Stream Programming on Multicore Architectures 143
Pablo de Oliveira Castro, Stéphane Louise and Denis Barthou
8 Programming with Transactional Memory 165
Vincent Gramoli and Rachid Guerraoui
9 Object-Oriented Stream Programming 185
Frank Otto and Walter F. Tichy
10 Software-Based Speculative Parallelization 205
Chen Tian, Min Feng and Rajiv Gupta
11 Autonomic Distribution and Adaptation 227
Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tommaso Cucinotta
Part III Programming Frameworks
12 PEPPHER: Performance Portability and Programmability for Heterogeneous
Many-Core Architectures 243
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
13 Fastflow: High-Level and Efficient Streaming on Multicore 261
Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati
14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore
Systems 281
Nuno Roma, António Rodrigues and Leonel Sousa
15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA
Platform 301
Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas
Lachiche and Pierre Collet
Part IV Testing, Evaluation and Optimization
16 Smart Interleavings for Testing Parallel Programs 323
Eitan Farchi
17 Parallel Performance Evaluation and Optimization 343
Hazim Shafi
18 A Methodology for Optimizing Multithreaded System Scalability on
Multicores 363
Neil Gunther, Shanti Subramanyam and Stefan Parvu
19 Improving Multicore System Performance through Data Compression 385
Ozcan Ozturk and Mahmut Kandemir
Part V Scheduling and Management
20 Programming and Managing Resources on Accelerator-Enabled Clusters 407
M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos
21 An Approach for Efficient Execution of SPMD Applications on Multicore
Clusters 431
Ronal Muresano, Dolores Rexachs and Emilio Luque
22 Operating System and Scheduling for Future Multicore and Many-Core
Platforms 451
Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert
Glossary 475
Index 481
Preface xv
Acknowledgements xxiii
Acronyms xxv
Part I Foundations
1 Multi- and Many-Cores, Architectural Overview for Programmers 3
Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jørn
Amundsen
2 Programming Models for MultiCore and Many-Core Computing Systems 29
Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal,
Rosa M. Badia and Xavier Martorell
3 Lock-free Concurrent Data Structures 59
Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina
Papatriantafilou and Philippas Tsigas
4 Software Transactional Memory 81
Sandya Mannarswamy
Part II Programming Approaches
5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware
Implications 101
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
6 Skeleton Programming for Portable Many-Core Computing 121
Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel
Steuwer and Philipp Kegel
7 DSL Stream Programming on Multicore Architectures 143
Pablo de Oliveira Castro, Stéphane Louise and Denis Barthou
8 Programming with Transactional Memory 165
Vincent Gramoli and Rachid Guerraoui
9 Object-Oriented Stream Programming 185
Frank Otto and Walter F. Tichy
10 Software-Based Speculative Parallelization 205
Chen Tian, Min Feng and Rajiv Gupta
11 Autonomic Distribution and Adaptation 227
Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tommaso Cucinotta
Part III Programming Frameworks
12 PEPPHER: Performance Portability and Programmability for Heterogeneous
Many-Core Architectures 243
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
13 Fastflow: High-Level and Efficient Streaming on Multicore 261
Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati
14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore
Systems 281
Nuno Roma, António Rodrigues and Leonel Sousa
15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA
Platform 301
Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas
Lachiche and Pierre Collet
Part IV Testing, Evaluation and Optimization
16 Smart Interleavings for Testing Parallel Programs 323
Eitan Farchi
17 Parallel Performance Evaluation and Optimization 343
Hazim Shafi
18 A Methodology for Optimizing Multithreaded System Scalability on
Multicores 363
Neil Gunther, Shanti Subramanyam and Stefan Parvu
19 Improving Multicore System Performance through Data Compression 385
Ozcan Ozturk and Mahmut Kandemir
Part V Scheduling and Management
20 Programming and Managing Resources on Accelerator-Enabled Clusters 407
M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos
21 An Approach for Efficient Execution of SPMD Applications on Multicore
Clusters 431
Ronal Muresano, Dolores Rexachs and Emilio Luque
22 Operating System and Scheduling for Future Multicore and Many-Core
Platforms 451
Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert
Glossary 475
Index 481
List of Contributors ix
Preface xv
Acknowledgements xxiii
Acronyms xxv
Part I Foundations
1 Multi- and Many-Cores, Architectural Overview for Programmers 3
Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jørn
Amundsen
2 Programming Models for MultiCore and Many-Core Computing Systems 29
Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal,
Rosa M. Badia and Xavier Martorell
3 Lock-free Concurrent Data Structures 59
Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina
Papatriantafilou and Philippas Tsigas
4 Software Transactional Memory 81
Sandya Mannarswamy
Part II Programming Approaches
5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware
Implications 101
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
6 Skeleton Programming for Portable Many-Core Computing 121
Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel
Steuwer and Philipp Kegel
7 DSL Stream Programming on Multicore Architectures 143
Pablo de Oliveira Castro, Stéphane Louise and Denis Barthou
8 Programming with Transactional Memory 165
Vincent Gramoli and Rachid Guerraoui
9 Object-Oriented Stream Programming 185
Frank Otto and Walter F. Tichy
10 Software-Based Speculative Parallelization 205
Chen Tian, Min Feng and Rajiv Gupta
11 Autonomic Distribution and Adaptation 227
Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tommaso Cucinotta
Part III Programming Frameworks
12 PEPPHER: Performance Portability and Programmability for Heterogeneous
Many-Core Architectures 243
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
13 Fastflow: High-Level and Efficient Streaming on Multicore 261
Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati
14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore
Systems 281
Nuno Roma, António Rodrigues and Leonel Sousa
15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA
Platform 301
Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas
Lachiche and Pierre Collet
Part IV Testing, Evaluation and Optimization
16 Smart Interleavings for Testing Parallel Programs 323
Eitan Farchi
17 Parallel Performance Evaluation and Optimization 343
Hazim Shafi
18 A Methodology for Optimizing Multithreaded System Scalability on
Multicores 363
Neil Gunther, Shanti Subramanyam and Stefan Parvu
19 Improving Multicore System Performance through Data Compression 385
Ozcan Ozturk and Mahmut Kandemir
Part V Scheduling and Management
20 Programming and Managing Resources on Accelerator-Enabled Clusters 407
M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos
21 An Approach for Efficient Execution of SPMD Applications on Multicore
Clusters 431
Ronal Muresano, Dolores Rexachs and Emilio Luque
22 Operating System and Scheduling for Future Multicore and Many-Core
Platforms 451
Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert
Glossary 475
Index 481
Preface xv
Acknowledgements xxiii
Acronyms xxv
Part I Foundations
1 Multi- and Many-Cores, Architectural Overview for Programmers 3
Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jørn
Amundsen
2 Programming Models for MultiCore and Many-Core Computing Systems 29
Ana Lucia Varbanescu, Rob V. van Nieuwpoort, Pieter Hijma, Henri E. Bal,
Rosa M. Badia and Xavier Martorell
3 Lock-free Concurrent Data Structures 59
Daniel Cederman, Anders Gidenstam, Phuong Ha, Håkan Sundell, Marina
Papatriantafilou and Philippas Tsigas
4 Software Transactional Memory 81
Sandya Mannarswamy
Part II Programming Approaches
5 Hybrid/Heterogeneous Programming with OmpSs and its Software/Hardware
Implications 101
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
6 Skeleton Programming for Portable Many-Core Computing 121
Christoph Kessler, Sergei Gorlatch, Johan Enmyren, Usman Dastgeer, Michel
Steuwer and Philipp Kegel
7 DSL Stream Programming on Multicore Architectures 143
Pablo de Oliveira Castro, Stéphane Louise and Denis Barthou
8 Programming with Transactional Memory 165
Vincent Gramoli and Rachid Guerraoui
9 Object-Oriented Stream Programming 185
Frank Otto and Walter F. Tichy
10 Software-Based Speculative Parallelization 205
Chen Tian, Min Feng and Rajiv Gupta
11 Autonomic Distribution and Adaptation 227
Lutz Schubert, Stefan Wesner, Daniel Rubio Bonilla and Tommaso Cucinotta
Part III Programming Frameworks
12 PEPPHER: Performance Portability and Programmability for Heterogeneous
Many-Core Architectures 243
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
13 Fastflow: High-Level and Efficient Streaming on Multicore 261
Marco Aldinucci, Marco Danelutto, Peter Kilpatrick and Massimo Torquati
14 Parallel Programming Framework for H.264/AVC Video Encoding in Multicore
Systems 281
Nuno Roma, António Rodrigues and Leonel Sousa
15 Parallelizing Evolutionary Algorithms on GPGPU Cards with the EASEA
Platform 301
Ogier Maitre, Frederic Kruger, Deepak Sharma, Stephane Querry, Nicolas
Lachiche and Pierre Collet
Part IV Testing, Evaluation and Optimization
16 Smart Interleavings for Testing Parallel Programs 323
Eitan Farchi
17 Parallel Performance Evaluation and Optimization 343
Hazim Shafi
18 A Methodology for Optimizing Multithreaded System Scalability on
Multicores 363
Neil Gunther, Shanti Subramanyam and Stefan Parvu
19 Improving Multicore System Performance through Data Compression 385
Ozcan Ozturk and Mahmut Kandemir
Part V Scheduling and Management
20 Programming and Managing Resources on Accelerator-Enabled Clusters 407
M. Mustafa Rafique, Ali R. Butt and Dimitrios S. Nikolopoulos
21 An Approach for Efficient Execution of SPMD Applications on Multicore
Clusters 431
Ronal Muresano, Dolores Rexachs and Emilio Luque
22 Operating System and Scheduling for Future Multicore and Many-Core
Platforms 451
Tommaso Cucinotta, Giuseppe Lipari and Lutz Schubert
Glossary 475
Index 481