Fault-Tolerant Systems

Computers today are thousands of times faster than they were just a few decades ago. Despite this, many important applications take days or more of computer time. Indeed, as computing speeds increase, computational problems that were previously dismissed as intractable become practical. Here are some applications that take a very long time to execute, even on today's fastest computers.
Fluid-Flow Simulation. Many important physics applications require the simulation of fluid flows. These are notoriously complex, consisting of large assemblages of three-dimensional cells interacting with one another. Examples include weather and climate modeling.
Optimization. Optimally deploying resources is often very complex. For example, airlines must schedule the movement of aircraft and their crews so that the correct combination of crews and aircraft are available, with all the regulatory constraints (such as flight crew rest hours, aircraft maintenance, and the aircraft types that individual pilots are certified for) satisfied.
Astronomy. N-body simulations that account for the mutual gravitational interactions of N bodies, the formation of stars during the merger of galaxies, the dynamics of galactic cluster formation and the hydrodynamic modeling of the universe are problems that can require huge amounts of time on even the fastest computers.
Biochemistry. The study of protein folding holds the potential for tailoring treatments to an individual patient's genetic makeup and disease. This problem is sufficiently complex to require petaflops of computing power.
When a program takes very long to execute, the probability of failure during execution, as well as...