Fault Tolerant Computer Architecture by Daniel Sorin