Ring, S. (2008). Implementation of native threads and locks in the CACAO Java Virtual Machine [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-27782
Eines der wichtigsten Leistungsmerkmale von Java, die Fähigkeit zur Ausführung und Synchronisation paralleler Threads, benötigt recht umfangreiche Unterstützung durch die Implementierung einer Java Virtual Machine (JVM). Diese Arbeit beschreibt die wesentlichen Schritte, die benötigt werden, um die CACAO JVM um diese Fähigkeit zu erweitern.<br />Zunächst werden die notwendigen Schritte für die Umsetzung des Java Memory Model erörtert. Weiters wird die Wahl eines Algorithmus für Java Monitore sowie mögliche zukünftige Erweiterungsmöglichkeiten präsentiert. Außerdem werden einige experimentelle Varianten auf verschiedenen Hardwarearchitekturen verglichen. Zusätzlich wird der von CACAO zur Typüberprüfung verwendete Algorithmus durch eine Methode ersetzt, die besser zur Verwendung in parallelen Javaprogrammen geeignet ist, sowie deren Auswirkungen auf Laufzeit und Speicheranforderungen überprüft.<br />
de
One of Java's most prominent features, the ability to create and synchronize multiple threads of execution, requires quite elaborate support from a Java Virtual Machine (JVM) implementation. This work describes the major steps in making the CACAO JVM provide full support of this fundamental feature. First, it discusses steps needed to implement Java's memory model. Next, the choice of an algorithm for Java monitors and possible future improvements are presented. A few experimental variants are evaluated across a selection of hardware architectures. Additionally, CACAO's type checking algorithm is replaced by a method better suited for use in parallel Java programs. The implications regarding performance as well as memory requirements are assessed.