Shared-Memory Parallelism Can be Simple, Fast, and Scalable

Shared-Memory Parallelism Can be Simple, Fast, and Scalable
Title Shared-Memory Parallelism Can be Simple, Fast, and Scalable PDF eBook
Author Julian Shun
Publisher Morgan & Claypool
Pages 445
Release 2017-06-01
Genre Computers
ISBN 1970001895

Download Shared-Memory Parallelism Can be Simple, Fast, and Scalable Book in PDF, Epub and Kindle

Parallelism is the key to achieving high performance in computing. However, writing efficient and scalable parallel programs is notoriously difficult, and often requires significant expertise. To address this challenge, it is crucial to provide programmers with high-level tools to enable them to develop solutions easily, and at the same time emphasize the theoretical and practical aspects of algorithm design to allow the solutions developed to run efficiently under many different settings. This thesis addresses this challenge using a three-pronged approach consisting of the design of shared-memory programming techniques, frameworks, and algorithms for important problems in computing. The thesis provides evidence that with appropriate programming techniques, frameworks, and algorithms, shared-memory programs can be simple, fast, and scalable, both in theory and in practice. The results developed in this thesis serve to ease the transition into the multicore era. The first part of this thesis introduces tools and techniques for deterministic parallel programming, including means for encapsulating nondeterminism via powerful commutative building blocks, as well as a novel framework for executing sequential iterative loops in parallel, which lead to deterministic parallel algorithms that are efficient both in theory and in practice. The second part of this thesis introduces Ligra, the first high-level shared memory framework for parallel graph traversal algorithms. The framework allows programmers to express graph traversal algorithms using very short and concise code, delivers performance competitive with that of highly-optimized code, and is up to orders of magnitude faster than existing systems designed for distributed memory. This part of the thesis also introduces Ligra+, which extends Ligra with graph compression techniques to reduce space usage and improve parallel performance at the same time, and is also the first graph processing system to support in-memory graph compression. The third and fourth parts of this thesis bridge the gap between theory and practice in parallel algorithm design by introducing the first algorithms for a variety of important problems on graphs and strings that are efficient both in theory and in practice. For example, the thesis develops the first linear-work and polylogarithmic-depth algorithms for suffix tree construction and graph connectivity that are also practical, as well as a work-efficient, polylogarithmic-depth, and cache-efficient shared-memory algorithm for triangle computations that achieves a 2–5x speedup over the best existing algorithms on 40 cores. This is a revised version of the thesis that won the 2015 ACM Doctoral Dissertation Award.

Shared-Memory Parallelism Can be Simple, Fast, and Scalable

Shared-Memory Parallelism Can be Simple, Fast, and Scalable
Title Shared-Memory Parallelism Can be Simple, Fast, and Scalable PDF eBook
Author Julian Shun
Publisher Morgan & Claypool
Pages 500
Release 2017-06-01
Genre Computers
ISBN 1970001909

Download Shared-Memory Parallelism Can be Simple, Fast, and Scalable Book in PDF, Epub and Kindle

Parallelism is the key to achieving high performance in computing. However, writing efficient and scalable parallel programs is notoriously difficult, and often requires significant expertise. To address this challenge, it is crucial to provide programmers with high-level tools to enable them to develop solutions easily, and at the same time emphasize the theoretical and practical aspects of algorithm design to allow the solutions developed to run efficiently under many different settings. This thesis addresses this challenge using a three-pronged approach consisting of the design of shared-memory programming techniques, frameworks, and algorithms for important problems in computing. The thesis provides evidence that with appropriate programming techniques, frameworks, and algorithms, shared-memory programs can be simple, fast, and scalable, both in theory and in practice. The results developed in this thesis serve to ease the transition into the multicore era. The first part of this thesis introduces tools and techniques for deterministic parallel programming, including means for encapsulating nondeterminism via powerful commutative building blocks, as well as a novel framework for executing sequential iterative loops in parallel, which lead to deterministic parallel algorithms that are efficient both in theory and in practice. The second part of this thesis introduces Ligra, the first high-level shared memory framework for parallel graph traversal algorithms. The framework allows programmers to express graph traversal algorithms using very short and concise code, delivers performance competitive with that of highly-optimized code, and is up to orders of magnitude faster than existing systems designed for distributed memory. This part of the thesis also introduces Ligra+, which extends Ligra with graph compression techniques to reduce space usage and improve parallel performance at the same time, and is also the first graph processing system to support in-memory graph compression. The third and fourth parts of this thesis bridge the gap between theory and practice in parallel algorithm design by introducing the first algorithms for a variety of important problems on graphs and strings that are efficient both in theory and in practice. For example, the thesis develops the first linear-work and polylogarithmic-depth algorithms for suffix tree construction and graph connectivity that are also practical, as well as a work-efficient, polylogarithmic-depth, and cache-efficient shared-memory algorithm for triangle computations that achieves a 2–5x speedup over the best existing algorithms on 40 cores. This is a revised version of the thesis that won the 2015 ACM Doctoral Dissertation Award.

Scalable Shared-Memory Multiprocessing

Scalable Shared-Memory Multiprocessing
Title Scalable Shared-Memory Multiprocessing PDF eBook
Author Daniel E. Lenoski
Publisher Elsevier
Pages 364
Release 2014-06-28
Genre Computers
ISBN 1483296016

Download Scalable Shared-Memory Multiprocessing Book in PDF, Epub and Kindle

Dr. Lenoski and Dr. Weber have experience with leading-edge research and practical issues involved in implementing large-scale parallel systems. They were key contributors to the architecture and design of the DASH multiprocessor. Currently, they are involved with commercializing scalable shared-memory technology.

Principles of Distributed Systems

Principles of Distributed Systems
Title Principles of Distributed Systems PDF eBook
Author Chenyang Lu
Publisher Springer Science & Business Media
Pages 529
Release 2010-12-02
Genre Computers
ISBN 3642176526

Download Principles of Distributed Systems Book in PDF, Epub and Kindle

This book constitutes the refereed proceedings of the 14th International Conference on Principles of Distributed Systems, OPODIS 2010, held in Tozeur, Tunisia, in December 2010. The 32 full papers and 4 brief announcements presented were carefully reviewed and selected from 122 submissions. The papers are organized in topical sections on robots; randomization in distributed algorithms; brief announcements; graph algorithms; fault-tolerance; distributed programming; real-time; shared memory; and concurrency.

Euro-Par 2011 Parallel Processing

Euro-Par 2011 Parallel Processing
Title Euro-Par 2011 Parallel Processing PDF eBook
Author Emmanuel Jeannot
Publisher Springer
Pages 486
Release 2011-08-12
Genre Computers
ISBN 364223397X

Download Euro-Par 2011 Parallel Processing Book in PDF, Epub and Kindle

The two-volume set LNCS 6852/6853 constitutes the refereed proceedings of the 17th International Euro-Par Conference held in Bordeaux, France, in August/September 2011. The 81 revised full papers presented were carefully reviewed and selected from 271 submissions. The papers are organized in topical sections on support tools and environments; performance prediction and evaluation; scheduling and load-balancing; high-performance architectures and compilers; parallel and distributed data management; grid, cluster and cloud computing; peer to peer computing; distributed systems and algorithms; parallel and distributed programming; parallel numerical algorithms; multicore and manycore programming; theory and algorithms for parallel computation; high performance networks and mobile ubiquitous computing.

Euro-Par 2015: Parallel Processing

Euro-Par 2015: Parallel Processing
Title Euro-Par 2015: Parallel Processing PDF eBook
Author Jesper Larsson Träff
Publisher Springer
Pages 717
Release 2015-07-24
Genre Computers
ISBN 3662480964

Download Euro-Par 2015: Parallel Processing Book in PDF, Epub and Kindle

This book constitutes the refereed proceedings of the 21st International Conference on Parallel and Distributed Computing, Euro-Par 2015, held in Vienna, Austria, in August 2015. The 51 revised full papers presented together with 2 invited papers were carefully reviewed and selected from 190 submissions. The papers are organized in the following topical sections: support tools and environments; performance modeling, prediction and evaluation; scheduling and load balancing; architecture and compilers; parallel and distributed data management; grid, cluster and cloud computing; distributed systems and algorithms; parallel and distributed programming, interfaces and languages; multi- and many-core programming; theory and algorithms for parallel computation; numerical methods and applications; and accelerator computing.

Parallel Programming in OpenMP

Parallel Programming in OpenMP
Title Parallel Programming in OpenMP PDF eBook
Author Rohit Chandra
Publisher Morgan Kaufmann
Pages 250
Release 2001
Genre Computers
ISBN 1558606718

Download Parallel Programming in OpenMP Book in PDF, Epub and Kindle

Software -- Programming Techniques.