Association for Computing Machinery
In modern commodity operating systems, core functionality is usually designed assuming that the underlying processor hardware always functions correctly. Shrinking hardware feature sizes break this assumption. Existing approaches to cope with these issues either use hardware functionality that is not available in Commercial-Off-The-Shelf (COTS) systems or poses additional requirements on the software development side, making reuse of existing software hard, if not impossible. In this paper, the authors present romain, a framework that provides transparent redundant multithreading as an operating system service for hardware error detection and recovery.