Thursday Jan 31, 2008

Free to Choose - Java RTS EA for Linux

Pleased? I think Milton Friedman would be. I know our developers and customers who want choice (who doesn't) will be. And as engineering manager of Java SE Embedded and Real-Time, I certainly am very pleased - Early Access (EA) of Java RTS 2.1 on Linux is available! It's ready for your free evaluation on the web.

A little background on this work - we started this port this past summer after our 2.0 release. Our first big challenge? - choosing which Linux to use. Seriously. We researched, discussed and went back and forth. It might have been a bit of our Solaris background showing but I think it was more a result of the seemingly ever-evolving state of real-time for Linux. The good news for us was that as evaluations and interest in our 2.0 release ramped, customer feedback confirmed some of our initial work: start with Red Hat and Novell. Of course it helped that both Red Hat and Novell had solid plans for real-time Linux and were very interested in working with us. In the end it worked as it should - our developers and customers made that decision easier for us. Here are the 2 Linux versions we tested for EA and plan to support for 2.1 GA:

One goal of our Linux work is to try to stick with using POSIX real-time APIs. Again, it's a goal, not a constraint or a guarantee. So far with EA we've achieved that goal which means that other Linux's that support these APIs and have the correct kernel/glibc/rt-patch set, should be able to run the EA. For more info on the release, including Linux configuration requirements, current issues and Bugzilla bugs, please see the Release Notes.

Details: The Good, the Bad, the Ugly

OK, no remarkably bad or ugly - overall the port so far has gone relatively well. We have more testing, bug fixing and tuning to do, but this release is actually further along than what we initially targeted for EA. Last I checked it looks like we have no P1 bugs, we pass 100% of of the JCK and >97% of the JSR-1 TCK. Additionally, our initial internal benchmarks show very promising latency and jitter numbers. For example, we're seeing well under 100 us for latency and jitter using RTGC and RT Threads.

However, there were some key challenges and issues (some still exist) of the port as well as interesting differences between the Linux and Solaris implementation. A few engineers from our RT engineering team (including David Holmes) will blog in the next few days with details on these areas.

Many Thanks Around

I'm lucky enough to manage a great engineering team and work with a talented, dedicated extended product team. Thanks to all on those teams for the hard work in making this EA happen. As a Sun team, we were fortunate to work with external partners. Thanks especially to Moiz Kohari at Novell and Tim Burke at Red Hat and their respective teams for their support and partnership. We have more to do and look forward to the continued collaboration.

Going Forward

So what's next for the RT team as far as 2.1? Well, in addition to finishing the Linux port we have plenty of other work going into Java RTS 2.1, the most significant of which is expanded tools support. This includes Java serviceability tools and extensive DTrace support (new DTrace provider, >70 probes and several sample scripts). The RT engineering team will provide blog updates on this in the near future.

Our work is on track for a Java RTS 2.1 GA in mid-year 2008 with a Beta by April. Also, we plan to update the EA between now and Beta at least once. This gives us the opportunity to refresh the Linux EA with key bug fixes that might arise as well as provide a Solaris EA release for 2.1.

Your Feedback

Please! We encourage your evaluation of the EA. Let us know how this EA works for you (or doesn't) and what else you'd like to see in the product. Your valued feedback enables the continued improvement of Java RTS - and that's a good choice.

David Therkelsen


« February 2017