Synchronization Techniques for Parallel Redundant Execution of Applications

Conference: ARCS Workshop 2019 - 32nd International Conference on Architecture of Computing Systems
05/20/2019 - 05/21/2019 at Copenhagen, Denmark

Proceedings: ARCS 2019

Pages: 8Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Nagengast, Christian; Osinski, Lukas; Mottok, Juergen (Laboratory for Safe and Secure Systems – LaS3, Ostbayerische Technische Hochschule, Regensburg, Regensburg, Germany)

In fault tolerant systems, applications are replicated and executed to enable error detection and recovery. If one replica application fails, another is able to take its place and provide the correct results. This concept can benefit from parallel execution on separate execution units. The rise of multicore platforms supports the development of parallel software, by providing the adequate hardware. However, this raises challenges regarding the synchronization of the redundant strings of execution. Replica determinism means that given the same input, identical programs provide the same output. To ensure replica determinism, requirements regarding the synchronization can be split in two domains: data and time. This paper examines the state of the art of synchronization techniques for parallel replicated execution in the context of fault tolerant systems. We analyze the requirements regarding synchronization within the time and data domain and compare different concepts of hardware (multicore, multiprocessor and multi-PCB) and software (processes, threads).