Stabilization Enabling Technology
In this work, we suggest hardware and software components that enable the creation of a self-stabilizing OS/VMM on top of an off-the-shelf, nonself-stabilizing processor. A simple "watchdog" hardware that is called a periodic reset monitor (PRM) provides a basic solution. The solution is extended to stabilization enabling hardware (SEH) which removes any real time requirement from the OS/VMM. A stabilization enabling system that extends the SEH with software components provides the user (an OS/VMM designer) with a self-stabilizing processor abstraction. The method uses only a modest addition of hardware, which is external to the microprocessor. We demonstrate our approach on the XScale core by Intel. Moreover, we suggest methods for the adaptation of existing system code (e. g., code for operating systems) to be self-stabilizing. One method allows capturing and enforcing the configuration used by the program, thus reducing the work of the self-stabilizing algorithm designer to considering only the dynamic (nonconfigurational) parts of the state. Another method is suggested for ensuring that, eventually, addresses of branch commands are examined using a sanity check segment. This method is then used to ensure that a sanity check is performed before critical operations. One application of the latter method is for enforcing a full separation of components in the system.
self-stabilization computer systems organization performance of systems fault tolerance reliability availability serviceability virtualization