Abstract
We have developed an instrumentation scheme that enables programs written in multithreaded languages to compute a critical path at run time. Our scheme gives not only the length (execution time) of the critical path but also the lengths and locations of all the subpaths making up the critical path. Although the scheme is like Cilk’s algorithm in that it uses a “longest path” computation, it allows more flexible synchronization. We implemented our scheme on top of the concurrent object-oriented language Schematic and confirmed its effectiveness through experiments on a 64-processor symmetric multiprocessor.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Frigo, C. E. Leiserson, and K. H. Randall. The Implementation of the Cilk-5 Multithreaded Language. In Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation, pages 212–223, 1998. See also The Cilk Project Home Page http://supertech.lcs.mit.edu/cilk/
M. T. Heath and J. E. Finger. Visualizing the Performance of Parallel Programs. IEEE Software, 8(5):29–39, 1991.
J. K. Hollingsworth. Critical Path Profiling of Message Passing and Shared-memory Programs. IEEE Transactions on Parallel and Distributed Systems, pages 1029–1040, 1998.
U. Hölzle and D. Ungar. A Third-Generation SELF Implementation: Reconciling Responsiveness with Performance. In Proceedings of the Ninth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’ 94), pages 229–243, 1994.
J. R. Larus. Whole Program Paths. In Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (PLDI’ 99), pages 259–269, 1999.
C. E. Leiserson, 1999. personal communication.
Y. Oyama, K. Taura, T. Endo, and A. Yonezawa. An Implementation and Performance Evaluation of Language with Fine-Grain Thread Creation on Shared Memory Parallel Computer. In Proceedings of 1998 International Conference on Parallel and Distributed Computing and Systems (PDCS’ 98), pages 672–675, 1998.
Y. Oyama, K. Taura, and A. Yonezawa. An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus. In Proceedings of Euro-Par’ 97 Parallel Processing, volume 1300 of LNCS, pages 546–553, 1997.
Y. Oyama, K. Taura, and A. Yonezawa. Executing Parallel Programs with Synchronization Bottlenecks Efficiently. In Proceedings of International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA’ 99). World Scientific, 1999.
Pallas GmbH. Dimemas. http://www.pallas.de/.
Sun Microsystems. The Java HotSpot™ Performance Engine.
K. Taura and A. Yonezawa. Schematic: A Concurrent Object-Oriented Extension to Scheme. In Proceedings of Workshop on Object-Based Parallel and Distributed Computation (OBPDC’ 95), volume 1107 of LNCS, pages 59–82, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Oyama, Y., Taura, K., Yonezawa, A. (2000). Online Computation of Critical Paths for Multithreaded Languages. In: Rolim, J. (eds) Parallel and Distributed Processing. IPDPS 2000. Lecture Notes in Computer Science, vol 1800. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45591-4_40
Download citation
DOI: https://doi.org/10.1007/3-540-45591-4_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67442-9
Online ISBN: 978-3-540-45591-2
eBook Packages: Springer Book Archive