Abgeschlossene Arbeiten (Auswahl)
Masterarbeiten
Autor: Lukas Hartmann
Betreuer: Severin Brunner
Wintersemester 2024/25
?
Kurzzusammenfassung:
A timing attack attempts to learn secret information from the execution time of an encryption or decryption. This work explores timing attacks and countermeasures on AES and RSA implementations of state-of-the-art crypto-libraries: OpenSSL, mbedTLS, tinycrypt, LibTomCrypt and Botan. For the AES, there is the slow S-Box implementation which on the other hand does not leak much timing information. Furthermore, there is a fast table implementation that is susceptible to attacks on different rounds. The weakness of the table implementation is the cache behaviour that causes timing variation. The preferred option should be hardware-specific and constant-time implementations. For AES, the cryptographic hardware features are the best option as they are fast and secure. Most of the investigated libraries support these. They also include other countermeasures, however, this work shows that attacks are still possible in the right setting. In particular in embedded systems where hardware is constrained, libraries might not be able to use the advanced implementations. Furthermore, some countermeasures slow down performance. The RSA does not have tables that are influenced by cache behavior, instead it requires exponentiation on large numbers. There are several approaches to make this more efficient. However, data-dependent execution paths can lead to timing variation and information leakage. One way to protect these is to avoid the data-dependency and thus make the implementation constant time. Additionally, blinding defends timing attacks which is why it is used by default in the libraries. The investigated libraries show different implementations and some pay more attention to timing attacks than others. While it is hard to find a weakness in Botan, ways are shown to attack the other crypto-libraries.
Autor: Maximilian Rumpf
Betreuer: Alexander Stegmeier, Tilmann Unte
Wintersemester 2023/24
?
Kurzzusammenfassung:
Real-time Systems play an important role in various industries, including safety- critical ones such as power plants, the automotive sector, and aviation. This makes them attractive targets for adversaries. Existing attacks can be enhanced by gaining access to the real-time system’s schedule [Che+19]. This paper explores the concept of using power analysis to non-invasively extract task parameters and reconstruct the schedule for an embedded real-time system. We introduce a Setup for capturing power traces for a microcontroller running FreeRTOS. In addition, we present two techniques for identifying similar segments in a power trace and explain how to classify them and potentially map them to jobs and tasks.
Autor: Dominik Witoschek
Betreuer: Alexander Stegmeier
Wintersemester 2023/24
?
Kurzzusammenfassung:
In den 1990er Jahren schufen Kocher et al. mit ihrer grundlegenden Arbeit [KJJ99] ein Bewusstsein dafür, dass sichere kryptographische Verfahren allein nicht ausreichen, um die Gesamtsicherheit kryptographischer Systeme zu gew?hrleisten. Die physikalische Implementierung solcher Systeme führt zwangsl?ufig dazu, dass sensible Informationen über physikalische Seitenkan?le durchsickern. Power Analysis bezeichnet eine Klasse von Seitenkanalangriffe, bei denen die momentane Leistungsaufnahme eines Zielger?ts aufgezeichnet und anschlie?end analysiert wird. Instruktionen und Daten erzeugen charakteristische Leistungsprofile. Auf dieser Grundlage ist es m?glich, Geheimnisse wie kryptographische Schlüssel aus Systemen zu extrahieren. Als Reaktion auf diese Angriffe haben sich zwei Klassen von Gegenma?nahmen etabliert: Hiding und Masking. W?hrend Masking in zahlreichen Arbeiten untersucht und optimiert wurde, findet sich zu Hiding-Gegenma?nahmen vergleichsweise wenig wissenschaftliche Literatur. In diesem Zusammenhang verfolgt die vorliegende Arbeit zwei Ziele. Zum einen soll die minimalistische Kryptographiebibliothek Tinycrypt auf Robustheit gegenüber Power-Analysis-Angriffen untersucht werden. Dafür wird eine kryptographisches Ger?t aufgesetzt und angegriffen. Zum anderen sollen softwarebasierte Gegenma?nahmen mit Fokus auf Hiding untersucht werden. Dafür wird der aktuelle Forschungsstand softwarebasierter Gegenma?nahmen aufgearbeitet. Von diesen Gegenma?nahmen wird eine auf Hiding basierende ausgew?hlt und auf dem Zielsystem implementiert. Anschlie?end wird im Vergleich mit einer ungeschützten Implementierung die erzielte Schutzwirkung bewertet. Der zugrundeliegende Versuchsaufbau für beide Ziele wird mithilfe der ChipWhisperer-Plattform realisiert. Diese Plattform bietet eine kosteneffiziente Integration der für Power- Analysis erforderlichen Werkzeuge und bildet einen reproduzierbaren Versuchsaufbau. Diese Arbeit zeigt, dass softwarebasierte Hiding-Gegenma?nahmen zwar eine erh?hte Resistenz gegen Power-Analysis-Angriffe bieten, jedoch abh?ngig von der Implementierung und Hardware unterschiedlich effektiv sind.
Autor: Johannes Kühbacher
Betreuer: Tilmann Unte
Wintersemester 2023/24
?
Kurzzusammenfassung:
Ein in den letzten Jahren zunehmend an Interesse gewinnendes Ziel ist die autonome Fortbewegung von Fahrzeugen und Robotern. In diesem Kontext werden Algorithmen ben?tigt, die eine Lokalisierung und eine anschlie?ende Wegfindung erm?glichen. Einer dieser Lokalisierungsalgorithmen ist die Monte-Carlo-Lokalisierung, die die Position und Ausrichtung eines Roboters mittels stochastischer Verfahren bestimmt. Im Rahmen der Arbeit wurde diese erprobt, indem ein Roboter sich selbst?ndig innerhalb eines Geb?udes lokalisiert, wodurch anschlie?end eine Wegfindung von der aktuellen Roboterposition zu einem Zielpunkt m?glich ist. Die Monte-Carlo-Lokalisierung setzt dabei voraus, dass der Roboter in der Lage ist seine Umgebung wahrzunehmen, weshalb dieser mit verschiedenen Abstandssensoren in Form von Ultraschall- und Lasersensoren ausgestattet wurde. Die Messwerte der Sensoren werden durch einen Sensorfusionsansatz kombiniert, damit das Verfahren weniger fehleranf?llig ist. Dies ist dahingehend wichtig, um die Schw?chen der beiden Sensortypen auszugleichen, wie zum Beispiel m?glichen Crosstalk der Ultraschallsensoren. Auch hat es sich in praktischen Versuchen gezeigt, dass der Lasersensor für Glasw?nde, welche in dem Testflur des Geb?udes zu finden sind, keine zuverl?ssigen Messwerte liefert. Diese Schw?che wird durch die Ultraschallsensoren ausgeglichen. Anhand weiterer simulierter und praktischer Versuche wurde zudem die Lokalisierung in verschiedenen Anwendungsgebieten innerhalb des Testflurs überprüft. Diese haben gezeigt, dass sich das Verfahren für eine lokale Lokalisierung, bei der Vorwissen über die Position des Roboters vorhanden ist, eignet, jedoch eine globale Lokalisierung, bei der kein Vorwissen gegeben ist, nur teilweise m?glich ist.
Autor: Severin Brunner
Betreuer: Alexander Stegmeier, Christian Piatka
Wintersemester 2022/23
?
Kurzzusammenfassung:
Viele eingebettete Echtzeitsysteme besitzen Sicherheitsanforderungen, welche eine Verschlüsselung oder Authentifizierung der zu verarbeitenden Daten erfordern. Um die entsprechenden Algorithmen schneller ausführen zu k?nnen und um den Haupt- prozessor zu entlasten, kann ein Hardwarebeschleuniger verwendet werden. Jedoch müssen die maximalen Antwortzeiten des Hardwarebeschleunigers bestimmbar sein, um die zur Verifizierung von Echtzeitsystemen erforderliche Worst Case Execution Time (WCET) von Programmen, die den Hardwarebeschleuniger verwenden, be- rechnen zu k?nnen. In dieser Arbeit wird ein für den Einsatz in Echtzeitsystemen konzipierter Hardware- beschleuniger entwickelt, welcher den Verschlüsselungsalgorithmus AES in Kombina- tion mit verschiedenen Betriebsmodi zur Verschlüsselung und Authentifizierung aus- führen kann. Der Hardwarebeschleuniger wird dabei ?hnlich wie ein Direct Memory Access (DMA) mit der Quell- und Zieladresse sowie der L?nge der zu verschlüsseln- den Daten programmiert und führt die entsprechenden Speicherzugriffe zum Lesen und Schreiben der Daten eigenst?ndig durch. Zudem verfügt der Hardwarebeschleu- niger über ein Kanalsystem, das die Verwaltung mehrerer Verschlüsselungsaufgaben erm?glicht. Die Aufgaben werden entsprechend einer gegebenen Priorisierung der Kan?le sequenziell abgearbeitet. Um für eine gro?e Breite an Anwendungsf?llen eine gute L?sung bereitzustellen, wird der Hardwarebeschleuniger in zwei Varianten implementiert. Bei der ersten Variante wird der Fokus auf eine hohe Ausführungsgeschwindigkeit gelegt, die zweite Vari- ante optimiert den Hardwarebeschleuniger bezüglich seiner Hardwareeffizienz. Das Design wird mittels der Xilinx Zynq-7000-Plattform getestet. Die Varianten werden abschlie?end im Rahmen einer Evaluation bezüglich ihrer Hardwareeffizienz und Geschwindigkeit miteinander verglichen. Zudem wird das zeitliche Verhalten analysiert und anhand der Analyseergebnisse ein Algorithmus zur Berechnung der maximalen Antwortzeiten aufgestellt.
Autor: Jakob Brügmann
Betreuer: Florian Haas
Sommersemester 2022
?
Kurzzusammenfassung:
Das ADMORPH Projekt besch?ftigt sich mit echtzeitf?higen Systemen, die sich dynamisch an die Umwelt anpassen [20]. Das untersuchte System führt Datenflussgraphen aus. Eine Hilfe zur flexiblen Entscheidung zwischen Zweifach- und Dreifachausführung wird in dieser Arbeit geschaffen. Diese beiden Redundanzmechanismen schützen die Aktoren der Programme gegen Fehler. Aktoren stellen die Berechnungseinheiten in den auszuführenden Datenflussgraphen dar. Um die Entscheidung zu erm?glichen wird ein Algorithmus zur automatischen WCET Analyse erstellt. Die Berücksichtigung der Ausf?lle durch Fehler findet für die WCET statt, bis zu einer festgelegten Wahrscheinlichkeit ist diese garantiert. Um die obere Schranke beweisen zu k?nnen, werden alle m?glichen Kombinationen an Wiederho?lungen der Aktoren erstellt und deren WCET bestimmt. Da das System nicht pr?emptiv ist müssen verschiedene Blockierungen berücksichtigt werden. Wichtig ist es, durch logische Ausschlusskriterien m?glichst viele Blockierungen auszuschlie?en. Zus?tzlich werden zwei Heuristiken erarbeitet, um eine schnellere Selektion der zu verwendenden Hardware zu erm?glichen. Die Auswertung der Algorithmen erfolgt anhand mehrerer Beispielprogramme. Dabei beweist sich der komplexe Algorithmus zur Bestimmung der WCET. Es wurden erfolgreich logische Zusammenh?nge gefun?den, um die WCET zu reduzieren. Aufbauend werden Verbesserungen am Ausfüh?rungssystem vorgeschlagen. Als effektiv erweist es sich, die Anzahl an m?glichen Blo?ckierungen zu reduzieren. Dies erm?glicht eine deutlich bessere WCET, ohne einen signifikanten Nachteil für die Ausführung im fehlerfreien Fall.
Autor: Thomas Kügle
Betreuer: Christian Piatka, Florian Haas
Wintersemester 2020/21
?
Kurzzusammenfassung:
Die Arbeit befasst sich mit der Konzipierung eines Hardwaretransaktionsspeichers für den Echtzeitbetrieb. Im Laufe der Arbeit wird ein Transaktionsspeicher um unterschiedliche Konzepte erweitert. Diese dienen dazu, den Abbruch von Trans?aktionen, welche eine feste Zeitschranke ben?tigen, zu verhindern. Zus?tzlich soll somit eine Vorhersage über das Verhalten des Transaktionsspeichers vereinfachen werden. Um Abbrüche von h?her priorisierten Tasks zu verhindern, werden prio?rit?tsbasierte Transaktionen eingeführt. Au?erdem werden unterschiedliche M?g?lichkeiten implementiert, um den Abbruch durch Kapazit?tskonflikte zu verhin?dern. Des Weiteren wurden alle Konzepte in verschiedenen Varianten des Trans?aktionsspeichers evaluiert. Für die Evaluation werden die einzelnen Varianten im GEM-5-Simulator implementiert und über unterschiedliche Benchmarks mitein?ander verglichen. In einem Vergleich mit den Ergebnissen der Stamp-Benchmarks in anderen Systemen wird die Validit?t des Transaktionsspeichers best?tigt. Zu?dem wird der Hardwareaufwand einzelner Modifikationen abgesch?tzt sowie deren Echtzeitverhalten betrachtet.
Autor: Tilmann Unte
Betreuer: Alexander Stegmeier
Sommersemester 2020
?
Kurzzusammenfassung:
Der RC/MC Prozessor hat die Zielsetzung den hohen Ansprüchen an eingebettete Systeme durch nachrichtenbasierte Parallelit?t und Echtzeitf?higkeit zu begegnen. Dazu werden sehr viele einfache Prozessorkerne mit dem Paternoster NoC verbunden. Jedem Kern werden anhand von periodischen TDM Schedules Sendeslots für die Kommunikation zur Verfügung gestellt. Dadurch wird es erm?glicht für parallele Programme die WCET zu analysieren. Doch die Anbindung an das Netzwerk über Sende-- und Empfangspuffer hat bisher hohe Hardwarekosten erzeugt. Weiterhin werden die Kerne mit der Verwaltung der Puffer ausgelastet und die TDM Sendeslots k?nnen teilweise nicht optimal genutzt werden. Zur L?sung dieser Probleme wird in dieser Arbeit eine echtzeitf?hige DMA Schnittstelle entworfen, die den Router direkt an den lokalen Speicher anschlie?t und das Senden und Empfangen von Nachrichten automatisiert. Dadurch k?nnen die Puffer komplett ersetzt werden und der Prozessorkern wird entlastet. Die DMA Schnittstelle wird auf zwei verschiedene Arten für den Alternate Schedule implementiert. Die beiden Implementierungen werden anhand ihrer Hardwarekosten und den Ergebnissen von Microbenchmarks ausgewertet und miteinander verglichen.
Bachelorarbeiten
Autor: Robin Wolf
Betreuer: Sebastian Altmeyer
Sommersemester 2024
?
Kurzzusammenfassung:
Das Thema der Arbeit lautet "Visualisierung, Analyse und Generierung von Cache- Zugriffen". Ziel ist es, eine Anwendung zu entwickeln, die Cache-Zugriffe visualisiert und Sequenzen mit vorgegebenen Hit-Raten erzeugt. Dazu wurde untersucht, wie eine Sequenz erstellt werden kann, die auf einem Cache eine bestimmte Hit-Rate besitzt. Zudem wurde betrachtet, wie gut sich Sequenzen finden lassen, die auf mehreren Caches jeweils zu einer bestimmten Hit-Rate führen. Diese Arbeit tr?gt dazu bei, Methoden für die Generierung von Cache-Zugriffssequenzen zu erstellen und zu diskutieren. Um diese Ziele zu erreichen, wurden verschiedene Algorithmen entwickelt und aus?gewertet. Im Kern wurden drei Algorithmen erarbeitet, welche in verschiedenen Abwandlungen diskutiert werden. Der erste Algorithmus erstellt zuf?llig eine Cache- Zugriffssequenz und überprüft, ob diese die gewünschten Eigenschaften besitzt. Der zweite Algorithmus sucht systematisch nach passenden Sequenzen und wird von einem Brute-Force-Algorithmus zu einem Branch-and-Bound-Algorithmus weiter?entwickelt. Der dritte Algorithmus nutzt Wahrscheinlichkeiten für Cache-Hits und Cache-Misses, um Sequenzen zu erstellen. Um die Algorithmen zu testen, wurde eine Anwendung implementiert, die die Algorithmen umsetzt. Die Ergebnisse zeigen, dass das Suchen nach Adressen und Sequenzen, egal ob zuf?l?lig oder systematisch, bei steigender Adressbreite und Sequenzl?nge in Bezug auf die Laufzeit an Grenzen st??t. Dennoch bieten diese Methoden einfache und erweiterba?re L?sungen für unterschiedliche Cache-Organisationen und Verdr?ngungsstrategien. Der probabilistische Ansatz wurde nur für das Finden einer Sequenz untersucht, die auf einem Cache eine bestimmte Hit-Rate besitzen muss. Dieser erwies sich als be?sonders viel versprechend, da er auch bei gro?en Sequenzl?ngen und Adressbreiten effizient skaliert.
Autor: Simon Güller
Betreuer: Severin Brunner
Sommersemester 2024
?
Kurzzusammenfassung:
Fault attacks are a powerful instrument used by adversaries to break the security of embedded devices. In response, many vendors try to prevent these attacks with software countermeasures. In this thesis, we address the need to evaluate the effectiveness of various countermeasures against fault attacks in embedded systems. An attack can consist of multiple faults, further complicating the defensive measures. Given the criticality of hardware security and the evolving nature of fault attacks, this thesis focuses on the challenges posed by the combination of multiple fault injections, leading to an exponentially growing search space for potential attacks. We develop a custom-built fault simulator to model and analyze fault attacks. The methodology for simulating faults, including glitches or bitflips, is clearly outlined. It demonstrates how the number of possible attacks scales exponentially with the number of injected faults. A key evaluation metric, the success rate, is defined to analyze the effectiveness of countermeasures by the ratio of successful attacks to the total number of executed attacks. Using this metric, various countermeasures in a secure boot protocol are evaluated, revealing patterns in the instructions targeted by successful attacks. This analysis shows that some instructions are targeted more frequently than others. A probability model for instructions is introduced, determining the likelihood that targeting a specific instruction will lead to a successful attack. This model enables the conceptualization of attacks as sequences of targeted instructions, each with an assigned probability of success. Leveraging these insights, we develop two methods for search space restriction to manage the exponentially growing number of possible attacks. The best-performing method increases the success rate of attacks by a factor of 26.4 compared to random instruction targeting. In conclusion, this thesis provides valuable insights into fault attacks and countermeasures, emphasizing the need for efficient search space restriction methods in the context of multi-fault scenarios.
Autor: Antonia Ge?wein
Betreuer: Tilmann Unte
Sommersemester 2024
?
Kurzzusammenfassung:
Für ein autonomes Fahrzeug wie einen mobilen Roboter spielt die Wahrnehmung der Umgebung eine zentrale Rolle. Damit sich der Roboter sicher durch sein Umfeld bewegen kann, muss er Hindernisse erkennen k?nnen. Im n?chsten Schritt w?re es m?glich, um die festgestellten Hindernisse herumzufahren. Das Ziel dieser Arbeit ist der Entwurf eines Algorithmus zur Hinderniserkennung. Ein naheliegender Ansatz, um Hindernisse detektieren zu k?nnen ist, den Abstand zu umliegenden Objekten zu messen. Zur Distanzmessung wird in dieser Arbeit ein Lidar Sensor verwendet. Anschlie?end werden diese Messdaten mithilfe eines Clustering-Algorithmus in Gruppen sortiert, um einzelne Hindernisse zu identifizieren. Nach der Gruppierung der aufgenommenen Daten ist eine Verbindung der einzelnen Messpunkte zu einem zusammenh?ngenden Hindernis notwendig, damit beispielsweise eine Wand darstellbar ist. Da Hindernisse auch ungew?hnlich geformt sein k?nnen, muss zus?tzlich überprüft werden, ob sie Ecken enthalten, weil dann die bisherige Repr?sentation das Hindernis eventuell nicht mehr akkurat abbilden kann. Der in dieser Arbeit vorgestellte Algorithmus zur Hinderniserkennung wird anschlie?end noch bezüglich seiner Ausführungszeit getestet. Au?erdem findet eine ?berprüfung statt, wie spitz ein Winkel sein kann, bevor Probleme bei der Eckenerkennung auftreten. Ein abschlie?ender Test vergleicht die vom Algorithmus berechneten Hindernisse mit der real vorhandenen Umgebung, um festzustellen, wie gut die Berechnungen die Realit?t abbilden.
Autor: Marc Stowasser
Betreuer: Sebastian Altmeyer
Wintersemester 2023/24
?
Kurzzusammenfassung:
~
Autor: Sebastian Stecher
Betreuer: Tilmann Unte
Sommersemester 2022
?
Kurzzusammenfassung:
Es wird die Leistung herk?mmlicher, günstiger Ultraschallsensoren in Verwendung zur Hindernisserkennung an einem fahrerlosen Transportsystem (FTS) untersucht. Dazu werden die Ultraschallsensoren, in einer ihren Eigenschaften entsprechenden Formation, am FTS montiert. Um der Fehleranf?lligkeit roher Messungen entgegenzuwirken und robustere Messergebnisse zu erhalten, wird eine angepasste Variante des eindimensionalen Kalman-Filter entwickelt und eingesetzt. Die Leistung des Systems wird zuletzt anhand einiger praktischer Versuche überprüft und optimiert. Dabei zeigt sich die Eignung des Kalman-Filter zur Filterung von Ultraschalldistanzmesswerten im untersuchten Teilbereich der Robotik. Das implementierte System eignet sich zur Hindernisserkennung von W?nden und Hindernissen ab einer Mindestgr??e im Innenraum oder zur additiven Verwendung in einem bereits bestehenden Hindernisserkennungssystem.
Autor: Steffen Beschta
Betreuer: Alexander Stegmeier
Sommersemester 2022
?
Kurzzusammenfassung:
Ein Ger?t durch Manipulation dazu zu bringen, einen Befehl falsch auszuführen, ist eine h?ufig verwendete Strategie, um ein vom Hersteller nicht geplantes Verhalten auszul?sen. Einer dieser Ans?tze, das Voltage Glitching, wird in dieser Arbeit n?her untersucht. Das Ziel ist es hierbei, die Debug-Funktionalit?t des Versuchsobjektes entgegen der eigentlichen Konfiguration zu aktivieren, indem w?hrend des Starts des Mikrocontrollers die Versorgungsspannung für einen kurzen Zeitraum kurzgeschlossen wird. Hierfür werden zun?chst die notwendigen Parameter bestimmt und ein Versuchsaufbau erl?utert, der auf der kommerziell verfügbaren ChipWhisperer Plattform basiert. Anschlie?end wird ein weiterer Versuchsaufbau dargestellt, bei dem ein Galliumnitrid Transistor verwendet wird. Beide Versuchsaufbauten werden auf ihre Erfolgswahrscheinlichkeiten und ihren Spannungsverlauf hin verglichen. Trotz Optimierungen am Versuchsaufbau konnte jedoch durch Einsatz eines anderen Transistors kein besseres Ergebnis als mit dem ChipWhisperer erzielt werden. Die Verwendung von dickeren Drahtbrücken zur Verbindung der Komponenten führte zwar zu einem stark optimierten Spannungsverlauf, die Erfolgswahrscheinlichkeit wurde hierdurch jedoch reduziert. Die beste Erfolgsrate resultierte aus dem Kurzschlie?en der Kernspannung mit einer Spannung, die leicht über dem Nullpotential liegt.
Autor: Felix Heptner
Betreuer: Christoph Kühbacher
Wintersemester 2021/22
?
Kurzzusammenfassung:
Die Adaptive Redundancy on Manycore Architectures (ARoMA) RTE ist ein daten?flussgraphbasiertes Multicore-Framework mit Fokus auf eingebetteten Systemen. Die ARoMA Runtime Environment (RTE) kann gleichzeitig hohe Performance durch Parallelisierung und Sicherheit durch spezielle Redundanzfeatures bieten. Teil des Frameworks ist ein eigenes funktionales Programmiermodell, das auf C++ basiert und sich mit konventionellen C++-Compilern kompilieren l?sst. Aus einem Pro?gramm, welches im ARoMA Framework geschrieben wurde, wird, ?hnlich wie in Tensorflow, v?r tats?chlicher Laufzeit ein Graph konstruiert. In Zukunft sollen die Redundanzkonfigurationen einzelner Abschnitte eines solchen Anwendungsgraphen adaptiv zur Laufzeit von der RTE angepasst werden k?nnen. Diese Arbeit legt die Basis für solch ein Modul, indem sie sich damit befasst, wie Directed Acyclic Graph (DAG)s durch Graphalgorithmen, den Anforderungen der RTE entsprechend, unterteilt werden k?nnen.
Autor: Anton Lydike
Betreuer: Tilmann Unte
Sommersemester 2021
?
Kurzzusammenfassung:
Creating a new operating system might seem like a daunting task to some. Gaining a deeper understanding of the inner workings of operating systems is a critical step in reducing the anxiety often associated with such an undertaking. This thesis attempts to show, how an operating system might not be as complex as it seems from the outside. To accomplish this, we break down the abstract concepts of an operating system and define a minimal operating system. EMBARK, the kernel created for this thesis, is a minimal implementation of such a definition which aims to give a platform to students to build upon. As RISC-V is the architecture used by the 伟德国际_伟德国际1946$娱乐app游戏 Augsburg, it is the target architecture for the kernel. This thesis will explain how EMBARK works internally, and explore the three parts which make up this kernel. Then the kernel is tested and validated using a RISC-V emulator, which was also written as part of this thesis.
Autor: Paul Burchard
Betreuer: Christian Piatka
Sommersemester 2020
?
Kurzzusammenfassung:
Zun?chst werden verschiedene Verfahren zur Ausführbarkeitsanalyse von periodischen Taskmengen vorgestellt, erkl?rt und in Form von Algorithmen dargestellt. Weiterhin wird ein Verfahren entwickelt, dass in der Lage ist Taskmengen zu generieren, wobei spezifische Parameter variiert werden k?nnen. Neben der Festlegung von unter anderem der gewünschten Prozessorauslastung oder der Anzahl der Tasks, kann insbesondere auch gew?hlt werden, durch welche Scheduling Policies eine Taskmenge aus- und unausführbar sein soll. Die dafür entwickelten Algorithmen werden veranschaulicht und erkl?rt. Im sp?teren Verlauf der Arbeit wird die durchschnittliche Dauer der Generierung einer Taskmenge unter Verwendung verschiedener Parameter evaluiert. Als l?ngste verzeichnete Durchschnittslaufzeit ergaben sich dabei 225 Millisekunden. Allerdings dauert die Generierung für die meisten evaluierten Parameter weniger als eine Millisekunde im Durchschnitt. Daraus folgt, dass sich für den Anwender im Regelfall kaum eine Verz?gerung bemerkbar macht.
Autor: Axel B?ll
Betreuer: Christian Mellwig
Sommersemester 2020
?
Kurzzusammenfassung:
Die ARoMA Laufzeitumgebung implementiert ein an Apache Spark angelehntes MapReduce Programmiermodell (RAPID) auf C++ Basis. Im Zentrum stehen dabei Datenpartitionen auf denen parallele MapReduce-Operationen angewendet werden. Durch die datenparallele Programmierung kann gezielt Datenlokalit?t vom Programmierer genutzt werden, um die Ausführung paralleler high-performance Anwendungen auf eingebetteten Systemen zu realisieren. Dynamic Programming und Structured Grid sind dabei zwei Berkeley Dwarfs, also zwei Klassen von parallelen Programmen, welche durch die Algorithmen Pathfinder und ParticleFilter der Rodinia Benchmark Suite repr?sentiert werden. Ziel dieser Bachelorarbeit ist es, die Applikationen Pathfinder und ParticleFilter der Rodinia Benchmark Suite von OpenMP auf das RAPID Programmiermodell zu portieren und deren Laufzeit mit der ARoMA Laufzeitumgebung zu evaluieren. Ein Augenmerk soll dabei auf dem Vorgang der Portierung selbst liegen um allgemeine Portierungsprobleme von Dynamic Programming und Structured Grid Algorithmen aufzudecken und zu untersuchen. Da die Speicherzugriffsmuster der OpenMP Implementierung auf shared-memory Architekturen zugeschnitten ist, müssen Datenabh?ngingkeiten analysiert werden und die Algorithmen so abge?ndert werden, dass eine Aufteilung der Daten auf nicht geteilte Speicherbereiche m?glich ist.
Autor: Darko Jankovic
Betreuer: Christoph Kühbacher
Sommersemester 2020
?
Kurzzusammenfassung:
CUDA bietet eine weit verbreitete M?glichkeit zur massiv parallelen Ausführung von Programmen an. Verwendet wird dafür die GPU-Architektur, und das Feature-Set einer Grafikkarte wurde für nicht mehr nur Video- und 3D-spezifische, sondern nunmehr allgemeine Berechnungen erweitert. Für Programmiermodelle, die zumindest theoretisch von dieser Parallelit?t Gebrauch machen k?nnen, er?ffnet sich eine M?glichkeit zur Beschleunigung von Programmen, die bisher nur auf einem konventionellen x86-Multicore-Prozessor liefen. Das Modell, mit dem sich diese Arbeit besch?ftigt, hei?t RAPID: Es fasst Programme als Graphen auf und stellt damit Datenflüsse und Operationen auf Daten einheitlich dar. Das ARoMA-RTE, das eine Laufzeitumgebung in C++ für dieses Modell bereitstellt, lief bislang nur auf der CPU. In dieser Arbeit wird untersucht, ob die Portierung einiger Funktionen des RTEs auf CUDA-ausführung praktikabel ist und sich in Performancegewinnen ?u?ert. Dabei wird nicht nur eine rudiment?re erste Version erstellt, sondern diese auch mit verschiedenen Mitteln optimiert, die die Graphical Processing Unit (GPU) zur Verfügung stellt. Testreihen best?tigen bereits bei der unoptimierten Fassung ?CUDA-naive“ einen enormen Performance-Zuwachs im Gegensatz zur reinen Central Processing Unit (CPU)-Ausführung. Synthetische Tests der einzelnen Operationen wie auch der Monte-Carlo-Algorithmus zur probabilistischen Bestimmung von Pi messen deutlich kürzere Ausführungszeiten. Allerdings wird dabei noch nicht das volle Potential der Grafikkarte ausgesch?pft: Mit der Nutzung von Unified Memory, Shared Memory und asynchroner Ausführung soll weiter versucht werden, die Grafikkartenausführung zu optimieren. Zum Schluss wird eine Wertung über die Ma?nahmen sowie weitere M?glichkeiten gegeben.
Projektmodule
Durchführung: Tobias Drexl
Betreuer: Tilmann Unte
Wintersemester 2021/22
?
Kurzzusammenfassung:
Die Aufgabe des Projektmoduls bestand in der Implementierung einer Antriebssteuerung für ESTHER. Die Anforderungen an diese Steuerung waren in erster Linie Beschleunigung und Bremsen so zu d?mpfen, dass der Roboter nicht ins Schleudern geraten kann. Weiterhin sollten sowohl Kurven, als auch auf der Stelle drehen unterstützt werden. Die Roboteranwendung wurde mit Hardware Watchdogs abgesichert.
Durchführung: Thomas Kügle
Betreuer: Christian Piatka, Florian Haas
Sommersemester 2020
?
Kurzzusammenfassung:
Die Aufgabe des Projektmoduls bestand in der Implementierung eines Skripts für den gem5-Simulator. Dieses Skript sollte es erlauben unkompliziert eine Simulation eines RISC-V Multicore-Systems im Baremetal-Modus durchzuführen. Des Weiteren sollte die Multicore-Funktionalit?t der RISC-V Implementierung untersucht, sowie deren Korrektheit evaluiert werden. In einem letzten Schritt wurde die M?glichkeit betrachtet den gem5 Cache um einen Transaktionsspeicher zu erweitern.
Forschungsmodule
Durchführung: Paul Oberosler
Betreuer: Johannes Kühbacher
Wintersemester 2024/25
Durchführung: Ohan Melkonyan
Betreuer: Tilmann Unte, Johannes Kühbacher
Sommersemester 2024
Durchführung: Vinzenz Malke
Betreuer: Tilmann Unte
Wintersemester 2022/23
?
Kurzzusammenfassung:
Im Rahmen dieses Froschungsmoduls wurde ein Treiber für ein Slamtech RPLIDAR für das Zephyr Echtzeitbetriebssystem entwickelt. Zu den Herausforderungen geh?rte eine anwenderfreundliche Abstraktion der Kommunikation mit dem Sensor, sowie der komplexen Konfigurationsm?glichkeiten. Der Treiber wurde anhand mehrerer Testprogramme sorgf?ltig erprobt und kann in Zukunft beispielsweise im Rahmen des ESTHER-Projekts weiterverwendet werden.
Durchführung: Dominik Witoschek
Betreuer: Alexander Stegmeier
Wintersemester 2022/23
?
Kurzzusammenfassung:
AES ist ein weitverbreiteter Verschlüsselungsalgorithmus und wird von eingebetteten Systemen im h?heren Preissegment mittlerweile oft hardwareseitig unterstützt. Der Forschungsgegenstand dieser Arbeit ist der dedizierte AES-Beschleuniger eines solchen Mikrocontrollers. Das Ziel ist die m?glichst pr?zise Erfassung des Zeitverhaltens für die verschiedenen angebotenen Features. Dazu z?hlen verschiedene Operationen, Schlüssell?ngen, Methoden zum Datentransfer und die M?glichkeit, Vorg?nge zu unterbrechen sowie fortzusetzen.
Durchführung: Sophia Hofbauer
Betreuer: Christian Piatka
Sommersemester 2022
?
Kurzzusammenfassung:
Im Rahmen dieses Froschungsmoduls wurde ein Onlinetool entwickelt, das die May- und Must-Analyse (Verfahren um Cache Misses bzw. Cache Hits vorherzusagen) auf vorgegebenen Graphen durchführen kann. Ein potenzieller Benutzer hat hierbei die M?glichkeit, einen aus sechs verschiedenen Graphen auszuw?hlen. Der Benutzer hat weiter die M?glichkeit, die Knoteninhalte der Graphen zu ?ndern. Das Tool erlaubt es, die L?sungen samt Graphen als LaTeX-Code herunterzuladen.
Durchführung: Steffen Beschta
Betreuer: Alexander Stegmeier
Sommersemester 2021
?
Kurzzusammenfassung:
Im Rahmen dieses Forschungsmoduls wurde eine Umgebung zur Ermittlung des taktgenauen Zeitverhaltens von Instruktionen realisiert und Microbenchmarks zur Ermittlung der Dauer einzelner Instruktionen in verschiedenen Ausführungkontexten implementiert. Anschlie?end wurde die entsprechenden Zeiten gemessen und anhand der vorliegenden Dokumentation verifiziert.