Schedule (Note that the papers appear in your packets sorted alphabetically by the first author.) The format of the sessions will be a twenty-minute talk including only one or two minutes of questions. At the end of each session we will have a half hour for discussion. Monday June 8: Session 1: Teaching (1) 8:30 Teaching Parallel Algorithms Using the Cilk Multithreaded Programming Language. C.E. Leiserson. (Only 10 minutes for discussion) Session 2: Implementation I (2) 9:00 The Implementation of the Cilk-5 Multithreaded Language. K. Randall. (3) 9:20 Thread Scheduling for Multiprogrammed Multiprocessors. R.D. Blumofe. (4) 9:40 A Nonblocking Cilk Implementation. P. Lisiecki. 10:00 Discussion 10:30 Break Session 3: Performance (5) 11:00 Predicting Price/Performance Trade-offs for Whitney: A Commodity Computing Cluster. J.C. Becker, B. Nitzberg, R.F. Van Der Wijngaart, M. Yarrow, C. Kuszmaul. (6) 11:20 A Comparison of Multithreading Implementations. S.R. Taylor. (7) 11:40 Exploitation of Multithreading to Improve Program Performance. W.E. Cohen, N. Yalamanchilli, R. Tewari, C. Patel, and T. Kazi. 12:00 Discussion 12:30-2:00 Lunch (provided at the Peabody) Session 4: Applications (8) 2:00 Construction of a Multithreaded Chess Program. D. Dailey. (9) 2:20 Nops: A Conservative Parallel Simulation Engine for TeD. Poplawski, and Nicol. (10) 2:40 Using Multithreading for the Automatic Load Balancing of 2D Adaptive Finite Element Meshes. G. Heber, R. Biswas, P. Thulasiraman, and G.R. Gao. (11) 3:00 Applying Multi-threaded Programming to the Simulation of Virus Shell Self-Assembly. R. Schwartz, and B. Berger. 3:20 Discussion 3:50 Break Session 5: Memory (12) 4:20 Computation-Centric Memory Models. M. Frigo. (13) 4:40 Space Efficient Execution of Deterministic Parallel Programs. D.J. Simpson, and F.W. Burton. 5:00 Discussion 6:00-10:00 Dinner (provided at the peabody) Tuesday June 9: Session 6: Implementation II (1) 8:30 Communications-Efficient Multithreading on Limited-Bandwidth Networks. M.S. Bernstein, and B.C. Kuszmaul. (2) 8:50 Indolent Closure Creation. V. Strumpen. (3) 9:10 Scheduling Adaptively Parallel Jobs. B. Song. 9:30 Discussion 10:00 Break Session 7: Multithreaded Programming Systems (4) 10:30 Space-Efficient scheduling of Nested Parallelism. Narlikar. (5) 10:50 A Compiler for pH An Implicitly Parallel, Multithreaded Haskell. A. Caro, and J.W. Maessen. (6) 11:10 Speculative Processing Using Active Objects. C.-K. Yuen, and M. Feng. (7) 11:30 Athapascan-1: Parallel Programming with Asynchronous Tasks. G.G.H. Cavalheiro, F. Galilee, and J.-L. Roch. (8) 11:50 Stampede --- A Programming System for Emerging Scalable Interactive Multimedia Applications. R.S. Nikhil, U. Ramachandran, J. Rehg, R.H. Halstead, C.F. Joerg, and L. Kontothanassis. 12:10 Discussion 12:40-2:10 Lunch Session 8: Debugging (9) 2:10 Efficient Detection of Determinacy Races in Cilk Programs. M. Feng, and C.E. Leiserson. (10) 2:30 Detecting Data Races in Cilk Programs that Use Locks. G.-I. Cheng, C. E. Leiserson, K. Randall, A. Stark, and M. Feng. 2:50 Discussion 3:20 Break Session 9: Compilers (11) 3:50 Design of a Restructuring Compiler for Contemporary Languages and Architectures. L. Harrison. (12) 4:10 A Compiler Technique for Speculative Execution for Alternative Program Paths Targeting Multithreaded Architectures. A. Unger, T. Ungerer, and E. Zehendner. (13) 4:30 Compiling for Multithreaded Architectures. X. Tang. 4:50 Discussion 5:20 EOW (End of Workshop)