Performance and Productivity in Parallel Programming via Processor Virtualization
International Workshop on Productivity and Performance in High-End Computing at HPCA (PPHEC) 2004
Publication Type: Paper
Repository URL: productivity
Abstract
We have been pursuing a research program aimed at enhancing
productivity and performance in parallel computing at the Parallel
Programming Laboratory of University of Illinois for the past
decade. We summarize the basic approach, and why it has improved
(and will further improve) both productivity and performance. The
centerpiece of our approach is a technique called processor
virtualization: the program computation is divided into a large
number of chunks (called virtual processors), which are mapped to
processors by an adaptive, intelligent runtime system. The runtime
system also controls communication between virtual processors. This
approach makes possible a number of runtime optimizations. We argue
that the following strategies are necessary to improve productivity
in parallel programming: - Automated resource management via
processor virtualization - Modularity via concurrent composability
- Reusability via frameworks, libraries, and multi-paradigm
interoperability Of these, the first two directly benefit from
processor virtualization, while the last is indirectly impacted. We
describe our research on all these fronts.
TextRef
Laxmikant V. Kale,
"Performance and Productivity in Parallel
Programming via Processor Virtualization",
Proc. of the First Intl.
Workshop on Productivity and Performance in High-End Computing (at
HPCA 10), Feb 14, 2004.
People
Research Areas