Sammendrag
In multiprocessor systems, passive replication is a technique that trades processing power for increased reliability. One approach of passive replication, called primary-backup task scheduling, is often used in real-time multiprocessor systems to ensure that deadlines are met in spite of faults. Briefly, it consists in scheduling a secondary task conditionally, in such a way that the secondary task actually gets executed only if the primary task (or the processor executing it) fails to terminate properly. Doing so avoids wasting CPU resources in failure-free case, but primary and secondary tasks must then compete for resources in case of failures. To overcome this, overloading schemes, such as primary-backup overloading, backup-backup overloading and their hybrid, aim at improving schedulability while retaining a certain level of reliability. Traditionally primary-backup overloading is related to small scale embedded and real-time systems. However, as the fast development of computer systems the implementation of these schemes becomes a difficult mission especially when there are many processors in large scale embedded and real-time systems, multi-core or many-core systems or when the schemes are adopted to realize passive replication in a cluster or a datacenter for soft real-time applications. In this paper, we formalize overloading management towards free overloading, and then some principles are proved to simplify the construction and destruction of overloading in scheduling tasks and tolerating faults.
Vis fullstendig beskrivelse