Abstract
A profiler is an important tool for understanding the dynamic behaviour of concurrent programs to locate problems and optimize performance. The best way to improve profiling capabilities and reduce the time to analyze a concurrent program is to use a target-specific profiler that understands the underlying concurrent runtime environment. A profiler for understanding execution of user and kernel level threads is presented, which is target-specific for the μC++ concurrency system. This allows the insertion of hooks into the μC++ data structures and runtime kernel to ensure crucial operations are monitored exactly. Because the profiler is written in μC++ and has an extendible design, it is easy for users to write new metrics and incorporate them into the profiler.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Peter A. Buhr and Richard A. Stroobosscher. μC++ annotated reference manual, version 4.6. Technical report, Univ. of Waterloo, July 1996. Available via ftp from http://plg.uwaterloo.ca in pub/uSystem/uC++.ps.gz.
Peter A. Buhr, Martin Karsten, and Jun Shih. A multi-threaded debugger for multi-threaded applications. In Proc. SPDT’96: SIGMETRICS Symp. on Parallel and Distributed Tools, pages 80–87. ACM Press, May 1996.
Robert R. Denda. Profiling concurrent programs. Diplomarbeit, Universität Mannheim, Mannheim, Germany, September 1997. Available via ftp from http://plg.uwaterloo.ca in pub/MVD/DendaThesis.ps.gz.
D.A. Reed et al. Scalable performance analysis: The Pablo performance analysis environment. In Proc. Scalable Parallel Libraries Conf. IEEE Computer Society, 1993.
D.A. Reed et al. Virtual reality and parallel systems performance analysis. IEEE Computer, 28(11), November 1995.
Tara Maja Madhyastha. A portable system for data sonification. Master’s thesis, Rutgers State Univ., 1990.
B. Miller et al. The Paradyn parallel performance measurement tools. IEEE Computer, 28(11), November 1995.
T. Lehr et al. MKM: Mach kernel monitor description, examples and measurements. Technical report, Carnegie-Mellon Univ., March 1989. PA-CS-89-131.
T.E. Anderson and E.D. Lazowska. Quartz: A tool for tuning parallel program performance. In Proc. 1990 SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pages 115–125, Boston, May 1990.
A. Malony et al. Performance analysis of pC++: A portable data-parallel programming system for scalable parallel computers. In Proc. 8th Int. Parallel Processing Symp., pages 75–85, Cancun, Mexico, April 1994.
D. Brown et al. Program analysis environments for parallel language systems: The Τ environment. In Proc. 2nd Workshop on Environments and Tools For Parallel Scientific Computing, pages 162–171, Townsend, Tennessee, May 1994.
S. L. Graham, P. B. Kessler, and M. K. McKusick. GPROF: a call graph execution profiler. SIGPLAN Notices, 17(6):120–126, June 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Buhr, P.A., Denda, R. (1998). μProfiler: Profiling User-Level Threads in a Shared-Memory Programming Environment. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1998. Lecture Notes in Computer Science, vol 1505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49372-7_16
Download citation
DOI: https://doi.org/10.1007/3-540-49372-7_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65387-5
Online ISBN: 978-3-540-49372-3
eBook Packages: Springer Book Archive