Visualizing massively multithreaded applications with ThreadScope

  • Authors:
  • Kyle B. Wheeler;Douglas Thain

  • Affiliations:
  • Sandia National Laboratories, Albuqurque, NM, U.S.A. and Computer Science and Engineering, University of Notre Dame, Notre Dame, IN 46556, U.S.A.;Computer Science and Engineering, University of Notre Dame, Notre Dame, IN 46556, U.S.A.

  • Venue:
  • Concurrency and Computation: Practice & Experience
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

As highly parallel multicore machines become commonplace, programs must exhibit more concurrency to exploit the available hardware. Many multithreaded programming models already encourage programmers to create hundreds or thousands of short-lived threads that interact in complex ways. Programmers need to be able to analyze, tune, and troubleshoot these large-scale multithreaded programs. To address this problem, we present ThreadScope: a tool for tracing, visualizing, and analyzing massively multithreaded programs. ThreadScope extracts the machine-independent program structure from execution trace data from a variety of tracing tools and displays it as a graph of dependent execution blocks and memory objects, enabling identification of synchronization and structural problems, even if they did not occur in the traced run. It also uses graph-based analysis to identify potential problems. We demonstrate the use of ThreadScope to view program structure, memory access patterns, and synchronization problems in three programming environments and seven applications. Copyright © 2009 John Wiley & Sons, Ltd.