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.
Cite
CITATION STYLE
Ji, M., Felten, E. W., & Li, K. (1998). Performance measurements for multithreaded programs. Performance Evaluation Review, 26(1), 161–170. https://doi.org/10.1145/277858.277900
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.