<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Grzegorz Czajkowski&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/gczaj/" />
<modified>2008-01-02T17:42:16Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/gczaj/260</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2005, gczaj</copyright>
<entry>
<title>What&apos;s happening with MVM?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/gczaj/archive/2005/12/whats_happening.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-12-12T23:12:39Z</issued>
<id>tag:weblogs.java.net,2005:/blog/gczaj/260.3782</id>
<created>2005-12-12T23:12:39Z</created>
<summary type="text/plain">This blog has been dormant for quite a while. But the work on MVM
hasn&apos;t stopped. In fact, there&apos;s a whole bunch of extensions and improvements we&apos;re planning to release soon.</summary>
<author>
<name>gczaj</name>

<email>gczaj@sfbay.sun.com</email>
</author>
<dc:subject>Community: JDK</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/gczaj/">
<![CDATA[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.
<p>
One of the two major additions will be the Resource Management API
framework. Defined in the <code>experimentalstuff.rm</code> package,
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 
<a href="http://research.sun.com/techrep/2003/abstract-124.html">here</a>.
We have also
written <a href="http://research.sun.com/projects/barcelona/papers/middleware04.pdf">a report</a>
on J2EE-related experiments
with the RM API. Since this API is used as a starting point
for <a href="http://jcp.org/en/jsr/detail?id=284">the JSR 284</a>, 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.
<p>
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 <a href="http://research.sun.com/projects/barcelona/papers/ccgrid05.pdf">public report</a>
on the use of cluster extensions; more to come.
<p>
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 
<a href="http://java.sun.com/j2se/1.5.0/docs/guide/awt/1.5/xawt.html">XToolkit</a>.
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.
<p>
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.
<p>
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
and Linux).
]]>

</content>
</entry>
<entry>
<title>Releasing the Multi-Tasking Virtual Machine</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/gczaj/archive/2005/06/releasing_the_m.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-06-13T22:21:19Z</issued>
<id>tag:weblogs.java.net,2005:/blog/gczaj/260.2573</id>
<created>2005-06-13T22:21:19Z</created>
<summary type="text/plain">The Multi-Tasking Virtual Machine has just been released. Check it out
at mvm.dev.java.net.</summary>
<author>
<name>gczaj</name>

<email>gczaj@sfbay.sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/gczaj/">
<![CDATA[Welcome to my blog! I would like to invite you to take a look
at the just released
<a href="https://mvm.dev.java.net">Multi-Tasking Virtual Machine</a>.

The actual technology has proven relatively easy to implement and
the original release was planned for early 2005. Well, so much 
for the plans. A whole bunch of items crept in, all the way from
legal issue to handling large code releases on java.net. I guess for a while
my replies to just about any questions about software engineering
will contain something like "... and never underestimate the time
it takes to release code!". OK, enough about the process behind this
release, let's go back to MVM.
<p>

MVM is a research modification of Sun's implementation of
J2SE 5.0. In particular, it implements the second Public Review
version of the <a href="http://www.jcp.org/en/jsr/detail?id=121">JSR 121</a>,
also known as the Application Isolation API. 
This API adds the analog of a traditional operating system's
address space abstraction (the Isolate class) to the Java
Platform, thereby endowing it with a principled and easily used
process model.
<p>

MVM has already proven itself in 
<a href="http://java.sun.com/j2me/docs/pdf/CLDC_mvm.pdf">the CLDC space</a>
and now
<a href="http://research.sun.com/projects/barcelona">our team</a>
at the <a href="http://research.sun.com">Sun Microsystems Laboratories</a> 
is looking into ways MVM can improve J2SE and J2EE.
People interested in the scalability of the Java platform will
find MVM's start-up time and memory footprint reductions to be its most
interesting aspects. Other users are likely to focus on (and hopefully
like) the Application Isolation API, which in turn enables other technologies,
leading to a more complete and programmable Java platform.
<p>

We plan to improve on this initial release. We will add
<a href="http://research.sun.com/projects/barcelona/papers/TR_2003_124.pdf">
a resource management facility</a>, a clustering API,
and <a href="http://research.sun.com/projects/barcelona/papers/scc05.pdf">
a service management API</a> and will update the
Application Isolation API when
its standardization is complete. Work on removing some of the current limitations,
and tuning the implementation is also underway.
<p>

We are very interested in
feedback and suggestions - please
<a href="mailto:users@mvm.dev.java.net">share your thoughts with us</a>.

Please note that you'll need to get the 
<a href="https://jdk.dev.java.net/servlets/ProjectMembershipRequest">
JDK Researcher role</a> to be able
to download MVM. ]]>

</content>
</entry>

</feed>