A 2-phase N-modular redundancy algorithm
I‐Ling Yen, Kapoor · 1999
N-modular redundancy (NMR) approach has been widely used to uniformly tolerate many types of failures. Various NMR implementations include FTMP, SIFT, C.vmp, MAFT, FTP, and Delta-4. Some of these only require loose synchronization and, hence, can be applied to general-purpose distributed systems. However, loosely synchronized systems generally incur a higher overhead. Thus, many of these approaches sacrifice parallelism to achieve a better performance. As computers are used increasingly in complex, critical systems, providing parallel processing is inevitable. We consider a system model that multiple processor groups execute tasks in parallel and concurrently access a logically shared address space (shared storage). We discuss a two-phase NMR (2P-NMR) algorithm that incurs relatively low overhead for shared storage accesses. An executor-verifier approach is used in 2P-NMR to reduce the communication cost and the two phase scheme is used to assure that the single executor does not corrupt the system state. The 2P-NMR approach is also adaptive. It achieves peak performance during failure free periods and gracefully degrades to regular NMR protocol when failures occur.