Sun Microsystems Laboratories (Sun Labs) is working on a research effort to address issues with the memory footprint, startup
and execution times when running multiple Java applications concurrently.
The Multi-Tasking Virtual Machine (MVM), developed as a prototype by Sun Labs’s Barcelona, Spain research team, is a general
purpose virtual machine for executing multiple Java applications, according to a description on the java.sun.com Web site. Based on the Java HotSpot Virtual Machine and its client compiler, MVM increases the scalability of Java by hosting
multiple tasks.
Although Sun officials were not available to discuss the project on Friday, Sun representatives did acknowledge the research
effort. Sun Labs is the applied research and development arm of Sun.
A Java developer cited the potential of MVM.
“I think the MVM could provide the solution to one of the biggest problems of Java: high memory use from multiple Java applications
running simultaneously,” said developer Matthew Schmidt, vice president of technology at the JavaLobby Java user community.
Java applications tend to use a lot of memory, especially when there are lots of Java Web applications running, Schmidt said.
JavaLobby experiences this with its own MyJavaServer.com project, which hosts 30,000 J2EE accounts, he said.
“This looks like it could ease some of the pain,” Schmidt said.
The Barcelona team is developing techniques to allow for collocation of multiple applications in a single instance of the
virtual machine, according to Sun’s research. Currently, every application requires its own JVM, Schmidt said.
“Basically, the MVM is acting similarly to an OS and you would be able to start up multiple applications that would be sharing
the process that the MVM is providing,” Schmidt said.
MVM is described on java.sun.com as a step toward providing a complete operating environment for Java programs through a set of APIs. A research release of
MVM is being developed based on the Java HotSpot Virtual Machine 1.5.
MVM has been applied to J2EE 1.3.1 to increase scalability and reduce memory footprint and startup time when compared with
the Java HotSpot Virtual Machine. Productizing of MVM in the Java 2 Platform Standard Edition space is under consideration.
Citing memory advantages of the MVM, the Barcelona team also has been working with another group at Sun to build a virtual
machine for cell phone devices in an attempt to productize MVM for the CLDC (Connected Limited Device Configuration) specification.
CLDC defines a set of APIs and a virtual machine for devices such as mobile phones and pagers.