Abstract

Multithreaded programming is an effective way to exploit concurrency, but it is difficult to debug and tune a highly threaded program. This paper describes a performance tool called Tmon for monitoring, analyzing and tuning the performance of multithreaded programs. The performance tool has two novel features: it uses "thread waiting time" as a measure and constructs thread waiting graphs to show thread dependencies and thus performance bottlenecks, and it identifies "semi-busy-waiting" points where CPU cycles are wasted in condition checking and context switching. We have implemented the Tmon tool and, as a case study, we have used it to measure and tune a heavily threaded file system. We used four workloads to tune different aspects of the file system. We were able to improve the file system band-width and throughput significantly. In one case, we were able to improve the bandwidth by two orders of magnitude.

Original languageEnglish (US)
Pages (from-to)161-170
Number of pages10
JournalPerformance Evaluation Review
Volume26
Issue number1
DOIs
StatePublished - Jun 1998

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint Dive into the research topics of 'Performance measurements for multithreaded programs'. Together they form a unique fingerprint.

  • Cite this