TU Wien:Dynamic Compilation Dynamische Übersetzer VU (Krall)
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Andreas Krall |
---|---|
ECTS | 3,0 |
Alias | Dynamic Compilation (en) |
Letzte Abhaltung | 2024S |
Sprache | Deutsch |
Mattermost | dynamic-compilation-dynamische-uebersetzer • Register • Mattermost-Infos |
Links | tiss:185A50 , Homepage |
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