Dür, W. (2022). Fault-tolerant GALS architecture based on pausable clocking [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2022.88760
fault-tolerant; TMR; GALS; pausable clocking; mutli channel bus; asynchronous; value safe; no single point of failure
en
Abstract:
Zwei wesentliche Herausforderungen bei der Entwicklung moderner Systems-on-Chips(SoCs) sind die Taktverteilung und die Zuverlässigkeit eines Systems. Bei der Taktverteilung geht es nicht nur darum, alle Module mit einem Takt zu versorgen, sondern auch mit dem für ihre Funktionalität notwendigen. Dies führt zu sogenannten GALS Systemen, welche auf lokaler Ebene synchron arbeiten, wegen den unterschiedlichen Taktdomänen aber asynchron kommunizieren. Für die asynchrone Kommunikation stehen wertsichere Methoden zur Verfügung, bei denen der Takt vorübergehend angehalten wird. Dies hat den Vorteil, dass die Latenz im Vergleich zu zeitsicheren Methoden, welche mit Synchronizern arbeiten, wesentlich verkürzt wird. Das zweite Problem ist die Zuverlässigkeit eines Systems, denn diese garantiert die Kontinuität des Dienstes auch im Fehlerfalle einer Komponente und ist für viele sicherheitskritischen Anwendungen wie Flugzeugen, Kernkraftwerken oder selbstfahrenden Autos erforderlich. In solchen Anwendungen darf es keinen einzelnen Ausfallspunkt geben der dazu führt, dass das gesamte System ausfällt. Eine Klasse von Systemen, die einen einzigen Fehler tolerieren können, sind die dreifachen modularen Redundanzsysteme (TMR). Hier führen drei Replikate die gleichen Aufgaben aus und nach erfolgreichem Abschluss wird über die Ergebnisse abgestimmt. Damit ein Fehler andere Replikas nicht beeinträchtigt läuft jegliche Kommunikation, welche über eine Replika hinaus geht, über gewisse Abstimmungsmechanismen. Eine fehlerhafte Replika kann so überstimmt werden. Das Ziel dieser Arbeit ist es nun einen Bus auf Basis pausierbarer Takte zu entwerfen. Bei dieser neuen Architektur handelt es sich um einen sogenannten Mehrkanalbus, der asynchronen Kommunikationsmustern folgt und auch selbst vollständig asynchron ist. Der Ansatz mehrere Kanäle anstatt nur einen einfachen Bus zu haben, ermöglicht mehrere gleichzeitige Transaktionen anstelle von nur einer, ohne dass dabei derselbe Flächenaufwand wie für Punkt-zu-Punkt-Verbindungen erforderlich ist. In einem zweiten Schritt wird dieser neue Mehrkanalbus so erweitert, dass er keinen einzelnen Ausfallspunkt hat und Teil eines Systems mit gemischter Kritikalität sein kann, wo sowohl TMR-Nachrichten, als auch gewöhnliche Nachrichten, denselben Bus zur Kommunikation verwenden. Es konnte gezeigt werden, dass der neu entwickelte Mehrkanalbus hinsichtlich der Latenz zwar schlechter abschneidet als bekannte und einfachere Konzepte, die Stärke des neu konzipierten Mehrkanalbusses jedoch neben des möglichen Durchsatz im Verhältnis zur benötigten Fläche auch in der Fehlertoleranz liegt.
de
Two major challenges in the development of modern Systems-on-Chips(SoCs) are the global clock distribution and the reliability of the system. Clock distribution is not only about providing all modules with a clock, but also with the one necessary for their functionality. This leads to so called GALS systems, which operate synchronously at the local level but due to the different clock domains they use asynchronous methods to communicate with each other. For asynchronous communication, value safe methods are available in which the clock is temporarily stopped. This has the advantage that the latency is significantly reduced compared to time safe methods, which work with synchronizers. The second problem is the reliability of a system, because this guarantees the continuity of service even in the event of a component failure and is required for many safety-critical applications such as aircraft, nuclear power plants, or self-driving cars. In such applications, there must not be a single point of failure that results in the entire system failing. One class of systems that can tolerate a single component failure are the triple modular redundant (TMR) systems. Here, three replicas perform the same tasks and, upon successful completion, the results are voted on. To ensure that an error does not affect other replicas, all communication that goes beyond one replica runs through certain voting mechanisms. A faulty replica can thus be outvoted. The goal of this work is now to design a bus based on pausable clocks. This new architecture is a so called multi channel bus, which follows asynchronous communication patterns and is also fully asynchronous itself. The approach of having multiple channels instead of just a single bus allows for multiple simultaneous transactions instead of just one, without requiring the same area overhead as point-to-point connections. In a second step this new multi channel bus is extended in a way such that it does not have a single point of failure and can be part of a mixed criticality system where both, TMR messages and best effort messages use the same bus for communication. It was shown that while the newly designed multi channel bus performs worse than known, simpler concepts in terms of latency, the strength of the newly designed multichannel bus is the possible throughput relative to the required area, as well as its fault tolerance.