CAREER: Exploiting Binary Rewriting to Analyze and Alleviate
Memory Bottlenecks for Scientific Applications
Restaurant overlooking the Caldera on Santorini, Greece
- funded by: NSF
(award abstract)
- funding level: $400,000 (+$35,000 cost sharing by NC State COE+CSC)
- duration: 06/01/2003 - 05/31/2008 (no-cost extension until 05/31/2010)
- PI: Frank Mueller
- prior funding: FRPD and SPAN
Today, high-performance clusters of shared-memory multiprocessors (SMPs)
are employed to cope with large data sets for scientific
applications. On these SMPs, hybrid programming models combing
message passing and shared memory are often less efficient than pure
message passing although the former fits SMP architectures more
closely.
The objective of this work is to determine the sources of
inefficiencies in utilizing memory hierarchies of SMPs and to optimize
memory behavior. The novelty lies in the reliance on
dynamic binary rewriting, i.e., performance analysis and tuning are
performed on the application while it executes.
The technical challenges are to
- develop a framework for dynamic binary rewriting,
- determine coherence traffic resulting in misses for
non-deterministic orders of executions in the presence of parallelism,
- identify memory bottlenecks,
- determine data dependencies between data references for
hot-spots for binaries,
- study the potential for memory-improving program transformations
on the executing binary and
- evaluate the merits of optimizations for large-scale benchmarks
among others.
The key intellectual merit is in providing additional, dynamic
optimizations for long-running applications. The broader impact of
this work lies in its contribution to counter the increasing gap
between processor and main memory speeds by fully
exploiting software optimizations.
Another focus of this work is on concurrency services for middleware,
specifically fully decentralized mutual exclusion in the presence of
multi-mode locking.
Theses:
-
"Analyzing Memory Performance Bottlenecks in OpenMP
Programs on SMP Architectures using ccSIM" by Anita Nagarajan,
M.S., North Carolina State University, Aug 2003, (last known
position: Intel at Bangalore, India, Desktop
Platforms Group, Graphics Core Engine team)
-
"METRIC: Tracking Memory Bottlenecks via Binary Rewriting" by Jaydeep Marathe,
M.S., North Carolina State University, Jun 2003 (last known
position: PhD candidate North Carolina State University)
-
"Hybrid online/offline optimization of Application Binaries" by Anubhav Dhoot, M.S., North Carolina State
University, Jul 2004 (last known position: Microsoft, WA)
-
"Trace Based Performance Characterization and Optimization"
by J. Marathe, Ph.D. Thesis, North Carolina State
University, May 2007 (last known position: Nvidia Compiler Group, CA)
-
"Trace-Based Dependence
Analysis for Speculative Loop Optimizations"
by Ravi Ramaseshan, M.S. Thesis, North Carolina State
University, Jun 2007 (last known position: Ph.D. student, NCSU)
"This material is based upon work supported by the National Science Foundation under Grant No. 0237570."
"Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation."