A General Framework for Analyzing Shared-memory Parallel Programs

A General Framework for Analyzing Shared-memory Parallel Programs PDF Author: University of Illinois at Urbana-Champaign. Center for Supercomputing Research and Development
Publisher:
ISBN:
Category : Compilers (Computer programs)
Languages : en
Pages : 16

Get Book Here

Book Description
Then, abstract interpretation techniques are employed which provide systematic methods for folding related states for further state space reduction. With this framework, we have developed static analysis for obtaining program properties, such as side effects, data dependences, and object lifetimes. The information obtained facilitates program optimization, restructuring, and memory management."

A General Framework for Analyzing Shared-memory Parallel Programs

A General Framework for Analyzing Shared-memory Parallel Programs PDF Author: University of Illinois at Urbana-Champaign. Center for Supercomputing Research and Development
Publisher:
ISBN:
Category : Compilers (Computer programs)
Languages : en
Pages : 16

Get Book Here

Book Description
Then, abstract interpretation techniques are employed which provide systematic methods for folding related states for further state space reduction. With this framework, we have developed static analysis for obtaining program properties, such as side effects, data dependences, and object lifetimes. The information obtained facilitates program optimization, restructuring, and memory management."

Contech

Contech PDF Author: Phillip Vassenkov
Publisher:
ISBN:
Category : Distributed shared memory
Languages : en
Pages :

Get Book Here

Book Description
We are in the era of multicore machines, where we must exploit thread level parallelism for programs to run better, smarter, faster, and more efficiently. In order to increase instruction level parallelism, processors and compilers perform heavy dataflow analyses between instructions. However, there isn't much work done in the area of inter-thread dataflow analysis. In order to pave the way and find new ways to conserve resources across a variety of domains (i.e., execution speed, chip die area, power efficiency, and computational throughput), we propose a novel framework, termed Contech, to facilitate the analysis of multithreaded program in terms of its communication and execution patterns. We focus the scope on shared memory programs rather than message passing programs, since it is more difficult to analyze the communication and execution patterns for these programs. Discovering patterns of shared memory programs has the potential to allow general purpose computing machines to turn on or off architectural tricks according to application-specific features. Our design of Contech is modular in nature, so we can glean a large variety of information from an architecturally independent representation of the program under examination.

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

Shared-Memory Parallelism Can Be Simple, Fast, and Scalable PDF Author: Julian Shun
Publisher: ACM Books
ISBN: 9781970001914
Category : Computers
Languages : en
Pages : 426

Get Book Here

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.

Proceedings of the 1992 International Conference on Parallel Processing, August 17-21, 1992, University of Michigan: Software

Proceedings of the 1992 International Conference on Parallel Processing, August 17-21, 1992, University of Michigan: Software PDF Author:
Publisher:
ISBN:
Category : Parallel processing (Electronic computers)
Languages : en
Pages : 344

Get Book Here

Book Description


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

Shared-Memory Parallelism Can be Simple, Fast, and Scalable PDF Author: Julian Shun
Publisher: Morgan & Claypool
ISBN: 1970001895
Category : Computers
Languages : en
Pages : 445

Get Book Here

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.

Proceedings on 1992 International Conference on Parallel Processing

Proceedings on 1992 International Conference on Parallel Processing PDF Author: Quentin F. Stout
Publisher: CRC-Press
ISBN: 9780849307836
Category : Computers
Languages : en
Pages : 406

Get Book Here

Book Description


Analysis of Parallel Programs on Distributed Shared Memory

Analysis of Parallel Programs on Distributed Shared Memory PDF Author: Wanzhong Yang
Publisher:
ISBN:
Category : Distributed shared memory
Languages : en
Pages : 196

Get Book Here

Book Description


Proceedings of the 1992 International Conference on Parallel Processing, August 17-21, 1992, University of Michigan

Proceedings of the 1992 International Conference on Parallel Processing, August 17-21, 1992, University of Michigan PDF Author:
Publisher:
ISBN:
Category : Parallel processing (Electronic computers)
Languages : en
Pages : 328

Get Book Here

Book Description


OpenMP Shared Memory Parallel Programming

OpenMP Shared Memory Parallel Programming PDF Author: Michael J. Voss
Publisher: Springer
ISBN: 3540450092
Category : Computers
Languages : en
Pages : 280

Get Book Here

Book Description
The refereed proceedings of the International Workshop on OpenMP Applications and Tools, WOMPAT 2003, held in Toronto, Canada in June 2003. The 20 revised full papers presented were carefully reviewed and selected for inclusion in the book. The papers are organized in sections on tools and tool technology, OpenMP implementations, OpenMP experience, and OpenMP on clusters.

Load Balancing in Parallel Computers

Load Balancing in Parallel Computers PDF Author: Chenzhong Xu
Publisher: Springer
ISBN: 0585272565
Category : Computers
Languages : en
Pages : 217

Get Book Here

Book Description
Load Balancing in Parallel Computers: Theory and Practice is about the essential software technique of load balancing in distributed memory message-passing parallel computers, also called multicomputers. Each processor has its own address space and has to communicate with other processors by message passing. In general, a direct, point-to-point interconnection network is used for the communications. Many commercial parallel computers are of this class, including the Intel Paragon, the Thinking Machine CM-5, and the IBM SP2. Load Balancing in Parallel Computers: Theory and Practice presents a comprehensive treatment of the subject using rigorous mathematical analyses and practical implementations. The focus is on nearest-neighbor load balancing methods in which every processor at every step is restricted to balancing its workload with its direct neighbours only. Nearest-neighbor methods are iterative in nature because a global balanced state can be reached through processors' successive local operations. Since nearest-neighbor methods have a relatively relaxed requirement for the spread of local load information across the system, they are flexible in terms of allowing one to control the balancing quality, effective for preserving communication locality, and can be easily scaled in parallel computers with a direct communication network. Load Balancing in Parallel Computers: Theory and Practice serves as an excellent reference source and may be used as a text for advanced courses on the subject.