CSE researchers win best paper award at ASPLOS 2011

A team of U-M computer science researchers, including Ph.D. students Kaushik Veeraraghavan, Dongyoon Lee, Benjamin Wester, and Jessica Ouyang, and professors Peter Chen, Jason Flinn, and Satish Narayanasamy, has won the Best Paper Award at the ACM 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), which took place March 5-11, 2011 in Newport Beach, CA Their paper, entitled “DoublePlay: […]
researchers

A team of U-M computer science researchers, including Ph.D. students Kaushik VeeraraghavanDongyoon LeeBenjamin Wester, and Jessica Ouyang, and professors Peter ChenJason Flinn, and Satish Narayanasamy, has won the Best Paper Award at the ACM 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), which took place March 5-11, 2011 in Newport Beach, CA

Their paper, entitled “DoublePlay: Parallelizing Sequential Logging and Replay,” addresses the challenge of efficiently implementing deterministic replay on commodity multiprocessor systems, Traditionally, multiprocessor replay incorporates a slow recording phase as the order and values read by shared memory operations performed by multiple threads needs to be reproduced. Their technique, DoublePlay, introduces a new way to efficiently guarantee replay on commodity multiprocessors.

The researchers’ key insight is that one can use the simpler and faster mechanisms of single-processor record and replay, yet still achieve the scalability offered by multiple cores, by using an additional execution to parallelize the record and replay of an application. DoublePlay timeslices multiple threads on a single processor, then runs multiple time intervals (epochs) of the program concurrently on separate processors. This strategy, which the researchers call uniparallelism, makes logging much easier because each epoch runs on a single processor (so threads in an epoch never simultaneously access the same memory) and different epochs operate on different copies of the memory, while scaling performance with increasing processors.

The researchers evaluated DoublePlay on a variety of client, server, and scientific parallel benchmarks; with spare cores, DoublePlay reduces logging overhead to an average of 15% with two worker threads and 28% with four threads.