UPC Activities at the University of Florida
Researchers in the HCS Lab are highly active on work in performance
analysis and optimization of high-performance computing with Unified Parallel C (UPC). UPC is a
promising programming model for global-address-space (GAS) parallel computing on
shared- and distributed-memory system architectures. An extension to
the C programming language, UPC provides a single address space for
applications running on multiple processors and orchestrated with a
single-program multiple-data (SPMD) style of parallel computing. The
UPC group in the lab is the
focal point for UPC research at the University of Florida.
PPW: Parallel Performance Wizard
Since Fall 2004, the HCS Lab's primary emphasis of research with UPC
is the investigation of key concepts and the development of a
comprehensive suite of new research tools that directly support
the performance analysis and optimization of global-address-space programs
(UPC and SHMEM programs in particular) on complex HPC architectures and
systems. This effort includes the study of existing and emerging
performance analysis theory and tools, current and future HPC
architectures, usability and user productivity preferences and methods,
and the UPC and SHMEM programming models. The results of our
in-depth investigation featured in the first year of this project
have been used as a basis for an initial implementation of a performance
tool nicknamed Parallel Performance Wizard, which has just recently
reached a public beta state.
For more information on the Parallel Performance Wizard tool (including
links to download the tool), please visit the
PPW website here.
GASP: A Global Address Space Address Performance Analysis Tool Interface
The global address space (GAS) programming model provides important potential
productivity advantages over traditional parallel programming models. Languages
using the GAS model currently have insufficient support from existing
performance analysis tools, due in part to their implementation complexity. We
have designed the Global Address Space Performance (GASP) tool interface that
is flexible enough to support instrumentation of any GAS programming model
implementation, while simultaneously allowing existing performance analysis
tools to leverage their tool's infrastructure and quickly add support for
programming languages and libraries using the GAS model.
For more information on the GASP tool interface (including a copy of the
current specification), please visit the
GASP website here.
Performance Tool Evaluations
In preparation for developing the
Parallel Performance Wizard tool,
we conducted an extensive evaluation of available parallel performance tools.
While many of the tools have been updated and improved since the tool
evaluations took place (Spring 2005), most of our observations about each tool
are still relevant. However, be sure to check each tool's website for any
recent developments that our evaluation might not cover.
As a service to other researchers and users, we have made the results of our
performance tool evaluation available. For the results of our evaluations,
please visit the
tool evaluations website here, or refer to
the summary report.
Implementations of message-passing models such as MPI leave the responsibility
of handling low-level communication to the programmer. For complex problems
such as cryptanalysis, the burden of dealing with these communication details
adds much complexity to program development. This extra burden raises the need
for a programming language that abstracts the programmer from the underlying
In this report
we look at the performance of a simulated cryptanalysis problem called the
Differential Attack Simulator written in UPC on the ES80 CC-NUMA architecture
from HP/Compaq. A copy of the UPC version of the cryptanalysis benchmark
described in the report
is available here.
For a complete list of all the UPC-related publications of the HCS lab,
visit the UPC group's publication page here.
All other UPC-related documents (including slides used during the UPC Workshops and
old progress reports) can be found
at the archived documents page.