Popis: |
Despite the numerous benefits that Integrated Circuit (IC) technology downscaling brings, it also introduces many challenges. First of all, IC dependability is lowering: both lifetime reliability and resilience to single event effects is decreasing. Another major problem is the increased power consumption. On the other hand, the vast available space enables integrating hundreds of processor cores in a single chip! Multiprocessing is for over a decade the main architectural trend because of two reasons. Firstly, the performance of single processors gained by architectural innovations reached the upper limit i.e., the point of diminishing returns. Secondly, the operating frequency could not be increased due to the excessive power consumption, as pointed out. This work proposes a multiprocessor architectural framework that addresses many challenges related to dependability, power consumption and performance. The key idea is dynamical adaptation to the application requirements of fault tolerance and performance, which is possibly done at the lowest rates of aging and power dissipation. The application may select one of the three basic operating modes: de-stress, fault-tolerant and high-performance. De-stress mode prolongs multiprocessor lifetime and reduces power consumption by using core gating patterns that systematically power- or clock-off entire cores in the multiprocessor. These patterns use the information supplied by novel IC aging monitors. Fault-tolerant mode, on the other hand, increases error resilience by forming core-level NMR (N-modular redundant) systems using the multiprocessor cores. That is, entire cores are tightly synchronized to execute the same task simultaneously. Voting is done on each clock cycle using special, programmable NMR voters. Core-level NMR enables masking faults without invoking recovery procedures which is appreciated by timing-critical, or, real-time applications. Finally, high-performance mode is used for boosting multiprocessor performance. The framework is evaluated using a novel environment for automated fault injection, as well as a novel multiprocessor verification platform. A vast number of experiments were made which led to closed-form expressions that determine the number of cores N required to survive the projected mission time, given the fault rate. Moreover, a newly-developed method for lifetime evaluation based on the Weibul distribution shows the benefits of using core gating patterns. E.g., the new Youngest-First Round-Robin (YFRR) pattern enables up to 31% increase in system's lifetime compared to a simple Round-Robin. Neben den vielzähligen Vorteilen, die die anhaltende Skalierung der Halbleitertechnologien mit sich bringt, gibt es auch eine Reihe von Herausforderungen. Insbesondere verringert sich die Zuverlässigkeit integrierter Schaltkreise (IC) durch verstärkte Alterungseffekte aber auch durch erhöhte Anfälligkeit hochintegrierter Schaltungen auf Single-Event-Effekten. Ein weiteres Problem ist die steigende Leistungsaufnahme komplexer Schaltungen. Auf der anderen Seite erlaubt die Skalierung mittlerweile die Integration von Hunderten von Prozessorkernen in einem einzigen Chip. Seit mehr als einem Jahrzehnt ist dieses Prinzip des Multiprocessing aus zwei Gründen Trend bei der Architektur komplexer Prozessoren: Zum einen gibt es kaum noch Neuerungen in der Architektur von Single-Core-Prozessoren. Zum anderen kann die Taktfrequenz aufgrund der dadurch steigenden Leistungsaufnahme nicht weiter erhöht werden. Diese Arbeit stellt ein Framework zur Architektur von Multiprozessoren vor, welches sich der Herausforderungen bezüglich der Zuverlässigkeit, der Leistungsaufnahme und auch der Performance annimmt. Dabei ist die Kernidee die dynamische Anpassung an die Anforderungen der Anwendung bezüglich der Fehlertoleranz und der Leistungsfähigkeit. Dazu wählt die Anwendung einen der drei Hauptbetriebsmodi aus: De-stress, Fault-Tolerance und High-Performance. Der De-stress-Modus verlängert die Lebensdauer des Multiprozessors und reduziert die Leistungsaufnahme. Dazu werden mittels Clock-Gating oder durch Abschalten der Spannungsversorgung ganze Prozessorkerne abgeschaltet. Neu entwickelte Monitorschaltungen zur Überwachung des Alterungsprozesses liefern dabei die Informationen, welcher Kern abgeschaltet werden sollte. Der Fault-Tolerance-Modus verringert die Fehleranfälligkeit durch Bildung einer N-modularen Redundanz auf Prozessorkernebene. Dazu werden mehrere Kerne so mit einander synchronisiert, dass sie exakt die gleichen Instruktionen durchführen. Ein programmierbarer NMR-Voter übernimmt dabei Takt für Takt die Abgleichung der Ergebnisse. Diese Strategie ermöglicht eine schnelle Korrektur von Fehlern ohne zeitaufwändige Wiederherstellungsverfahren (Recovery-Verfahren), so dass auch Echtzeitanwendungen unterstützt werden. Der High-Performance-Modus schöpft die volle Leistungsfähigkeit des Multiprozessorsystems aus. Zur Evaluation des Frameworks wurde eine neue Umgebung zur automatisierten Fehlerinjektion sowie eine neue Verifikationsplattform für Multiprozessoren entwickelt. Es wurden eine Vielzahl an Experimenten durchgeführt, die zur Bildung einer Formel verwendet wurden, welche bei gegebener Fehlerrate und Einsatzdauer die Anzahl an benötigten Prozessorkernen bestimmt. Darüber hinaus wurde basierend auf der Weibul Verteilung eine neue Methode zur Evaluierung der Lebensdauer entwickelte, die die Vorteile der Abschaltung der Kerne aufzeigt. Beispielsweise zeigt das Youngest-First Round-Robin (YFRR) Scheduling verglichen mit dem Standard-Round-Robin Verfahren eine Steigerung der Systemlebensdauer um 31%. |