Predictable and Runtime-Adaptable Network-On-Chip for Mixed-Critical Real-Time Systems
Total Page:16
File Type:pdf, Size:1020Kb
Predictable and Runtime-Adaptable Network-On-Chip for Mixed-critical Real-time Systems Sebastian Tobuschat Predictable and Runtime-Adaptable Network-On-Chip for Mixed-critical Real-time Systems Dissertation an der Technischen Universität Braunschweig, Fakultät für Elektrotechnik, Informationstechnik, Physik Predictable and Runtime-Adaptable Network-On-Chip for Mixed-critical Real-time Systems Von der Fakultät für Elektrotechnik, Informationstechnik, Physik der Technischen Universität Carolo-Wilhelmina zu Braunschweig zur Erlangung des Grades eines Doktors der Ingenieurwissenschaften (Dr.-Ing.) genehmigte Dissertation von Sebastian Tobuschat aus Pinneberg Eingereicht am: 12.12.2018 Mündliche Prüfung am: 07.02.2019 1. Referent: Prof. Dr.-Ing. Rolf Ernst 2. Referent: Prof. Dr.-Ing. Dr. h. c. Jürgen Becker Druckjahr: 2019 Copyright c 2019 SEBASTIAN TOBUSCHAT ALL RIGHTS RESERVED Abstract The industry of safety-critical and dependable embedded systems calls for even cheaper, high performance platforms that allow flexibility and an effi- cient verification of safety and real-time requirements. In this sense, flexibil- ity denotes the ability to (online) adapt a system to changes (e.g. changing environment, application dynamics, errors) and the reuse-ability for different use cases. To cope with the increasing complexity of interconnected func- tions and to reduce the cost and power consumption of the system, multicore systems are used to efficiently integrate different processing units in the same chip. Networks-on-chip (NoCs), as a modular interconnect, are used as a promising solution for such multiprocessor systems on chip (MPSoCs), due to their scalability and performance. Hence, future NoC designs must face the aforementioned challenges. For safety-critical systems, a major goal is the avoidance of hazards. For this, safety-critical systems are qualified or even certified to prove the cor- rectness of the functioning under all possible cases. A predictable behaviour of the NoC can help to ease the qualification process (e.g. formal analysis) of the system. To achieve the required predictability, designers have two classes of solutions: isolation (quality of service (QoS) mechanisms) and (formal) analysis. For mixed-criticality systems, isolation and analysis approaches must be combined to efficiently achieve the desired predictability. Isola- tion techniques are used to bound interference between different application classes. And analysis can then be applied verifying the real-time applications and sufficient isolation properties. Traditional NoC analysis and architecture concepts tackle only a sub- part of the challenges—they focus on either performance or predictability. Existing, predictable NoCs are deemed too expensive and inflexible to host a variety of applications with opposing constraints. And state-of-the-art analyses neglect certain platform properties (e.g. they assume sufficient buffer sizes to avoid backpressure) to verify the behaviour. Together this leads to a high over-provisioning of the hardware resources as well as adverse impacts on system performance (especially for the non safety-critical applications), and on the flexibility of the system. In this work we tackle these challenges and develop a predictable and runtime-adaptable NoC architecture that efficiently integrates mixed-critical applications with opposing constraints. Additionally, we present a modelling and analysis framework for NoCs that accounts for backpressure (i.e. full buffers in network routers delaying the progress of network packets). This framework enables to evaluate the performance and reliability early at design time. Hence, the designer can assess multiple design decisions and trade-offs (such as area, voltage, reliability, performance) by using abstract models and formal approaches. Zusammenfassung Die Industrie der sicherheitskritischen und zuverlässigen eingebetteten Systeme verlangt nach noch günstigeren, leistungsfähigeren Plattformen, welche Flexibilität und eine effiziente Überprüfung der Sicherheits- und Echtzeitanforderungen ermöglichen. Flexibilität bezeichnet in diesem Sinne die Fähigkeit, ein System zur Laufzeit an Veränderungen (z.B. sich verän- dernde Umgebungen, Anwendungsdynamik, Fehler) anzupassen als auch die Wiederverwendbarkeit für verschiedene Anwendungsfälle. Um der zunehmenden Komplexität der zunehmend vernetzten Funktionen gerecht zu werden und die Kosten und den Stromverbrauch eines Systems zu reduzieren, werden Mehrkern-Systeme eingesetzt. On-Chip Netzwerke (NoCs) werden aufgrund ihrer Skalierbarkeit und Leistung als vielversprechende Lösung für solch Mehrkern-Systeme eingesetzt. Daher müssen sich zukünftige on-Chip Netzwerke den oben genannten Herausforderungen stellen. Bei sicherheitskritischen Systemen ist die Vermeidung von Gefahren ein wesentliches Ziel. Dazu werden sicherheitskritische Systeme quali- fiziert oder zertifiziert, um die Funktionsfähigkeit in allen möglichen Fällen nachzuweisen. Ein vorhersehbares Verhalten des on-Chip Netzwerks kann dabei helfen, den Qualifizierungsprozess (z.B. die formale Analyse) des Sys- tems zu erleichtern. Um die erforderliche Vorhersagbarkeit zu erreichen, gibt es zwei Klassen von Lösungen: Isolation (Quality of Service Mechanismen) und (formale) Analyse. Für Systeme mit gemischter Relevanz müssen Isola- tionsmechanismen und Analyseansätze kombiniert werden, um die gewün- schte Vorhersagbarkeit effizient zu erreichen. Isolationsmechanismen werden eingesetzt, um Interferenzen zwischen verschiedenen Anwendungsklassen zu begrenzen. Und die Analyse wird angewendet, um die Echtzeitfähigkeit und eine hinreichende Isolation zu verifizieren. Traditionelle Analyse- und Architekturkonzepte für on-Chip Netzwerke lösen nur einen Teil dieser Herausforderungen—sie konzentrieren sich en- tweder auf Leistung oder Vorhersagbarkeit. Existierende vorhersagbare on- Chip Netzwerke werden als zu teuer und unflexibel erachtet, um eine Vielzahl von Anwendungen mit gegensätzlichen Anforderungen zu integrieren. Und state-of-the-art Analysen vernachlässigen bzw. vereinfachen bestimmte Plat- tformeigenschaften (beispielsweise wird eine ausreichend große Puffergröße angenommen, um einen Paketrückstau zu vermeiden), um das Verhalten überprüfen zu können. Dies führt zu einer hohen Überbereitstellung der Hardware-Ressourcen als auch zu negativen Auswirkungen auf die System- leistung (insbesondere für die nicht sicherheitskritischen Anwendungen) und auf die Flexibilität des Systems. In dieser Arbeit gehen wir auf diese Herausforderungen ein und en- twickeln eine vorhersehbare und zur Laufzeit anpassbare Architektur für on-Chip Netzwerke, welche gemischt-kritische Anwendungen effizient in- tegriert. Zusätzlich stellen wir ein Modellierungs- und Analyseframework für on-Chip Netzwerke vor, das den Paketrückstau berücksichtigt (d.h. die Puffer im Netzwerk dürfen überlaufen). Dieses Framework ermöglicht es, die Leistung und Zuverlässigkeit bereits zur Designzeit zu bewerten. Somit kann der Konstrukteur mehrere Designentscheidungen und Kompromisse (wie Fläche, Spannung, Zuverlässigkeit, Leistung) anhand abstrakter Modelle und formaler Ansätze frühzeitig beurteilen. To Marlen. Contents 1 Introduction................................1 1.1 Motivation1 1.2 Standards for Safety5 1.3 Real-Time Traffic Properties7 1.4 Requirements of Safety-critical Embedded Systems 10 1.5 Research Objective and Contribution 14 2 Networks-on-Chip.......................... 17 2.1 Network-on-Chip Basics 17 2.1.1 Topology................................... 19 2.1.2 Routing.................................... 22 2.1.3 Switching................................... 23 2.1.4 Virtual Channels.............................. 25 2.1.5 Flow Control................................. 26 2.1.6 Baseline Switch Architecture...................... 27 2.2 Selected NoC Architectures 30 2.3 NoC Performance Verification 41 3 Formal Performance Verification of NoCs........ 45 3.1 Introduction 46 3.2 Related Work 48 ii 3.3 Compositional Performance Analysis (CPA) 49 3.3.1 Introduction................................. 49 3.3.2 CPA for NoCs................................ 52 3.4 Backpressure Aware NoC Analysis 53 3.4.1 Influencing Factors............................ 54 3.4.2 Sources of Blocking............................ 57 3.4.3 Derived Metrics............................... 67 3.4.4 Analysis of Multiple Routers....................... 70 3.5 Evaluation of the Analysis Approach 72 3.6 Summary 77 4 Quality of Service in NoCs.................... 79 4.1 Introduction 79 4.2 Related Work 81 4.3 Providing Efficient Latency Guarantees 84 4.3.1 Baseline Architecture of the Approach.............. 85 4.3.2 Dynamic Prioritization.......................... 86 4.3.3 Operational Example........................... 87 4.3.4 Arbitration Logic.............................. 89 4.3.5 Analysis of the Approach........................ 90 4.3.6 Finding Admissible BC Values..................... 95 4.3.7 Evaluation.................................. 95 4.4 Providing Efficient Throughput Guarantees 103 4.4.1 Progress Monitor and Selective Priority Arbiter........ 104 4.4.2 Sender Extensions............................ 105 4.4.3 Analysis of the Approach....................... 105 4.4.4 Evaluation................................. 111 4.5 NoC Software-control 117 4.5.1 Problem of Blocking Propagation................. 119 4.5.2 Control Layer for Resource Management........... 121 4.5.3 Principle of Operation of the NoC-RM.............. 123 4.5.4 Synchronization in NoC-RM..................... 125 4.5.5 High-level