Thesis Topics / Themen Abschlussarbeiten

Vergleichende Implementierung eines Realzeitbetriebssystems auf einem Mikrokontroller und auf einem RISC-V

Art der Arbeit:

Bachelorarbeit

Betreuer:

Fey, Dietmar
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: dietmar.fey@fau.de

Beschreibung der Arbeit:

In der Vergangenheit wurde die Software von Kraftfahrzeugen hauptsächlich für die Ausführung sicherheitskritischer Echtzeitaufgaben entwickelt. Mit dem Trend zum autonomen Fahren und dem Internet der Dinge kommt die Nachfrage nach serviceorientierter Software in dieser Welt mit hoher Geschwindigkeit. Dies führt dazu, dass grundsätzlich unterschiedliche Software- und Hardware-Architekturen in einem Fahrzeug zusammenarbeiten.

Dadurch ergibt sich auch die Frage, ob es sinnvoll ist unterschiedliche Prozessoren zum Einsatz zu bringen.

In diesem Zusammenhang soll am Lehrstuhl für Rechnerarchitektur in Zusammenarbeit mit der Firma Vitesco eine Vergleichsstudie durchgeführt werden.  Konkret soll das in C geschriebene Echtzeit-Betriebssystem FreeRTOS auf dem Mikrokontroller AURIX von Infineon mit einer Lösung auf einem RISC-V-Prozessor hinsichtlich Antwortzeiten von kritischen Tasks und Ressourcenbedarf verglichen werden. Als Umgebungen stehen ein virtueller AURIX und ein RISC-V-Simulator zur Verfügung.

NVDLA auf FPGA mit HSA interface

Art der Arbeit:

Studien-/Bachelor-/Diplom-/Masterarbeit

Betreuer:

Pfenning, Simon
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: simon.pfenning@fau.de

Beschreibung der Arbeit:

Mit NVDLA steht eine offene Architektur zur schnellen Berechnung neuronaler Netze zur Verfügung. Der genannte Beschleuniger ist nach Aussage von NVIDIA hoch konfigurierbar und lässt sich so für unterschiedliche Szenarien anwenden.

Ferner werden am Lehrstuhl Tools entwickelt, um FPGAs einfacher und transparenter nutzbar zu machen. Hierfür werden die Standards der HSAF (Heterogenous Systems Architecture Foundation) angewendet. Das Ziel dieser Arbeit besteht nun in der Kopplung von NVDLA und eben genannter Infrastruktur auf Basis der HSAF. Dies eröffnet eine einfache Integration von dedizierten KI-Beschleuniger-Kernen in heterogene Rechensysteme.

Arbeitsabschätzung:

30% Konzeption
50% Hardwareentwurf
20% Benchmarking

 

 

Mixed-Darstellungen für ternäre CPU

Art der Arbeit:

Studien-/Bachelor-/Diplom-/Masterarbeit

Betreuer:

Fey, Dietmar
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: dietmar.fey@fau.de

Beschreibung der Arbeit:

Ein Kernproblem in der Digitalelektronik sind entstehende Überträge bei der Addition. Werden beispielsweise 11111 + 00001 addiert, so setzt der Übertrag von der letzten Stelle bis zur vordersten Stelle fort. Um dieses Problem zu umgehen, werden sogenannte redundante Zahlensysteme verwendet, mit denen sich eine Zahl durch mehrere Bitfolgen darstellen lässt. Am Lehrstuhl wurde deshalb ein neuer Prozessor auf RISC-V Basis entworfen, der solche redundanten Zahlendarstellungen nutzt und deswegen eine Beschleunigung erzielen kann.

Leider bieten genannte Zahlensysteme nicht nur Vorteile. Zur Abarbeitung von Sprüngen beispielsweise, kann die Nutzung o.g. Zahlendarstellung einen Zusatzaufwand bedeuten. Aus diesem Grund soll in dieser Arbeit ein hybrides Vorgehen analysiert werden. Rechenintensive Datenpfade sind mit redundanter Arithmetik zu analysieren, Kontrollpfade in klassischer Arithmetik. Die Architekturentwicklung erfolgt mittels abstrakter Beschreibungssprachen (C/C++/SystemC).

Konzeption: 40%
Architekturentwicklung: 40%
Simulation / Benchmarking: 20%

 

 

DL Beschleuniger mit ternären Datenpfaden

Art der Arbeit:

Studien-/Bachelor-/Diplom-/Masterarbeit

Betreuer:

Fey, Dietmar
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: dietmar.fey@fau.de

Holzinger, Philipp
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: philipp.holzinger@fau.de

Beschreibung der Arbeit:

Ein Kernproblem in der Digitalelektronik sind entstehende Überträge bei der Addition. Werden beispielsweise 11111 + 00001 addiert, so setzt der Übertrag von der letzten Stelle bis zur vordersten Stelle fort. Um dieses Problem zu umgehen, werden sogenannte redundante Zahlensysteme verwendet, mit denen sich eine Zahl durch mehrere Bitfolgen darstellen lässt. Am Lehrstuhl wurde deshalb ein neuer Prozessor auf RISC-V Basis entworfen, der solche redundanten Zahlendarstellungen nutzt und deswegen eine Beschleunigung erzielen kann.

Die genannten Konzepte lassen sich jedoch nicht nur auf komplette Prozessoren, sondern auch auf Beschleunigerkerne selbst, beispielsweise für die schnelle Inferenz neuronale Netze anwenden. In dieser Abschlussarbeit soll ein Beschleunigerkern in einer abstrakten Beschreibungssprache (SystemC) mit ternären Datenpfaden entworfen werden.

Konzeption: 30%
Programmierung: 50%
Evaluation: 20%

 

GPU auf FPGA (GPUonFPGA)

Art der Arbeit:

Diplom-/Master-/Projektarbeit

Betreuer:

Holzinger, Philipp
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: philipp.holzinger@fau.de

Beschreibung der Arbeit:

Heterogene Systeme gewinnen heutzutage zunehmend an Bedeutung, da diese eine sehr viel bessere Performance pro Watt bieten als konventionelle, homogen aufgebaute parallele Rechensysteme.
Dabei sind in Zukunft jedoch nicht nur GPUs sondern auch FPGAs ein wichtiger Bestandteil, sowohl im HPC wie auch im embedded Bereich.
Applikationsspezifische Schaltungen
erzielen dabei die größte Performance, sind jedoch nicht so flexibel einsetzbar wie GPUs. Aus diesem Grund können auf FPGAs auch GPU-ähnliche Beschleuniger eingesetzt werden, um das Beste aus beiden Welten zu verbinden. Eine solche Implementierung ist die sogenannte FGPU [1], die als Open Source Beschreibung verfügbar ist. Ziel dieser Arbeit ist das Evaluieren und Integrieren dieses Beschleunigers in ein bestehendes heterogenenes System auf Basis der Heterogeneous System Architecture
(HSA) Foundation [2].
1 (https://github.com/malkadi/FGPU)
2 (http://www.hsafoundation.com/)

 

 

Implementierung eines Benchmarking-Frameworks für Multi- und Many-Core CPUs

Art der Arbeit:

Master Thesis

Betreuer:

Fey, Dietmar
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: dietmar.fey@fau.de

Beschreibung der Arbeit:

Ziel ist es, ein Framework für automatisierte Messungen zu erstellen, das u.a. folgende wichtige Merkmale eines Prozessors erfasst: Instruktionsdurchsatz und -latenz; Cache- und Speicherbandbreiten und -latenzen; Bandbreite in Abhängigkeit verschiedener Speicherzugriffsmuster; Performance für wichtige Benchmarks (HPCG, HPL, Graph500).
Konzept und Prototyp des Benchmarking-Frameworks existieren bereits. Ziel der Arbeit ist es, eine saubere Implementierung zu erstellen und zu testen.

 

 

Untersuchung des NEC Aurora TSUBASA Vektorprozessors

Art der Arbeit:

Master Thesis

Betreuer:

Fey, Dietmar
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
E-Mail: dietmar.fey@fau.de

Beschreibung der Arbeit:

In der Arbeit soll das Performance- und Energieverhalten der neuen NEC Aurora TSUBASA Architektur (https://www.nec.com/en/global/solutions/hpc/sx/vector_engine.html) mit Hilfe verschiedener, zum Teil während der Arbeit entwickelter, Benchmarks untersucht werden.
Empfohlene Vorraussetzungen: Gute Linux- und C-Kenntnisse, Aufbau von Rechnerarchitekturen (z.B. VL GRa oder RA), Erfahrung mit Benchmarking (z.B. RA-RÜ, PTfS, SoCuPra)

Schlagwörter:

Performance, Modeling, NEC, TSUBASA

 

 

Implementierung von Posit-Arithmetik als neue Darstellung für Gleitkommazahlen in neuronalen Netzen

Art der Arbeit:

Bachelorarbeit

Betreuer:

Thomas Schlögl

Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Email: thomas.schloegl@fau.de

Beschreibung der Arbeit:

Standard IEEE-754 Gleitkomma-Arithmetik hat Probleme bei der genauen Darstellung von Zahlen, vor allem bei kleineren Bitbreiten, und verfügt über einen großen Hardware-Aufwand.

Posits, eingeführt von John L. Gustafson im Jahr 2017, bauen auf dieser Darstellung auf und versuchen dadurch genauere Berechnungen bei verringertem Hardwareaufwand zu erreichen.

Insbesondere die Implementierung von Neuronalen Netzen scheint von dieser neuen Darstellung zu profitieren, da acht Bit-Posits schon eine gute Genauigkeit liefern und z.B. die Implementierung der Sigmoid-Funktion extrem vereinfacht wird (Höchstes Bit wird zuerst invertiert und die gesamte Darstellung wird dann um zwei Stellen nach rechts geschoben. Dies ist in einem Taktzyklus möglich, eine IEEE-754 Floating-Point Implementierung benötigt für die selbe Operation dutzende Takte.). Bis dato gibt es noch keine kommerziell verfügbare Hardwareimplementierung, welche Posits unterstützen. Bekannte Hardwarehersteller wie Intel haben aber Interesse an einer Adaption bekundet.

Ziel dieser Arbeit ist es, grundlegende Operationen in Posit-Arithmetik zu implementieren, diese in einen FPGA-Beschleuniger für neuronale Netze zu integrieren und zu evaluieren.

30% Konzeption
50% Implementierung
20% Benchmarking

 

Entwicklung und Erprobung didaktischer Softwaretools im Bereich der Rechnerarchitektur für den Einsatz im universitären Lehrkontext

Art der Arbeit:

Bachelor-/Masterarbeit

Betreuer:

Tobias Baumeister
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Email: tobias.baumeister@fau.de

Beschreibung der Arbeit:

Im Bereich der Informatiklehre (ob in der Schule oder in der Universität) sind Softwaretools elementar für die Visualisierbarkeit und insbesondere Testbarkeit zu erlernender Konzepte. Besonders bei Aufgabenzentrierter Lehre (d.h. Lehre durch Aufgabenbearbeitung durch den/die Lernende, was oftmals in univ. Übungsbetrieben genutzt wird) ist es für den Lernprozess positiv förderlich, wenn Lernende ihre Konzepte und Ideen selbst testen, verifizieren und ggf. adjustieren können.
Im Bereich der Rechnerarchitektur werden in der Lehre an der FAU beispielsweise der MOPS- und RARS-Simulator (zum Testen von Assemblercode) genutzt. An diversen Stellen fehlen jedoch noch derartige Tools, z.B.: Mikroprogrammierung, Arbeitsspeicher, Hardwareparallelisierung (Superskalarität/SMT/Multicore/…), Pipelining (inkl. Scoreboarding, Tomasulo), …

Im Rahmen einer Abschlussarbeit in diesem Bereich soll ein Softwaretool (oder ggf. ein Addon für den RARS-Simulator) zu einem Thema aus der Rechnerarchitektur entworfen, implementiert, und im Lehrbetrieb („Grundlagen der Rechnerarchitektur“ oder „Rechnerarchitektur“) erprobt und systematisch evaluiert werden. Besonders Wert gelegt wird hierbei auf ein intuitives Design, Portabilität, Erweiterbarkeit, Wartbarkeit, sowie natürlich eine sinnvolle Verwendbarkeit in der Lehre. Der wissenschaftliche Kern dieser Arbeit besteht in der Entwicklung und Evaluation eines dazugehörigen Lehrkonzepts.

Für diese Abschlussarbeit wird das vorherige Absolvieren der Veranstaltung „Grundlagen der Rechnerarchitektur“ oder des Vertiefungsmoduls „Rechnerarchitektur“ dringend empfohlen. Falls es sich um eine Masterarbeit handelt, wird außerdem das vorherige Absolvieren einer Veranstaltung am Lehrstuhl für Informatikdidaktik und/oder im Bereich der Lern-/Entwicklungspsychologie empfohlen. Praktische Vorerfahrungen in der Lehre sind sinnvoll aber nicht nötig; ich biete (sofern gewünscht) gerne eine enge Betreuung an.