SODA


Book Description




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


Book Description

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.




Coordination Technology for Collaborative Applications


Book Description

This book concentrates on the relationships between coordination technology and business application requirements, introducing general elements of a cooperative infrastructure that allows for collaborative applications.




Applied Parallel Computing. Computations in Physics, Chemistry and Engineering Science


Book Description

This book presents the refereed proceedings of the Second International Workshop on Applied Parallel Computing in Physics, Chemistry and Engineering Science, PARA'95, held in Lyngby, Denmark, in August 1995. The 60 revised full papers included have been contributed by physicists, chemists, and engineers, as well as by computer scientists and mathematicians, and document the successful cooperation of different scientific communities in the booming area of computational science and high performance computing. Many widely-used numerical algorithms and their applications on parallel computers are treated in detail.




Parallel and Distributed Computer Graphics


Book Description

Parallel & Distributed Computer Graphics







Distributed Computing


Book Description

This book constitutes the refereed proceedings of the 19th International Conference on Distributed Computing, DISC 2005, held in Cracow, Poland, in September 2005. The 32 revised full papers selected from 162 submissions are presented together with 14 brief announcements of ongoing works chosen from 30 submissions; all of them were carefully selected for inclusion in the book. The entire scope of current issues in distributed computing is addressed, ranging from foundational and theoretical topics to algorithms and systems issues and to applications in various fields.




Algorithms for Memory Hierarchies


Book Description

Algorithms that have to process large data sets have to take into account that the cost of memory access depends on where the data is stored. Traditional algorithm design is based on the von Neumann model where accesses to memory have uniform cost. Actual machines increasingly deviate from this model: while waiting for memory access, nowadays, microprocessors can in principle execute 1000 additions of registers; for hard disk access this factor can reach six orders of magnitude. The 16 coherent chapters in this monograph-like tutorial book introduce and survey algorithmic techniques used to achieve high performance on memory hierarchies; emphasis is placed on methods interesting from a theoretical as well as important from a practical point of view.




Euro-Par 2008 Parallel Processing


Book Description

This book constitutes the refereed proceedings of the 14th International Conference on Parallel Computing, Euro-Par 2008, held in Las Palmas de Gran Canaria, Spain, in August 2008. The 86 revised papers presented were carefully reviewed and selected from 264 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 databases; grid and cluster computing; peer-to-peer computing; distributed systems and algorithms; parallel and distributed programming; parallel numerical algorithms; distributed and high-performance multimedia; theory and algorithms for parallel computation; and high performance networks.




The Shortest Path Problem


Book Description