Java father Gosling backs managed runtime gallop
OpenJDK and Linux mods released
Java father James Gosling has endorsed plans to juice managed runtimes on Linux from a company that was once at loggerheads with Sun Microsystems over his beloved language.
Gosling has said he's "excited" by the Managed Runtime Initiative, which involves code contributions from Java appliance specialist Azul Systems, saying the effort will create the new functionality needed for managed runtimes to "continue their growth and evolution."
"Managed runtimes have come a long way since the mid 90s," Gosling said in a statement released by Azul. "However, the rest of the systems stack has not evolved to meet the needs of these now pervasive application environments."
Scott Sellers, Azul's president, chief executive, and co-founder, said that Gosling is lending his support because Azul has found a different way to solve the problems of performance and scale of managed runtimes on x86 servers. "We hope now we have put this out there. Companies start to embrace and get excited about it," Sellers told The Reg.
Vice president of marketing and business development George Gould was more succinct: "This is not academic research this is proven technology," he said.
Rollback four years and things were less peachy between Azul and Sun Microsystems, Gosling's former employer. Sun hit Azul with a lawsuit over alleged patent infringements after Azul claimed that Sun tried to bully Azul over those patents, which involved multi-threaded software, garbage collection, and multi-core chips. The pair eventually settled for undisclosed terms.
Gosling was never involved in the case and has since left Sun's owner Oracle. Meanwhile, Azul's then chief executive Stephen DeWitt – a former Sun employee bought with appliance maker Cobalt Networks – subsequently departed for Hewlett-Packard. Now Sellers is leading Azul.
Azul is now back on the garbage collection and multi-core trail with the Managed Runtime Initiative that Gosling is backing. It consists of a reference implementation the company said will boost the performance, scalability, and reliability of the Java Runtime on Linux.
The company has written a JIT complier, saying it's efficient in adding things like read barriers while garbage collection takes advantage of the cores and memory in server's CPU. Azul has also changed the 2.6.32 Linux kernel's virtual memory management and resource scheduler so you can run multiple VMs on a processor while policing how resources are allocated to VMs without one gobbling up memory or CPUs to the detriment of others.
Azul's changes have been made to the OpenJDK and Linux kernel and released under GPLv2.
Sellers said the modifications in OpenJDK and the kernel would let the runtime break through the restrictions of the operating system layer and take advantage of advance in the underling chip architecture, such as multi-cores for speed and memory. He claimed you'll be able to increase the number of VMs on a single machine into the hundreds with each drawing on hundreds of gigabytes of memory, without specialized coding.
Azul plans to bring out server appliances that take advantage of the reference implementation in the second half of the year. It's goal is for other runtimes to take advantage of the reference implementation, including PHP, Ruby, and Microsoft's .NET.
"This is putting a stake in the ground and saying this can be done," Gould said. ®
The core of the droid is all C++
Only the user-land apps are JVM AFAIK.
Who cares about binary compatibility of the final executable, all you have to do is produce the compiler for another platform.
At the end of the day the JVM has to be ported, and the native libraries (the ones written in C+, the ones that provide the "experience") have to be ported too.
So what is the gain at the end of the day? Some minimal convenience? Try to run a JVM app from the PC on a Blackberry or the Droid. The compile once and run everywhere only works for console apps... on computers, big clunky computers, fast computers, rendered crappy slow by the evil JVM!
By the way the Droid suffers from the memory bloated runtime. Ask any droid user about app memory.
Managed code changed it all
>Dammit Gosling! you should have invented Java, yes, but as a replacement for C++ with
>a native compiler.
One of the big things to me in Java is that you can take the same binary and run it anywhere, you would loose that if you compile to native code...
>Look at the Droid or the Iphone, they run fast because they are made of C++, until the >iphone any other phone was a walking disaster.
Doesn't the Droid have the same philosophy?
Adroid uses Java as a programming language and my understanding it that they had to create they own VM for avoid having to pay royalties to Sun but it is a VM at the end of the day...
I hate managed code with a passion.
It is a useless cpu cycle-burner.
Dammit Gosling! you should have invented Java, yes, but as a replacement for C++ with a native compiler.
Instead Java led to .NET and the bloated mania. Gosling should have been slapped in the face when he proposed the JVM.
Look at the Droid or the Iphone, they run fast because they are made of C++, until the iphone any other phone was a walking disaster.
Warning! The same goes for Python, the PHP's of the world and the like, any other high-level complex language. There should be a compiler! I want my CPU's to burn machine code and save precious memory!
Stupid MS got it right with the VB 5/6 compiler, but they wanted to be as cool as SUN and invented their new language to be run on a VM.
Then comes the mono guys and make the same mistake, instead of producing a compiler for C# they make a brand new stupid VM slow and bloated on Linux (the JVM was enough!) But the funny thing with mono is that because Jobs forbids the JVM crap on the iphone/ipad, the mono guys made a compiler for c# so mono apps can be used on the iphone at full speed.
Where is that compiler for Linux/Win platforms? That would be a huge advantage over MS .NET, but again they want to be as cool as Gosling. Gosh they all should be slapped again and again.
Did you notice I hate managed code?