Can we put concurrency back into redundant multithreading?

Can we put concurrency back into redundant multithreading?
复制标题

我们可以将并发性重新引入冗余多线程吗?

DOI:
10.1145/2656045.2656050
复制
发表时间:
2014
期刊:
2014 International Conference on Embedded Software (EMSOFT)
影响因子:
--
通讯作者:
Hermann Härtig
Hermann Härtig
中科院分区:
--
文献类型:
--
作者:
Björn Döbel;Hermann Härtig

文献摘要

被引文献

相似文献

软件实施的容错(SIFT)机制允许在不使用专门的弹性硬件的情况下耐受商业现成(COTS)系统中的瞬态硬件故障。不幸的是,编译器和操作系统级别的现有SIFT方法通常仅限于单线程应用程序,因此不适用于现代多核心平台上的多线程软件。我们提供RomainMt,这是一种操作系统服务,可为未修改的多线程应用程序提供复制。复制这些程序很具有挑战性,因为调度引起的非确定性可能会导致复制的线程执行不同的有效代码路径。这使有效行为与硬件错误的影响之间的区别变得复杂。 Romainmt通过透明地使多线程执行确定性解决这些问题。我们提出了两种替代机制,这些机制在对各自应用的假设上有所不同,并研究了它们的绩效含义。我们使用Splash2基准套件的评估表明,对于具有两个应用程序线程的应用程序的三型冗余(TMR)的开销为24%,四个应用程序线程为65%。
Software-implemented fault tolerance (SIFT) mechanisms allow to tolerate transient hardware faults in commercial off-the-shelf (COTS) systems without using specialized resilient hardware. Unfortunately, existing SIFT methods at both the compiler and the operating system levels are often restricted to single-threaded applications and hence do not apply to multithreaded software on modern multicore platforms. We present RomainMT, an operating system service that provides replication for unmodified multithreaded applications. Replicating these programs is challenging, because scheduling-induced non-determinism may cause replicated threads to execute different valid code paths. This complicates the distinction between valid behavior and the effects of hardware errors. RomainMT solves these problems by transparently making multithreaded execution deterministic. We present two alternative mechanisms that differ in the assumptions made about the respective applications and investigate their performance implications. Our evaluation using the SPLASH2 benchmark suite shows that the overhead for triple-modular redundancy (TMR) is 24% for applications with two application threads and 65% for four application threads.