Skip to main content.

Seminar zur Technischen Informatik

Art
S2
Bereich
Computer Microsystems
Fachrichtung
Technische Informatik, Elektrotechnik/Datentechnik
Art
Seminar
Prüfer
Andreas Koch
Betreuer
Björn Liebig
Voraussetzungen
Grundkenntnisse Technische Informatik (z.B. TGdI und CMS), teilweise auch Compilerbau (z.B. Compiler 1+2, Optimierende Compiler)
CP
3,0
Ort
S2|02, E202
Zeit
Mi 15:30-17:30 Uhr
Anmeldung
Über TUCAN

Ablauf

Das von uns angebotene Seminar zur technischen Informatik behandelt eine Auswahl von für das Fachgebiet relevanter Forschungsthemen. Studierende wählen aus der angebotenen Palette ein Thema aus, stellen eigenständige Literaturrecherchen an und präsentieren ihre Ergebnisse dann in zwei Vorträgen: Am Anfang der Veranstaltung in einem ca. 10-minütigen Probevortrag, gegen Ende dann in einem Hauptvortrag von ca. 30 Minuten. Im Anschluss stellen sie sich einer ca. 15-minütigen Fachdiskussion im Plenum.

Der Schwerpunkt der Veranstaltung liegt klar auf Vortragstechnik und der Einarbeitung in das Thema. Der Probevortrag, der auch in die Gesamtnote eingeht, soll Studierenden frühzeitig Rückmeldung zu bestehenden rhetorischen Stärken oder Schwächen geben. Eine gesonderte schriftliche Ausarbeitung (über die Vortragsfolien hinaus) ist nicht anzufertigen.

Aktuelles

Vorträge / Termine

28.5.: 1. Termin für Probevorträge

2.7.: 1. Termin für die Hauptvorträge

4.7.: Möglicher Termin für die Hauptvorträge

11.7.: Möglicher Termin für die Hauptvorträge

16.7.: Möglicher Termin für die Hauptvorträge

Themen

Variable Length Pipeline Scheduler (VPS) (Florian Stock)

Bei der High-Level-Synthese wird aus einer Hochsprache Hardware synthetisiert. Eine wichtige Aufgabe dabei ist der Schedule, der angibt, welcher Operator wann ausgeführt wird. Fokus dieses Seminarthemas ist der VPS und seine Vorteile gegenüber bisherigen Scheduling Ansätzen. Thema des Probevortrags könnten z.B. bisherige herkömmliche Standarscheduler sein, die dann im Hauptvortrag dem VPS gegenübergestellt werden.

Einstiegsliteratur:
The Benefits of Using Variable-Length Pipelined Operations in High-Level Synthesis
Yosi Ben-Asher and Nadav Rotem
University of Haifa
http://dl.acm.org/ft_gateway.cfm?id=2539048&ftid=1417349&dwn=1&CFID=417948997&CFTOKEN=99699852

Low-Power-Management (LPM) von eingebetteten Systemen mit nicht-flüchtigem Speicher (NVM) (Andreas Engel)

Zur Reduktion der Leistungsaufnahme von eingebetteten Systemen werden unbenutzte Sub-Komponenten abgeschaltet (Power-Gating). Flüchtige Datenspeicher müssen vor der Abschaltung in nicht-flüchtige Speicher kopiert, oder von vorne herein durch Nicht-flüchtige Speicher ersetzt werden. Beides ist mit Vor- und Nachteilen verbunden und die Entwicklung neuer NVM-Technologien erhöht den Freiheitsgrad beim Entwurf von eingebetteten Systemen weiter. Im Rahmen dieses Seminarvortrags sollen die verschiedenen NVM-Technologien vorgestellt und gegeneinander abgegrenzt werden. Außerdem ist eine Literaturübersicht zur konkreten Anwendungen von NVMs für das LPM in eingebetteten Systemen zu vermitteln.

Einstiegsliteratur:
Nakamura, H.; Nakada, T.; Miwa, S.,
"Normally-off computing project: Challenges and opportunities",
Design Automation Conference (ASP-DAC), 2014 19th Asia and South Pacific
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6742850

Cong, J.; Ercegovac, M.; Muhuan Huang; Sen Li; Bingjun Xiao,
"Energy-efficient computing using adaptive table lookup based on nonvolatile memories",
2013 IEEE International Symposium on Low Power Electronics and Design (ISLPED)
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6629309

WaveScalar Prozessorarchitektur und darauf aufbauende aktuellere Entwicklungen (Andreas Koch)

Increasing wire-delay relative to switching speed and the exponential cost of circuit complexity make simply scaling up existing processor designs futile. WaveScalar is an alternative to superscalar design. WaveScalar is a dataflow instruction set architecture and execution model designed for scalable, low-complexity/high-performance processors. WaveScalar is unique among dataflow architectures in efficiently providing traditional memory semantics inorder to execute applications written in imperative language.

Einstiegsliteratur:
The WaveScalar Architecture
Steven Swanson, Andrew Schwerin, Martha Mercaldi, Andrew Petersen, Andrew Putnam, Ken Michelson, Mark Oskin, and Susan J. Eggers
ACM Transactions on Computer Systems, Vol. 25, No. 2, Article 4, Publication date: May 2007
http://arcade.cs.columbia.edu/ws-tocs07.pdf
Weitere unter: http://wavescalar.cs.washington.edu/publications.shtml

Layout-friendly High-Level Synthesis (Björn Liebig)

Neue Ansätze versuchen schon schon während der High-Level die Leitungslänge und das Timing-Verhalten der Verbindungsleitungen zwischen den Modulen zu berücksichtigen. Im Rahmen dieser Arbeit sollen Verfahren und Modelle näher untersucht und ein Überblick über aktuelle Forschungen gegeben werden.

Einstiegsliteratur:
A metric for layout-friendly microarchitecture optimization in high-level synthesis
Jason Cong and Bin Liu
http://dl.acm.org/citation.cfm?id=2228587

Dynamic Memory Disambiguation (Benjamin Thielmann)

Kurzbeschreibung: Es wird erwartet, dass die/der Studierende sich in das Thema des Address Resolution Buffers (ARB) einarbeitet und weiterführende darauf aufbauende Literatur / orthogonale Ansätze der letzten Jahre sichtet (Literaturrecherche). Für den Probevortrag ist eine Vorstellung des ARB ausreichend. Im Hauptvortrag soll sich die/der Studierende neuere selbst ausgewählte Publikation der selben Thematik erarbeiten und die Ansätze miteinander vergleichen.

Einstiegsliteratur:
ARB: A Hardware Mechanism for Dynamic Reordering of Memory References
Manoj Franklin, Gurindar S. Sohi
ftp://ftp.cs.wisc.edu/sohi/papers/1996/toc.arb.pdf

Abschätzung von Ressourcenverbrauch in der High-Level Synthese (Jens Huthmann)

Die Synthese von Hardware aus High-Level Sprachen wie C heraus ist ein stark untersuchtes Forschungsgebiet. Eine Aspekt hierbei ist die geschickte Auswahl der Teile eines Programms welche auf der Hardware untergebracht werden sollen. Hierzu ist es notwendig den Ressourcenverbrauch der entstehenden Hardware zu kennen um entscheiden zu können ob diese passt und der Verbrauch im Verhältnis zur Beschleunigung angemessen ist. Den tatsächlichen Verbrauch bekommt man aber erst am Ende der Synthese, was ein sehr zeitaufwändiger Prozess ist. Um frühzeitig schlechte Ergebnisse zu verhindern werden Abschätzungen zum Verbrauch benötigt. Ziel dieses Seminarthemas ist es verschiedene Abschätzungen zu untersuchen und ihre Vor- und Nachteile vorzustellen.

Einstiegsliteratur:
Early Prediction of Hardware Complexity in HLL-to-HDL Translation, Cilardo, A.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5694298 (Volltextzugriff innerhalb des Uni-Netzes möglich)

Neuartige Zwischendarstellungen (Julian Oppermann)

Es soll ein Überblick über moderne, interessante „intermediate representations“ (IR) gegeben werden, und die Vorzüge und Nachteile einer bestimmten IR (nach Wahl des Teilnehmers/der Teilnehmerin) im Detail vorgestellt werden. Einstiegspunkt ist ein sehr aktuelles Paper über die sog. „Future Gated Single Assignment Form“. Für dieses Thema sind Vorkenntnisse auf dem Gebiet der optimierenden Compiler und ihrer IRs erforderlich (z.B. durch den Besuch der Compiler II-Vorlesung).

Einstiegsliteratur:
Single Assignment Compiler, Single Assignment Architecture: Future Gated Single Assignment Form
http://dl.acm.org/citation.cfm?id=2581122.2544158

NoC Architectures on FPGAs (Thorsten Wink)

Dieses Thema setzt sich mit Network on Chip (NoCs) auseinander. Es sollen die verschiedenen Arten vorgestellt werden und CONNECT näher betrachtet werden. Zusätzlich soll eine Literaturrecherche zu alternativen Realisierungen gemacht werden und die Ergebnisse vorgestellt werden.

Einstiegsliteratur:
CONNECT: Re-Examining Conventional Wisdom for Designing NoCs in the Context of FPGAs, M.K. Papamichael and J.C. Hoe
http://www.cs.cmu.edu/~mpapamic/research/fpga2012_papamichael.pdf

Dynamische Lastverteilung in modernen Multicore-Systemen (David de la Chevallerie)

Bei heutigen Prozessoren wird der Leistungszuwachs zunehmend durch die steigende Anzahl der Kerne realisiert. Um Software-Programme auf solchen Multicore-Systemen effizient auszuführen, stellen sich unter anderem Herausforderungen der parallelen Programmierung, Kommunikation und Synchronisation der Prozesse/Threads, aber auch der Lastverteilung auf die einzelnen Kerne. Insbesondere Programme, deren Laufzeit zur Compilezeit nicht bekannt ist oder stark abweichende Laufzeiten einzelner Threads innerhalb eines Programms erfordern eine dynamische Lastverteilung.

Einstiegsliteratur:
ReSense: Mapping Dynamic Workloads of Colocated Multithreaded Applications Using Resource Sensitivity
Tanima Dey, Wei Wang, Jack W. Davidson, Mary Lou Soffa
ACM Transactions on Architecture and Code Optimization (TACO), Volume 10 Issue 4
http://dl.acm.org/citation.cfm?id=2555298&dl=ACM&coll=DL&CFID=309389274&CFTOKEN=50001368

Domänenspezifische Ansätze für heterogene Parallelität (Jens Korinth)

Latente Parallelität in Programmen höherer Programmiersprachen (z.B. C, Java, C#, ...) zu erkennen und nutzen ist im Allgemeinen nicht trivial. Domain-specific languages (DSLs) beschränken ihre Ausdrucksstärke auf eine bestimmte Domäne, d.h. Probleme innerhalb der Domäne (z.B. Machine Learning) lassen sich einfacher formulieren, während andere Probleme nicht oder nur mit höherem Aufwand ausgedrückt werden können. Ein Vorteil solcher DSLs besteht darin, dass der Compiler domänenspezifische Optimierungen ausführen und latente Parallelität einfacher erkennen und nutzen kann. Ein neueres Beispiel für diesen Ansatz ist das auf Scala basierende Delite Framework (http://stanford-ppl.github.io/Delite/), das eine einfache Implementation von DSLs und domänenspezifischen Sprachen und Optimierungen ermöglichen soll.

Im Rahmen des Vortrags soll das Delite Framework dargestellt und insbesondere auf die technische Umsetzung des Compilers (Zwischendarstellung, Codeschablonen, etc.) eingegangen werden. Dazu ist zunächst eine Literaturrecherche bzgl. der grundlegenden Projekte LMS/Scala Virtualized erforderlich, später aber auch Analyse des Quellcodes (gute bis sehr gute Scala-Kenntnisse sind erforderlich). In einer abschließenden Bewertung sollte auf die Aspekte Performance und Convenience sowie aktuelle Entwicklungen (siehe letztes Paper) eingegangen werden.

Einstiegsliteratur:
A Heterogeneous Parallel Framework for Domain-Specific Languages
http://ppl.stanford.edu/papers/pact11-brown.pdf

Building Blocks for Performance Oriented DSLs
Tiark Rompf, Arvind K. Sujeeth, Martin Odersky, Kunle Olukotun et al.
http://ppl.stanford.edu/papers/dsl11-rompf.pdf

Optimizing Data Structures in High-Level Programs
Tiark Rompf, Arvind K. Sujeeth, Kunle Olukotun, Martin Odersky et al.
http://ppl.stanford.edu/papers/popl13_rompf.pdf