Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Virtuelle Maschinen und Ausführungsumgebungen (Wintersemester 2013/2014)

Lecturer: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Bastian Steinert (Software-Architekturen) , Tim Felgentreff (Software-Architekturen) , Tobias Pape (Software-Architekturen)

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 1.10.2013 - 31.10.2013
  • Teaching Form: SP
  • Enrolment Type: Compulsory Elective Module

Programs, Module Groups & Modules

IT-Systems Engineering BA

Description

Als Abstraktions- und Portabilitätsgrundlage bilden Virtuelle Maschinen (VMs)
den Kern vieler Programmiersprachenimplementierungen. Dabei stellen sich VMs
als eigene Softwarefamilie dar, mit spezialisierten Konzepten zu Ausführung
(z.B. Interpreter und just-in-time compiler (JIT)), Speicherverwaltung (z.B.
garbage collection (GC)) oder Optimierung (z.B. polymorphic inline caches
(PIC)). Insbesondere metazirkuläre und tracing-JIT VMs bieten interessante
Forschungsgegenstände.

Das Ziel des Projektseminars ist das Verständnis von VM-Architekturen und der
Umsetzung ihrer Komponenten. Im Seminar werden die Teilnehmer in Gruppen von
3–4 Studierenden mit Hilfe von aktuellen Forschungsergebnissen ausgewählte VMs
erweitern und anpassen.

Zu den Themen zählen u.a.:

 

  • polymorphic inline caches (PIC)
  • JIT Compiler mit nanojit
  • Tagging/Boxing
  • VM-Benchmarking

Requirements

  • vertiefte Programmierkenntnisse
  • von Vorteil sind Kenntnisse in:
    • Python
    • Squeak/Smalltalk
    • C++/Assembler

Literature

  • J. E. Smith, R. Nair, Virtual Machines. Versatile Platforms for Systems and Processes, Morgan Kaufmann, 2005.
  • R. Jones, R. Lins, Garbage Collection. Algorithms for Automatic Dynamic Memory Management, Wiley, 1996.
  • L. Peter Deutsch, Allan M. Schiffman. "Efficient implementation of the Smalltalk-80 system", POPL '84, ACM, 1984.
  • D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, A. Kay. "Back to the future: The story of Squeak, A practical Smalltalk written in itself", OOPSLA ’97, ACM, 1997.
  • C. F. Bolz, A. Cuni, M. Fijałkowski, A. Rigo. "Tracing the meta-level: PyPy's tracing JIT compiler", ICOOOLPS ’09, ACM, 2009
  • C. F. Bolz, A. Kuhn, A. Lienhard, N. D. Matsakis, O. Nierstrasz, L. Renggli, A. Rigo, T. Verwaest. "Back to the future in one week — Implementing a Smalltalk VM in PyPy", S3 ’08, LNCS, Springer, 2008.

    Die Literaturliste wird themenspezifisch im Seminar erweitert.

Examination

Die Leistung wird durch die erfolgreiche Bearbeitung eines gewählten Themas in
Gruppen von 3-4 Personen erbracht. Zur Erlangung der sechs benoteten
Leistungspunkte sind die folgenden Anforderungen zu erfüllen:

  • Regelmäßige Anwesenheit im Seminar bzw. beim Treffen mit den Projektbetreuern
  • Eigenständiges Studieren, Aufbereiten und Präsentieren wissenschaftlicher Arbeiten
  • Bearbeitung einer gewählten Problemstellung
  • Abschlusspräsentation der Projektergebnisse

Eine Woche vor der jeweiligen Abschlusspräsentation bespricht jede Gruppe die
Vorversion der Vortragsunterlagen mit einem der Betreuer. Die
Vortragsunterlagen sind einen Tag vor dem Vortrag per Email einzureichen.
Sie bestehen aus:

 

  • den Dokumentquellen der im Vortrag verwendeten Folien,
  • einer PDF-Version derselben,
  • dem in der Demo verwendeten Quelltext,
  • einer Installationsbeschreibung und
  • einem Demo-Script

Alle im Rahmen der Veranstaltung erstellten Quelltexte sollten unter der
MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen
Lizenz bereitgestellt werden.

Dates

Erste Veranstaltung:

  • Dienstag, 15.10.13, 17:00 Uhr

Themenstellung:

 

  • Dienstag, 15.10.13, 17:00 Uhr

Themenvergabe:

  • Dienstag, 22.10.13, 17:00 Uhr

Zurück