TU Wien:Dynamic Compilation Dynamische Übersetzer VU (Krall)

Aus VoWi
Zur Navigation springen Zur Suche springen


Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Andreas Krall
ECTS 3,0
Alias Dynamic Compilation (en)
Letzte Abhaltung 2024S
Sprache Deutsch
Mattermost dynamic-compilation-dynamische-uebersetzerRegisterMattermost-Infos
Links tiss:185A50 , Homepage
Zuordnungen
Masterstudium Logic and Computation Modul Programming Languages and Verification (Gebundenes Wahlfach)
Masterstudium Software Engineering & Internet Computing Modul Computersprachen und Programmierung (Gebundenes Wahlfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

Adaptive Laufzeitsysteme bei Just-In-Time Compiler (CACAO, HotspotVM, JikesRVM, ...) und Tracer (Dynamo, HotpathVM, TraceMonkey, ...). Ausserdem wurde Linear Scan Register Allocation ausfuehrlich behandelt.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Es gibt ein Treffen pro Woche, allerdings nur bis ~Mai. Das sind im wesentlichen Vorlesungseinheiten, in denen Papers aus den entsprechenden Gebieten praesentiert werden. Im Gegensatz zu den anderen Krall Vorlesungen, haben wir uns in der Vorbesprechung dazu geeinigt, dass es keine Papersammlung zu kaufen gibt, sondern die PDFs einfach online gestellt werden (siehe LVA Homepage).

Parallel zum Vorlesungsteil, gibt es einen Uebungsteil. Das Thema kann selbst gewaehlt werden, soll aber passend zu den vorgestellten Themen in der Vorlesung sein. Durch die vorhandene Expertise bei der CACAO VM, bieten sich kleine Projekte eben dort an.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Abstrakte Maschinen, Uebersetzerbau und Codegeneratoren waeren nicht verkehrt.

Vortrag[Bearbeiten | Quelltext bearbeiten]

Typischer Krallvortrag.

Übungen[Bearbeiten | Quelltext bearbeiten]

50 Stunden pro Student, es koennen Einzelarbeiten oder Gruppenarbeiten ausgemacht werden. Am Ende des Semesters muss dann eine kurze Praesentation ueber die Ergebnisse der Arbeit gemacht werden.

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

Wieder eine typische Krallpruefung. Die Ueberschriften von Papers werden gefragt und man sollte dazu ein wenig etwas erzaehlen koennen.

SS2019[Bearbeiten | Quelltext bearbeiten]

Wie schon angemerkt ändert sich der Prüfungstyp so gut wie nicht. Es ist ein sehr gemütliches Gespräch und wenn man die Artikel gelesen und die Vorlesung besucht hat, sollte dem "sehr gut" nichts im Wege stehen. Wir waren zu zweit und haben je 3 Fragen b.z.w. Stichwörter bekommen zu denen man etwas erzählen sollte.

  • Was ist OSR ?
  • Welche Arten von Profiling gibt es ?
  • Was ist LSRA ? (Tipp: es steht für Linear Scan Register Allocaton)
  • Welche verschiedene Typen gibt es von LSRA ?
  • Was ist Tracing ?
  • Vergleich von Trace based JITs zu Method based JITs ?

Prüfung war in ca. 20 Minuten beendet.

SS2020[Bearbeiten | Quelltext bearbeiten]

Wir waren zu zweit und haben je 3 Fragen bzw. Stichwörter bekommen zu denen man etwas erzählen sollte.

  • Was ist OSR?
  • Stack Allocation und Escape Analyse?
  • Was ist LSRA?
  • LSRA auf SSA Form?
  • Vergleich von Trace based JITs zu Method based JITs?
  • Fragen über das Paper "Fast and Accurate Simulation using the LLVM Compiler Framework"


Prüfung war in ca. 20 Minuten beendet.

SS2023

Prüfung war online alleine, oft hat man nur ein Thema bekommen und sollte was dazu erzählen.

  • Was ist OSR?
  • LSRA auf SSA?
  • Was wird im Paper "A Trace-based Java JIT Compiler Retrofitted from a Method-based Compiler" beschrieben?
  • Was sind die Vorteile und Nachteile in Method- und Trace based jit bezogen auf inlining.
  • Was ist Heap analysis (aus der Vorlesung Stack allocation of Objects)
  • Was ist Scalar Replacement

Prüfung war in 20min vorbei

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

SS2012: drei Minuten :-)

SS2019: zehn Minuten

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

je nach dem wie man es mit seinem Projekt uebertreibt, ist es hoch oder gering. Fuer die Pruefung reicht es die Papersammlung einmal durchzulesen und sich die wichtigsten Aussagen der Papers zu merken.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

siehe LVA Website

Tipps[Bearbeiten | Quelltext bearbeiten]

noch offen

Highlights / Lob[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen