Evaluation of thread-based virtual duplex systems in embedded environments
Virtual duplex systems have emerged as an alternative to traditional duplex systems, trading structural for temporal redundancy. When used in dependable embedded systems, virtual duplex systems provide a cost benefit because they require only one instead of two processors. In order to lighten the burden of this single processor, and in order to obey real-time requirements in embedded systems, the overhead due to the temporal redundancy must be low. As context-switch time constitutes a significant fraction of this overhead, we propose to use threads instead of processes to reduce the overhead in the error-free case and allow for faster detection of faults. Instead of using POSIX threads, we propose emulated multithreading to further reduce overhead. This technique allows very fine-grain execution and very short times between checkpoints. We evaluate the proposed concepts quantitatively.
Full Text: PDF