Web

Neue Java-Maschine kann mehrere Programme parallel ausführen

29.03.2005

Die Forschungsabteilung der spanischen Sun-Niederlassung entwickelte unter dem Codenamen "Barcelona" eine Multitasking-fähige JVM (MVM). Sie ist in der Lage, mehrere Applikationen innerhalb einer Instanz der virtuellen Maschine parallel auszuführen. Bisher erhält üblicherweise jedes Java-Programm seine eigene separate Ablaufumgebung. Dieses Verfahren schottet zwar die Anwendungen strikt voneinander ab und begrenzt den Schaden beim Absturz einer JVM auf die darin ausgeführte Applikation. Der Nachteil dieser Technik besteht in höherem Ressourcenverbrauch vor allem für Arbeitsspeicher und Rechenleistung. Zusätzlich macht sich der Start einer separaten JVM besonders bei Desktop-Programmen durch lange Ladezeiten unangenehm bemerkbar.

Mit der Fähigkeit zum Multitasking erhält Java weitere Features, die eigentlich typisch für Betriebssysteme sind. Mit der parallelen Ausführung von mehreren Programmen entsteht die Notwendigkeit der Interprozess-Kommunikation. Das spanische Entwicklerteam entwarf zu diesem Zweck ein "Isolate API", das derzeit als JSR 121 den Java Community Process durchläuft. Mit der Ausführung mehrerer Applikationen muss eine JVM nun die friedliche Koexistenz der um Ressourcen rivalisierenden Programme gewährleisten. Diesem Zweck dient ein eigens entwickeltes "Resource Management API", das die Verteilung von Rechenzeit, den Speicherverbrauch oder den Umgang mit Datenbankverbindungen regelt.

Die aktuellen Realisierungen der MVM setzen auf die gängige Hotspot-Maschine und ihren JIT-Compiler auf. In den Sun-Labors wurden bereits mehrere parallele Instanzen der J2EE-1.3.1-Referenzimplementierung in der MVM getestet. Generell soll sich die Ladezeit von Java-Anwendungen zwischen 60 und 90 Prozent verkürzen. Unklar ist derzeit noch, wann die MVM für den produktiven Einsatz verfügbar sein wird. Ein Prototyp soll zu Forschungszwecken in Kürze freigegeben werden. (ws)