Software
Given an execution trace, the tool determines whether the results are
compatible with the UPC memory model.
The tool is targeted at newcomers to UPC who want to learn about its memory
model and at developers who want to verify possible behaviors of their
programs.
Papers
Automated Verification of UPC Memory Consistency
Workshop on Verified Software: Theories, Tools, Experiments (VSTTE),
Seattle, WA, 2006
Author(s): O. Thorsen, C. Wallace
Abstract:The UPC programming language is a shared memory extension to ANSI
C. Its memory consistency model is relaxed, allowing for a high degree
of
optimization, but also permitting behavior which may be surprising to
the
newcomersve programmer. To allow better understanding of this memory
model,
we present a tool for analyzing the behavior of UPC programs. Given
an execution trace, the tool determines whether the results are
compatible
with the UPC memory model. The tool is targeted at newcomers to UPC
who want to learn about its memory model and at developers who want to
verify possible behaviors of their programs.
(
pdf )
Automated Verification of UPC Memory Consistency
M.S. Thesis, Michigan Technological University, Department of Computer
Science (2006)
Author(s): O. Thorsen
Abstract: UPC is a shared memory extension to ANSI C. Its memory
consistency model is
relaxed, allowing for optimization, but also permitting behavior which may
be
surprising to the naive programmer. To allow better understanding of this
memory
model, we present a tool for analyzing the behavior of UPC programs.
Given an execution trace, the tool determines whether the results are
compatible
with the UPC memory model.
The tool is targeted at newcomers to UPC who want to learn about its memory
model and at developers who want to verify possible behaviors of their
programs.
(
pdf )
The UPC memory model: Problems and prospects.
International Parallel and Distributed Processing Symposium (IPDPS),
Santa Fe, NM, 2004, 16a (10 pages).
Author(s): W. Kuchera and C. Wallace
Abstract: The memory consistency model underlying the Unified
Parallel C (UPC) language remains a promising but underused feature. We
report on our efforts to understand the UPC memory model and assess its
potential benefits. We describe problems we have uncovered in the current
language specification. These results have inspired an effort in the UPC
community to create an alternative memory model definition that avoids
these problems. We give experimental results confirming the promise of
performance gains afforded by the memory model's relaxed constraints on
consistency.
(
pdf )
Illuminating the UPC memory model
M.S. Thesis, Michigan Technological University, Department of Computer Science (December 12th, 2003)
Author(s): W. Kuchera
Abstract: Shared memory multiprocessors offer superior computational power to single processor machines. The interaction between processors and the memory system on such a platform must be well understood by programmers. Memory (consistency) models reduce the level of nondeterminism in shared-memory systems, by guaranteeing what can be read from memory based on the previous behavior of the system.
Unified Parallel C (UPC), an extension of ANSI C with support for parallel programming, includes a memory model in its specification. Programmers must have a clear understanding of the UPC memory model to write efficient and correct programs. Language implementors mus understand the memory model to know when UPC programs can be optimized.
This work formalizes the memory consistency model of UPC using ASMs. In doing so, we point out some problems with the current UPC memory model definition. Abstract State Machines (ASMs) are an operational sematics methodology which have been applied to several problem domains, including a variety of memory consistency models. Our formalization has helped design tests which show invalid behavior under the memory model and unexpected valid behavior. We also examined the performance potential of the memory model with sample UPC programs.
(
pdf |
ps.gz )
Toward a programmer-friendly formal specification of the UPC memory model.
Technical Report 03-01, Michigan Technological University, Department of Computer Science, 2003.
Author(s): W. Kuchera and C. Wallace
(
pdf |
ps.gz )
Illustrative test cases for the UPC memory model.
Technical Report 03-02, Michigan Technological University, Department of Computer Science, 2003.
Author(s): W. Kuchera and C. Wallace
(
pdf |
ps.gz )
Toward a programmer-friendly formal specification of the UPC memory model.
Poster presented at Supercomputing 2002.
Author(s): W. Kuchera and C. Wallace
(
html )
Last modified 12/8/4
{ Insert a counter here }