This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16485Parallel programming is an intellectually demanding task. One of the most difficult challenges in the development of parallel programs for asynchronous shared memory systems is avoiding errors caused by inadvertent data sharing, often referred to as data races. Static prediction of data races requires data dependence analysis, as well as analysis of parallelism and synchronization. This thesis addresses synchronization analysis of parallel programs. Synchronization analysis enables accurate prediction of data races in a parallel program. The results of synchronization analysis can also be used in a variety of other ways to enhance the powe...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
Parallel programming brings out, apart from the opportunity to spread out a program execution to man...
Parallel programming is an intellectually demanding task. One of the most difficult challenges in th...
150 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1992.Parallel programs are signifi...
The optimization of programs with explicit--i.e. user specified--parallelism requires the computatio...
A fundamental problem in the analysis of parallel programs is to determine when two statements in a ...
We have studied two related issues in the design, execution and debugging of shared memory parallel ...
This paper describes techniques which automatically detect data races in parallel programs by analyz...
In this thesis, we first review current trends in the areas related to parallel programming language...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
Developing efficient programs for distributed systems is difficult because computations must be effi...
Divide-and-conquer is a well-known and important programming model that supports efficient execution...
226 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1993.Explicit parallelism not only...
Many parallel programs are written in SPMD style, i.e. by running the same sequential program on all...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
Parallel programming brings out, apart from the opportunity to spread out a program execution to man...
Parallel programming is an intellectually demanding task. One of the most difficult challenges in th...
150 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1992.Parallel programs are signifi...
The optimization of programs with explicit--i.e. user specified--parallelism requires the computatio...
A fundamental problem in the analysis of parallel programs is to determine when two statements in a ...
We have studied two related issues in the design, execution and debugging of shared memory parallel ...
This paper describes techniques which automatically detect data races in parallel programs by analyz...
In this thesis, we first review current trends in the areas related to parallel programming language...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
Developing efficient programs for distributed systems is difficult because computations must be effi...
Divide-and-conquer is a well-known and important programming model that supports efficient execution...
226 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1993.Explicit parallelism not only...
Many parallel programs are written in SPMD style, i.e. by running the same sequential program on all...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
Parallel programming brings out, apart from the opportunity to spread out a program execution to man...