Skip the navigation

Giving Bugs the Boot

Micro-reboot your IT troubles away.

By Todd R. Weiss
November 8, 2004 12:00 PM ET

Computerworld - It's been an IT mantra for years: "When all else fails, reboot." Rebooting often works, but isn't there a better approach to the problem of buggy software that crashes your computer and takes your valuable data with it?
That idea has been the focus of researchers at Stanford University and the University of California, Berkeley, who have been working feverishly to find better ways to bring computers back from the brink of disaster.
The researchers are seeking a fresh alternative to rebooting. Thinking backward, they reasoned that it might be a good idea to give up on the impossible job of making bug-free software and instead look for ways to recover from failures without losing data or time.
That's the concept behind "recovery-oriented computing," a 180-degree turn from traditional thinking. The idea is that since software can't be created without crash-causing flaws, it should be built to reboot much faster, allowing users to get back to work almost instantly.
"The idea is pretty simple: If availability is the fraction of time that you're up, then recovering fast is more critical than reducing the number of times that crashes happen," says David Patterson, a computer science professor at UC Berkeley.
"In the dawn of computing, people thought software bugs would go away, and they haven't, so now we need ways to co-exist with them," he says. "I think it's a fact to live with rather than a problem to be solved."
One way to do that is through an evolving technique called micro-rebooting, which quickly reboots just enough of the program processes to get the system stabilized and back on track for the user.

Giving Bugs The Boot
Image Credit: Melinda Beck
A micro-reboot is specific to one problematic area of the software's code and doesn't affect other parts of the application, so data in the processing pipeline is unaffected by the reboot.
Led by Patterson and Armando Fox, an assistant professor of computer science at Stanford, the project began in late 2000. Patterson, Fox and a team of graduate students had seen evidence that systems dependability could be improved. Some IT systems for use in avionics, spacecraft and health care were ultradependable because they had to be, but they were costly and complex, and that kind of reliability was impractical for typical IT use. Another way had to be found.
Heading Off a Crash
The researchers are experimenting with algorithms that watch over system processes and sense when something has gone awry, and a crash is imminent. The algorithms focus on determining the normal baseline operations of applications, and when they see a deviation from

Our Commenting Policies