What's happening with MVM?
For quite a long time I haven't posted to this blog.
Along with my colleagues at Sun Labs I was busy working
on several new features we are planning to release in
the upcoming versions of MVM. Now we're pretty much
ready, just smoothing out several wrinkles here and there.
One of the two major additions will be the Resource Management API
framework. Defined in the
this set of classes allows for defining and managing various
kinds of resources. The first release of the RM API will
have the CPU time and network resources management implemented.
But one can do much more - in particular, its possible to define
middleware- and application-specific resources. The initial
design of the RM API has been described
We have also
written a report
on J2EE-related experiments
with the RM API. Since this API is used as a starting point
for the JSR 284, I'm encouraging anyone interested in the
topic of managing resources for Java programs to take a look at it.
Be warned, though: it will keep evolving.
The second major enhancement will be experimental extensions for clustering.
They add clustering capabilities to the world of isolates (e.g., one can
create them remotely) and to the RM API (e.g., one can control resource
consumption of remote isolates). Quite neat. Really. We're trying to
make cluster programming as easy as possible. Users' feedback will be
invaluable to make sure we're heading in the useful direction.
We've got just one public report
on the use of cluster extensions; more to come.
MVM automatically virtualizes mutable state of Java classes.
But how about static data of core native libraries? To demonstrate
that's it's not so difficult to make a non-trivial and in a large
part native subsystem of the Java HotSpot Virtual Machine
multi-tasking friendly we've modified the
The end effect is that multiple isolates will be able to execute
AWT code without unwanted interference through the associated native libraries.
Special thanks to our Geneva friends for taking care of this one.
We have also been working on the internal improvements to the MVM.
The users will note faster start-up time and better overall performance
of applications executed in MVM.
We're planning to bundle the above extensions into one code drop within
the next several weeks. Further on the horizon is a port to the x86 plaform (Solaris