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

Author:   Julian Shun
Publisher:   Morgan & Claypool Publishers
ISBN:  

9781970001914


Pages:   443
Publication Date:   30 June 2017
Format:   Hardback
Availability:   In Print   Availability explained
This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us.

Our Price $269.50 Quantity:  
Add to Cart

Share |

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


Add your own review!

Overview

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.

Full Product Details

Author:   Julian Shun
Publisher:   Morgan & Claypool Publishers
Imprint:   Morgan & Claypool Publishers
Weight:   0.825kg
ISBN:  

9781970001914


ISBN 10:   1970001917
Pages:   443
Publication Date:   30 June 2017
Audience:   College/higher education ,  Professional and scholarly ,  Postgraduate, Research & Scholarly ,  Professional & Vocational
Format:   Hardback
Publisher's Status:   Active
Availability:   In Print   Availability explained
This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us.

Table of Contents

Introduction Preliminaries and Notation Programming Techniques for Deterministic Parallelism Internally Deterministic Parallelism: Techniques and Algorithms Deterministic Parallelism in Sequential Iterative Algorithms A Deterministic Phase-Concurrent Parallel Hash Table Priority Updates: A Contention-Reducing Primitive for Deterministic Programming Large-Scale Shared-Memory Graph Analytics Ligra: A Lightweight Graph Processing Framework for Shared Memory Ligra : Adding Compression to Ligra Parallel Graph Algorithms Linear-Work Parallel Graph Connectivity Parallel and Cache-Oblivious Triangle Computations Parallel String Algorithms Parallel Cartesian Tree and Suffix Tree Construction Parallel Computation of Longest Common Prefixes Parallel Lempel-Ziv Factorization Parallel Wavelet Tree Construction Conclusion and Future Work Bibliography

Reviews

Author Information

Julian Shun obtained his Ph.D. in Computer Science from Carnegie Mellon University, advised by Guy Blelloch. He obtained his undergraduate degree in Computer Science from UC Berkeley. For his Ph.D., Julian developed Ligra, a framework for large-scale graph processing in shared memory, as well as algorithms for graph and text analytics that are efficient both in theory and in practice. He also developed methods for writing deterministic parallel programs and created the Problem Based Benchmark Suite for benchmarking parallel programs. Julian is currently a Miller Research Fellow at UC Berkeley.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List