Understanding and Improving Device Access
Intervenant(s) : Mike Swift
Peripheral devices extend the functionality of computers and make them more interesting to use. However, their tremendous growth and evolution over the years has led to significant hardware and software complexity. Hardware complexity makes the devices unreliable and slows OS operations that require re-loading drivers like reboot and failure recovery. Furthermore, little is known about the more than 5 million lines of driver code. This limits our ability to improve device access code and understand future research directions.
In this talk, I will address the challenges arising from device and OS complexity. First, I will present the first research consideration of peripheral device failures. I describe Carburizer, a code-rewriting tool and associated runtime, that handles the problems arising due to device failures and automatically recovers using restart/replay. I will then demonstrate the broad implications of these recovery techniques in modern drivers by showing some results from a study of drivers. Finally, I will describe how driver recovery can be improved by introducing a novel checkpoint/restore mechanism for drivers.
Gilles.Muller (at) nulllip6.fr