Practical Time Travel of Multiprocessor Systems
Pablo Montesinos, Ph.D candidate at the Computer Science Department of the University of Illinois at Urbana-Champaign
Wednesday, March 25, 2009
With the arrival of multicore chips as the commodity architecture for a wide range of platforms, there is a growing pressure to make parallel programming the norm. Unfortunately, most current programmers find parallel programming too complex. Thus, we need tools, models, and architectures that make multiprocessors more programmable. One compelling way to improve programmability is to enable back-and-forth time travel in multiprocessor execution. Such ability simplifies code debugging, and is possible using a technique called Deterministic Replay of Execution. In this talk, I will describe DeLorean, a novel hardware substrate for deterministic replay. DeLorean advances the state of the art in that it generates a log that is orders of magnitude smaller than current schemes, and in that it enables high- speed recording and replay of parallel execution. For this hardware to be practical, time travel must be a first-class operating system abstraction. In this talk, I will also describe Capo, a novel software- hardware interface for practical hardware-assisted replay. I will also introduce the novel abstraction of Replay Sphere to separate the responsibilities of the hardware and software components of a replay system.
Pablo Montesinos is a Ph.D candidate at the Computer Science Department of the University of Illinois at Urbana-Champaign, where he received his MS in 2005. His area of expertise is multiprocessor computer architecture, with an emphasis on programmability. He has an interdisciplinary interest that combines hardware, operating systems and software. His research targets one of the most important problems facing the industry today: with the shift to multicore hardware, there is an urgent need for techniques to make multiprocessors programmer friendly.