Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

The Multi-Tasking Virtual Machine: Building a Highly Scalable JVM

JavaFAQ Home » Good To Know Go to all tips in Good To Know


Bookmark and Share
Some programming tasks related to systems programming cannot be performed solely using the standard Java libraries. Developers might have to use native code, scripting languages, and C or C++ before returning to Java code. For example, stating that a given Java computation should have the exclusive right to use at least 50% of the processor time of its host machine, or that its network usage should be limited to at most 5 MBs, cannot be expressed with the current interfaces.

And, today, when a user runs multiple Java applications concurrently in different instances of the Java virtual machine (JVM), there tends to be substantial duplication of effort in each JVM. For example, when multiple applications are executed concurrently, each has to load, parse, verify, and create runtime representations of all the applications' classes, even such common ones as java.lang.Object. Application start-up time, memory footprint, and raw execution time are thus negatively impacted. Developers who try to circumvent the problem by using class loaders soon discover that they provide inadequate inter-application isolation and make it difficult to cleanly terminate applications.

Sun Microsystems Laboratories' Project Barcelona research team, led by Dr. Grzegorz Czajkowski, is addressing both of these problems by developing techniques that allow for collocation of multiple applications in a single instance of the virtual machine. Applications are isolated from one another and each "thinks" it has the whole virtual machine all to itself. Aggressive transparent sharing of metadata, such as bytecodes of methods, reduces application footprint and start-up time. Furthermore, through building on the foundation of an isolated Java computation (known as an "isolate"), the team has developed a set of resource management techniques and APIs which allow developers to define new resource types, partition resources among computations, and control resource management overhead.

The Multi-Tasking Virtual Machine

The proposed extensions and modifications to the JVM have been prototyped as the Multi-Tasking Virtual Machine (MVM). Existing Java bytecodes can run unmodified, enjoying scalability benefits. New applications can take advantage of new abstractions and interfaces currently missing from the Java platform to accomplish a variety of systems programming tasks. "Across all the metrics of scalability we want to improve the well-being of Java programs," remarks Czajkowski. "We are scaling the Java platform and turning it into a complete operating environment, by adding various APIs and extensions so that anything you currently want to do in the domain of systems programming, you can do from within the language."

The MVM is a general-purpose virtual machine for executing multiple applications written in the Java language, based on the Java HotSpot Virtual Machine and its client compiler. Through hosting multiple tasks, the MVM increases the scalability of the Java platform.

Read the rest here


 Printer Friendly Page  Printer Friendly Page
 Send to a Friend  Send to a Friend

.. Bookmark and Share

Search here again if you need more info!
Custom Search



Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy