Automating Runtime Optimizations for Parallel Object-Oriented Programming
Thesis 1996
Publication Type: PhD Thesis
Repository URL:
Abstract
Software development for parallel computers has been recognized as
one of the bottlenecks preventing their widespread use. In this
thesis we examine two complementary approaches for addressing the
challenges of high performance and enhanced programmability in
parallel programs: automated optimizations and object-orientation.
We have developed the parallel object-oriented language Charm++ (an
extension of C++), which enables the benefits of object-orientation
to be applied to the problems of parallel programming. In order to
improve parallel program performance without extra effort, we
explore the use of automated optimizations. In particular, we have
developed techniques for automating run-time optimizations for
parallel object-oriented languages. These techniques have been
embodied in the Paradise post-mortem analysis tool which automates
several run-time optimizations without programmer intervention.
Paradise builds a program representation from traces, analyzes
characteristics, chooses and parameterizes optimizations, and
generates hints to the Charm++ run-time libraries. The
optimizations researched are for static and dynamic object
placement, scheduling, granularity control and communication
reduction. We also evaluate Charm++, Paradise and several run-time
optimization techniques using real applications, including an
N-body simulation program, a program from the NAS benchmark suite,
and several other programs.
TextRef
Sanjeev Krishnan, "Automating Runtime Optimizations For Parallel Object-Oriented
Programming", 1996, University of Illinois at Urbana-Champaign.
People
Research Areas