Continuous Improvement of Deployed Software Systems

Abstract

We completed development of an adaptive binary instrumentor. We devised a taxonomy of adaptive instrumentation strategies, and a collection of several search heuristics within that taxonomy. Averaged across many applications, our best heuristic finds the top-ranked predictor while exploring only 40% of the program: a significant improvement over the 100% exploration required by prior approaches. Reducing instrumentation overhead has been a key goal of this research. The new instrumentor imposes just 1% overhead on a variety of medium-sized benchmarks, as contrasted with 87% overhead for sampling-based instrumentation and 300% overhead for complete binary instrumentation. No prior related work has even come within an order of magnitude of this 1% overhead mark. We introduced a novel, non-intrusive and highly scalable mechanism for debugging high-performance computing (HPC) applications that identifies and refines task equivalence sets, then captures the relative logical progress of each task as a partial order.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 28, 2011
Accession Number
ADA563562

Entities

People

  • Ben Liblit

Organizations

  • University of Wisconsin Madison Department of Computer Science

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • High Performance Computing
  • Instrumentation
  • Object Oriented Programming
  • Sampling
  • Software Development
  • Taxonomy

Fields of Study

  • Computer science

Readers

  • Artificial Intelligence
  • Distributed Systems and Data Platform Development
  • Systems Analysis and Design