MVM - nowa maszyna wirtualna Javy

W laboratoriach firmy Sun Microsystems zespół inżynierów pracuje nad nową maszyną wirtualną Javy - Multi-tasking Virtual Machine (MVM). Projekt ten jest na razie realizowany na platformę Solaris/SPARC, jednak nie będzie problemów z przeniesiem go także na inne platformy sprzętowe i systemowe. MVM jest także krokiem w kierunku stworzenia kompletnego środowiska operacyjnego dla programów napisanych w Javie.

Obecnie użytkownik uruchamiający kilka aplikacji, z których wszystkie działają na osobnych maszynach wirtualnych (JVM), musi mieć świadomość, że duża część operacji jest powtarzana pomiędzy instancjami JVM. Na przykład ładowanie klas, choćby tak prostych jak java.lang.Object, musi być tak samo wykonane osobno dla każdej z uruchomionych aplikacji. Powoduje to nie tylko dłuższe czasy uruchamiania programów napisanych w Javie, ale także dużo większe zużycie pamięci i spadek ogólnej ich wydajności.

W laboratoriach firmy Sun Microsystems, zespół badawczy 'Barcelona' opracowuje nową maszynę wirtualną - Multi-tasking Virtual Machine (MVM) - która pozwoli na uruchamianie wielu aplikacji w jednej jej instancji. Zastosowanie 'izolacji' aplikacji pozwala na bezproblemowe ich działanie w jednym środowisku uruchomieniowym, a współdzielenie różnego rodzaju zasobów samej maszyny wirtualnej pozwala na znaczne zwiększenie wydajności całego systemu.

Nowe podejście do współdzielenia zasobów pozwala zredukować czas startu aplikacji od 60 do 90 procent w porównaniu do maszyny wirtualnej HotSpot. Wynika to z dwóch rzeczy, po pierwsze środowisko uruchomieniowe klas jest współdzielone pomiedzy aplikacje. Powoduje to, że jeżeli jakaś klasa została już załadowana przez jedną aplikację, to następna chcąca z niej skorzystać nie musi powtarzać tego procesu ponownie. Drugim powodem przyspieszenia jest brak potrzeby przełączania procesów, kiedy różne komponenty komunikujące się ze sobą działają w tym samym procesie.

Inżynierowie z firmy Sun twierdzą, że nowe podejście do konstrukcji maszyny wirtualnej będzie można z dużym powodzeniem zastosować również na platformach J2ME (Java 2 Micro Edition) oraz w rozwiązaniach biznesowych J2EE (Java 2 Enterprise Edition).

Zespół zamierza w niedługim czasie udostępnić nową maszynę MVM do celów badawczych. Informacji na ten temat można szukać tutaj.

Więcej informacji

Strona domowa projektu 'Barcelona'


Zobacz również