Software Support for Efficient Use of Modern Parallel Systems

Achieving top performance on modern many-core, accelerated, multi-node systems is a daunting challenge. Traditional performance analysis techniques that focus solely on execution hot spots are insufficient for diagnosing performance problems in complex systems. Production software systems suffer from performance losses at multiple layers of the software stack, which can be broadly classified into three categories: resource idleness, wasteful resource consumption, and application-architecture mismatch. Effective software tools, adaptive runtime systems, and architecture-aware algorithms developed as part of my doctoral dissertation address instances of performance problems due to each of the aforementioned categories. Tools and techniques that I developed have addressed performance losses arising from developer’s inattention to performance, inappropriate choice of data structures, inefficient algorithms, and ineffective compiler optimizations, among others.

Idleness analysis for heterogeneous architectures, developed as part of Rice University’s HPCToolkit performance tools, helped diagnose and correct both hardware and software causes of performance losses for important applications running on accelerated supercomputers. An adaptive runtime developed in collaboration with LBNL eliminated more than 60% redundant barriers in production runs of NWChem – a flagship DOE computational chemistry code. A fine-grained instruction monitoring framework pinpointed inefficiencies, which helped us improve the performance of several critical applications by a significant margin. Novel, architecture-aware synchronization algorithms deliver high throughput, high fairness, and superior scaling of highly contended locks on deep NUMA architectures.

This work has had practical impact through collaborations with various national laboratories (LBNL, LLNL, ORNL, PNNL, and ANL) and industrial as well as academic partners.

Speaker Details

Milind Chabbi is a doctoral candidate in the department of computer science at Rice University, advised by Prof. John Mellor-Crummey. Milind is a member of Rice University’s HPCToolkit team and conducts research on the performance analysis of complex software systems. His research interests span all aspects of compilers, parallel programming, and high-performance computing. He is also interested in methods for software correctness and security. Prior to joining Rice, he earned an M.S. in computer science from The University of Arizona, a B.E in computer science from Sri Jayachamarajendra College of Engineering (Mysore, India), and spent over 6 years working on compiler and mobile computing technologies at Microsoft and Motorola.

Date:
Speakers:
Milind Chabbi
Affiliation:
Rice University
    • Portrait of Jeff Running

      Jeff Running