Echtzeitfähige Ablaufplanung für simultan mehrfädige Prozessoren
Real-time Scheduling for Simultaneous Multithreaded Processors
- In dieser Arbeit wird dargestellt, wie ein simultan mehrfädiger (SMT) Prozessor aufgebaut sein muss, um harte Echtzeitanforderungen zu erfüllen. Es werden Veränderungen an der Mikroarchitektur beschrieben, die es erlauben, einen einfädigen Superskalarprozessor mit In-Order-Ausführung zu einem simultan mehrfädigen Prozessor zu erweitern, bei dem ein Programmfaden völlig isoliert von den anderen abläuft. Dadurch verhält sich dieser Programmfaden als würde er allein auf einem einfädigen System ausgeführt und gängige Methoden zur Laufzeitanalyse und Berechnung der Worst Case Execution Time (WCET) können angewendet werden. Ein Hardware-Modul, das direkt auf der Zuordnungsstufe der Prozessor-Pipeline aufsetzt, erlaubt es, komplexe Scheduling-Algorithmen für eine nahezu beliebige Anzahl von Programmfäden zu ermöglichen. Um harte Echtzeitanforderungen zu erfüllen, wird nicht der etablierte Earliest Deadline First (EDF) Algorithmus verwendet, sondern ein auf Zeitschlitzen basierenderIn dieser Arbeit wird dargestellt, wie ein simultan mehrfädiger (SMT) Prozessor aufgebaut sein muss, um harte Echtzeitanforderungen zu erfüllen. Es werden Veränderungen an der Mikroarchitektur beschrieben, die es erlauben, einen einfädigen Superskalarprozessor mit In-Order-Ausführung zu einem simultan mehrfädigen Prozessor zu erweitern, bei dem ein Programmfaden völlig isoliert von den anderen abläuft. Dadurch verhält sich dieser Programmfaden als würde er allein auf einem einfädigen System ausgeführt und gängige Methoden zur Laufzeitanalyse und Berechnung der Worst Case Execution Time (WCET) können angewendet werden. Ein Hardware-Modul, das direkt auf der Zuordnungsstufe der Prozessor-Pipeline aufsetzt, erlaubt es, komplexe Scheduling-Algorithmen für eine nahezu beliebige Anzahl von Programmfäden zu ermöglichen. Um harte Echtzeitanforderungen zu erfüllen, wird nicht der etablierte Earliest Deadline First (EDF) Algorithmus verwendet, sondern ein auf Zeitschlitzen basierender Algorithmus, der jedoch ebenfalls optimal ist. Bei Programmfäden mit weichen Echtzeitanforderungen wird versucht, eine vorgegebene Ausführungsrate, gemessen in Instruktionen pro Takt (Instructions Per Cycle, IPC) zu erreichen. Weiterhin ist es möglich, Programmfäden ohne Echtzeitanforderungen durch einen Round-Robin-Algorithmus gleichmäßig auszuführen und aperiodische Anfragen (Interrupts) in kurzer Zeit zu beantworten. Für letzteres ist kein aufwändiges Serverprogramm zur Berechnung der nutzbaren Rechenzeit nötig, die Zeit steht vielmehr automatisch zur Verfügung. Um die vorgeschlagene Architektur zu evaluieren, wurde ein SystemC-Simulator und ein FPGA-Prototyp erstellt, deren Befehlssatz binärkompatibel zum Infineon TriCore 1 sind. Dieser sogenannte CarCore-Prozessor ist bei einfädiger Ausführung zwar nur halb so schnell wie ein einfädiger TriCore, bei mehrfädiger Ausführung ist der Gesamtdurchsatz jedoch vergleichbar. Insbesondere durch die gleichzeitige Ausführung von Programmfäden mit harten und weichen Echtzeitanforderungen kann der Prozessordurchsatz im Vergleich zu reinen harten Echtzeitsystemen erheblich gesteigert werden.…
- This thesis presents the requirements for a Simultaneous Multithreaded (SMT) processor that supports hard real-time capabilities. The microarchitecture of a single threaded superscalar in-order processor is enhanced to support simultaneous multithreading with one completely isolated thread. This thread is executed as if it were the only thread in a single threaded system. Hence established methods for Worst Case Execution Time (WCET) analysis can be applied. A hardware module, directly connected to the issue stage of the processor pipeline, provides sophisticated scheduling algorithms for a nearly arbitrary number of threads. For hard real-time scheduling, not the popular Earliest Deadline First (EDF) algorithm is used, but another likewise optimal algorithm, based on time slicing. Soft real-time threads are scheduled by controlling the number of executed instructions, given by Instructions Per Cycle (IPC). Furthermore, threads without real-time requirements are scheduled by a roundThis thesis presents the requirements for a Simultaneous Multithreaded (SMT) processor that supports hard real-time capabilities. The microarchitecture of a single threaded superscalar in-order processor is enhanced to support simultaneous multithreading with one completely isolated thread. This thread is executed as if it were the only thread in a single threaded system. Hence established methods for Worst Case Execution Time (WCET) analysis can be applied. A hardware module, directly connected to the issue stage of the processor pipeline, provides sophisticated scheduling algorithms for a nearly arbitrary number of threads. For hard real-time scheduling, not the popular Earliest Deadline First (EDF) algorithm is used, but another likewise optimal algorithm, based on time slicing. Soft real-time threads are scheduled by controlling the number of executed instructions, given by Instructions Per Cycle (IPC). Furthermore, threads without real-time requirements are scheduled by a round robin algorithm and the response time of aperiodic requests (interrupts) is minimised. For the later, no costly server thread is needed to calculate the remaining time, the time is available automatically. To evaluate the proposed architecture, a SystemC simulator and a FPGA prototype were developed. This so-called CarCore supports an instruction set that is binary compatible to the Infineon TriCore processor. Although the single threaded execution in CarCore reaches only half the speed of the TriCore, the total throughput with multithreaded execution is comparable to the TriCore throughput. In particular the concurrent execution of hard and soft real-time threads can seriously increase the processor throughput compared to a pure hard real-time system.…
Author: | Jörg Mische |
---|---|
URN: | urn:nbn:de:bvb:384-opus-18475 |
Frontdoor URL | https://opus.bibliothek.uni-augsburg.de/opus4/1607 |
Advisor: | Theo Ungerer |
Type: | Doctoral Thesis |
Language: | German |
Publishing Institution: | Universität Augsburg |
Granting Institution: | Universität Augsburg, Fakultät für Angewandte Informatik |
Date of final exam: | 2011/12/02 |
Release Date: | 2012/02/02 |
Tag: | in-order Ausführung; Tricore in-order execution; real-time |
GND-Keyword: | Hartes Echtzeitsystem; Scheduling; SMT <Informatik> |
Institutes: | Fakultät für Angewandte Informatik |
Fakultät für Angewandte Informatik / Institut für Informatik | |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Deutsches Urheberrecht mit Print on Demand |