Online Computation of Critical Paths for Multithreaded Languages
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.
KeywordsExecution Time Directed Acyclic Graph Critical Path Function Frame Lexical Rule
Unable to display preview. Download preview PDF.
- 1.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/
- 3.J. K. Hollingsworth. Critical Path Profiling of Message Passing and Shared-memory Programs. IEEE Transactions on Parallel and Distributed Systems, pages 1029–1040, 1998.Google Scholar
- 4.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.Google Scholar
- 5.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.Google Scholar
- 6.C. E. Leiserson, 1999. personal communication.Google Scholar
- 7.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.Google Scholar
- 9.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.Google Scholar
- 10.Pallas GmbH. Dimemas. http://www.pallas.de/.
- 11.Sun Microsystems. The Java HotSpot™ Performance Engine.Google Scholar
- 12.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.Google Scholar