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
exible sync hronization. We implemented our sc heme on top of the concurrent object-oriented language Schematic and conrmed its eectiveness through experiments on a 64-processor symmetric multiprocessor.