The Source for Java Technology Collaboration
User: Password:



Chris Bryant

Chris Bryant's Blog

Real-time Linux in real time

Posted by chrisbryant on June 13, 2008 at 06:17 PM | Comments (0)

I don't have the time I used to for reading stacks of magazines and journals. However, thanks to the UCLA kitchen magazine pile, I happened to pick up an issue of the IBM Systems Journal, Real-Time and Event-Based Systems, Volume 47, Number 2, 2008. I'd been thinking about real-time systems lately since so many production systems are still surviving on an ancient model of two non-load-balanced, manual failover application servers. A recent race to bring a standby server up-to-date with code from the primary server in time for a forced failover brought me to my wit's end with this outdated architecture.

Now this all may be a bit deceiving. Real-time isn't necessarily a guarantee of persistent service from an architecture standpoint. A server is a server, real-time or not, and requires redundancy planned for it. But as I read an article in the journal by D. Hart, J. Stultz, and T. Ts’o, "Real-time Linux in real time", some ideas started to percolate regarding my Java application servers and the problem of persistent service. Not only did it discuss real-time Linux, a topic close to my heart, but the latest IBM offering, WebSphere Real Time (WRT), a real-time Java virtual machine (JVM) utilizing Metronome, a real-time garbage collector created by the IBM Research Division.

If I had my way, all my servers would be enterprise real-time OS-based application servers. I do run WebSphere, but would there be a major difference if I took our WebSphere/SUSE model and switched to a WRT/RTLinux? From a cost perspective, probably; yet the cost in loss-of-service from latency issues on the old architecture compared to the new would likely offset that, perhaps making it nominal or even saving cost. An RT JVM comes with issues of its own, but with the right training, the same engineers that handle the WebSphere/SUSE combination could feasibly handle the WRT/RTLinux combination. This is all assuming the RTLinux described by IBM's paper sees a full production-ready release, of course. Imagine that! Real-time Linux with real-time Java. Now, all we'd need is a multicast cluster of redundant systems spread across two or three networks to completely eliminate downtime.

I have my eye on WRT now because this opens up a few areas of question, namely how to code in real-time (or maybe more accurately, code with "real-time awareness") and how these systems change the way we'll deploy our code. All those Ant scripts out there comprising a framework of deployment functions, from source collection to build to release to test, will likely have to be revised to attack systems that exist in real-time and deploy code to them while retaining the same low-latency model the users expect. Invisible deployments? That will be the day. At least the promise of meeting every service level agreement and never facing loss of life is a little closer.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds