Themen Abschlussarbeiten / Thesis Topics

 

Beurteilung der Genauigkeit von tabellenbasierten Prozessorarchitekturmodellen

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Rachuj, Sebastian
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27612, Fax +49 9131 85 27912, E-Mail: sebastian.rachuj@fau.de
Beschreibung der Arbeit:

Die Vorhersage der Laufzeiteigenschaften mittels Simulation ist noch immer ein wichtiger Aspekt bei der Entwicklung von eingebetteten Applikationen. Hierfür stehen Werkzeuge zur Verfügung, die unterschiedliche Ansätze verfolgen, um dies schnell und trotzdem genau umsetzen zu können. Eine Möglichkeit ist die Verwendung von Tabellen, die jeder Instruktion eine gewisse Latenz zuordnen. Dadurch kann zwar keine allgemeingültige Vorhersage geleistet werden, da Instruktionen je nach Vorkommen von Hazards unterschiedliche Latenzen aufweisen, dennoch kann für bestimmte Gruppen von Problemen ein sinnvolles Ergebnis erzielt werden. Ziel der Arbeit ist es, diesen Ansatz zu verfolgen und die erreichte Genauigkeit innerhalb einer und über eine Algorithmenklasse hinweg zu untersuchen.

Vorausgesetzte Vorlesungen bzw. Kenntnisse:
  • Verständnis für die Funktionsweise eines Prozessors
  • Grundlegende Kenntnisse in C/C++

 

NVDLA auf FPGA mit HSA interface

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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

 

 

Einheitlicher Adressraum für Near-Memory-Beschleuniger

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@fau.de
Holzinger, Philipp
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27010, Fax +49 9131 85 27912, E-Mail: philipp.holzinger@fau.de
Beschreibung der Arbeit:
Für die Programmierung heterogener Systeme sind Ansätze entwickelt worden, die einen globalen Adressraum vorrausetzen. Erweitert man diese Prinzipien auf Near-Memory-Computing, so ist eine sogenannte IO-MMU (also eine MMU für die Ein- und Ausgabe) notwendig. Ziel dieser Arbeit ist für den RISC-V Prozessor eine solche IO-MMU bereit zu stellen.
Konzeption: 40%
Implementierung: 50%
Evaluation: 10%

 

 

Shift für ternäre CPUs

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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.

Dennoch werden auch andere Instruktionen als die Addition in einer CPU benötigt, welche durch die redundante Zahlendarstellung nun aufwendiger werden. In dieser Arbeit sollen deswegen Shift-Operationen nach links und rechts untersucht werden. Während in herkömmlichen CPUs ein Shift nach rechts eine Division durch 2 bedeutet, können in der redundanten Zahlendarstellung leichte Ungenauigkeiten entstehen. Diese Ungenauigkeiten gilt es zu quantifizieren und eine Möglichkeit (mittels Zusatzinstruktionen, welche die reguläre RISC-V-ISA verletzen würden) zu erarbeiten, wie dieses Problem umgangen werden kann.

Arbeitsabschätzung:

30% Low-Level-Programming
30% Simulation
40% Architekturentwurf und Konzeptentwicklung

 

 

SoftMul und SoftDiv für ternäre CPU

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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.
Theoretisch lassen sich durch diese Maßnahmen auch die Multiplikation und Division beschleunigen. Allerdings möchte man nicht immer so viel Hardware für eine eigene Multiplikations-/Divisionseinheit spendieren. Deswegen werden auf herkömmlichen CPUs diese Operationen oftmals per SoftMul und SoftDiv umgesetzt, also genannte Multiplikation und Division in Software umgesetzt. Die in der Standardbibliothek verfügbaren Algorithmen für SoftMul/SoftDiv sind jedoch für Standard-CPUs optimiert. Deswegen soll in dieser Arbeit eine SoftMul/SoftDiv Implementierung mit Spezialbefehlen oder kompatiblen Erweiterungen zu bestehenden Befehlen realisiert werden, welche sehr performant ist und nur wenig zusätzliche Hardwareressourcen benötigt.
Arbeitsabschätzung:
30% Konzeption
40% Low-Level-Programmierung
10% Konzeptionelle Hardwareentwurf
20% Simulation

 

 

Mixed-Darstellungen für ternäre CPU

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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%

 

 

Memristor-Registerfile mit Look-Up-Tabellen Ansatz für ternäre CPU

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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.

Zur Speicherung genannter redundanter Zahlen können spezielle Speicherelemente (Memristoren) genutzt werden. Am Lehrstuhl liegen unterschiedliche Simulationsmodelle vor, um genannte Speicherelemente zu simulieren. Ziel dieser Arbeit ist es nun, ein Tabellen-basiertes-Simulationsmodell in den Prozessor zur integrieren. Hierdurch lassen sich Aussagen über die Nutzung der Speicherzellen in der CPU gewinnen.

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

 

 

Auswirkung ICache / DCache für verschiedene Video Codecs

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@fau.de
Beschreibung der Arbeit:
Caches spielen eine wesentliche Rolle, um das Problem einer langsamen Speicheranbindung abzumildern. Am Lehrstuhl stehen deshalb Simulatoren zur Verfügung, mit denen sich Laufzeiten und der Energieverbrauch in Abhängigkeit der Cachekonfiguration abschätzen lässt. Dies wird am Beispiel verschiedener Videocodecs analysiert (H264, HEVC, etc.)

Hierbei haben sich interessante Ergebnisse ergeben, inwieweit bei einer Out-of-Orderarchitektur die Größe des ICaches die Hit-Rate des DCaches beeinflusst. Eine erste Vermutung ist, dass durch einen kleineren ICache weniger Instruktionen parallel in einer Superskalaren Pipeline existieren, und es somit weniger „Konkurrenz“ im DCache gibt. Dieses Phänomen soll mit dieser Arbeit weiter analysiert werden.

Konzeption: 30%
Simulation: 40%
Benchmarking: 30%

 

 

Anwendung einer DSE für den Architekturentwurf von Prozessoren für unterschiedliche Videocodecs

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@fau.de
Beschreibung der Arbeit:
Caches spielen eine wesentliche Rolle, um das Problem einer langsamen Speicheranbindung abzumildern. Am Lehrstuhl stehen deshalb Simulatoren zur Verfügung, mit denen sich Laufzeiten und der Energieverbrauch in Abhängigkeit der Cachekonfiguration abschätzen lässt. Dies wird am Beispiel verschiedener Videocodecs analysiert (H264, HEVC, etc.).

Derzeit können mit Hilfe der oben genannten Tools jedoch nur Aussagen über das zeitliche Verhalten gegeben werden. Eine Optimierung findet noch nicht statt. Deswegen sollen in dieser Arbeit oben genannte Simulatoren in eine Optimierungsschleife eingebettet werden, um für einen gegebenen Algorithmus eine optimale Konfiguration (je nach Konfiguration der Zielparameter) zu finden.

Konzeption: 30%
Simulation: 40%
Optimierung: 30%

 

 

DL Beschleuniger mit ternären Datenpfaden

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@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%

 

 

Entwicklung einer Heuristik zum Abbilden der Laufzeiteigenschaften einer aktuellen Out-of-Order-Prozessorarchitektur

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Rachuj, Sebastian
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27612, Fax +49 9131 85 27912, E-Mail: sebastian.rachuj@fau.de
Beschreibung der Arbeit:
Die Automobilindustrie nutzt Simulatoren zur Entwicklung der Softwarekomponenten. Dadurch ist es möglich, Hard- und Software parallel zu implementieren. Um bereits vor Fertigstellung der Software eine Aussage über die Performance treffen zu können, ist es aber nötig, Informationen über die Laufzeiteigenschaften treffen zu können. Um eine schnelle Simulation zu gewährleisten, kann dies mit einer Heuristik geschehen, die aktuelle Out-of-Order-Architekturen (z.B. basierend auf den Instruktionssätzen von ARM oder RISC-V) approximiert. Ziel der Arbeit ist es, eine solche Heuristik umzusetzen und zu bewerten.
Vorausgesetzte Vorlesungen bzw. Kenntnisse:
Kenntnisse in:
  • Rechnerarchitektur

  • C/C++

 

 

Entwurf einer Codeanalyse im Just-In-Time-Compiler

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Rachuj, Sebastian
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27612, Fax +49 9131 85 27912, E-Mail: sebastian.rachuj@fau.de
Beschreibung der Arbeit:
Die Bestimmung von Laufzeiten mithilfe von Emulatoren stellt große Herausforderungen an die dahinter liegenden Simulationsmodelle. Da eine Betrachtung jeder einzelnen Instruktion die Vorteile eines Just-In-Time-Compilers zunichte macht, soll in dieser Arbeit eine Analyse auf Grundblock- bzw. Translation Block-Granularität durchgeführt werden und mit dem konventionellen Ansatz verglichen werden.
Hierzu soll QEMU herangezogen und dementsprechend angepasst werden. Als Vorlage können die am Lehrstuhl vorgenommenen Anpassungen zur Umsetzung einer konventionellen Analyse verwendet werden.
Vorausgesetzte Vorlesungen bzw. Kenntnisse:
  • Kenntnisse in C/C++
  • Grundlagen von Rechnerarchitekturen

  • Grundlagen von Kontrollflussanalysen

 

 

Evaluating the SHA instruction set extensions to speed up Bitcoin-transaction processing

Art der Arbeit:
Bachelor Thesis
Betreuer:
Hofmann, Johannes
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27913, Fax +49 9131 85 27912, E-Mail: johannes.hofmann@fau.de

 

 

Evaluation of the applicability interval simulation to RISC-V compatible processors

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Rachuj, Sebastian
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27612, Fax +49 9131 85 27912, E-Mail: sebastian.rachuj@fau.de
Beschreibung der Arbeit:
There are multiple different approaches to simulate processor architectures and determine certain nonfunctional properties like time and energy. Interval simulation is a promising method for complex out-of-order processors. The Sniper simulator already implements it for x86 compatible CPUs. For this thesis, an evaluation has to be done regarding the applicability of this approach to RISC-V compatible processors. As reference hardware, the Berkeley Out-of-Order machine can be used or an in-house out-of-order implementation.
(Die Arbeit ist auch auf deutsch verfügbar)

 

 

GPU auf FPGA (GPUonFPGA)

Art der Arbeit:
Diplom-/Master-/Projektarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@fau.de
Holzinger, Philipp
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27010, Fax +49 9131 85 27912, 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 einer Load/Store-Queue für ReRAM-basierte Registerfiles

Art der Arbeit:
Studien-/Bachelor-/Diplom-/Masterarbeit
Betreuer:
Reichenbach, Marc
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27915, Fax +49 9131 85 27912, E-Mail: marc.reichenbach@fau.de
Knödtel, Johannes
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27004, Fax +49 9131 85 27912, E-Mail: johannes.knoedtel@fau.de
Beschreibung der Arbeit:
Nicht-flüchtige Speicherelemente haben meist den Nachteil, dass Sie langsamer
als ihre flüchtigen Gegenstücke sind, haben aber den Vorteil, dass auch ohne
Spannungsversorgung der Zustand der Schaltung erhalten bleibt. Um derartige
Technologien sinnvoll in Registerfiles regulärer CPUs einsetzen zu können
müssen Vorkehrungen getroffen werden um diesen Nachteil auszugleichen. Hierzu
soll eine Load/Store-Queue implementiert und evaluiert werden, welche die
Zugriffe puffert und so Latenzen versteckt.

 

 

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

Art der Arbeit:
Master Thesis
Betreuer:
Hofmann, Johannes
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27913, Fax +49 9131 85 27912, E-Mail: johannes.hofmann@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:
Hofmann, Johannes
Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Telefon +49 9131 85 27913, Fax +49 9131 85 27912, E-Mail: johannes.hofmann@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