Affiliation:
1. Department of Computer Science, Princeton University, Princeton, NJ
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 bandwidth and throughput significantly. In one case, we were able to improve the bandwidth by two orders of magnitude.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Networks and Communications,Hardware and Architecture,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A New Metric for Multithreaded Parallel Programs Overhead Time Prediction;Communications in Computer and Information Science;2023
2. Towards an Overhead Estimation Model for Multithreaded Parallel Programs;Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering;2022
3. DiagDroid: Android performance diagnosis via anatomizing asynchronous executions;Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering;2016-11
4. Profiling divergences in GPU applications;Concurrency and Computation: Practice and Experience;2012-06-12
5. A monitoring system for multithreaded applications;Future Generation Computer Systems;2003-07