What is real-time computing and how do Solaris and Java support it?
By user12611852 on Jan 08, 2007
Solaris and Java do real-time computing.
Before coming to Sun 11 years ago, I worked for a smaller computer company call Gould Computer Systems Division (also for 11 years). In that job, I was all real-time, all the time. Gould CSD was later bought by Encore Computer which fizzled out along with all the other RT computer companies as commodity HW and OSes (like Solaris and IRIX) started incorporating RT features into their platforms.
My definition of real-time computing is: "Get the right answer in the required time." A correct answer provided after the deadline has expired is an incorrect answer. Primary applications for RT computing include flight simulation, telemetry, weapons targetting, spacecraft control and so forth. For example, a typical flight simulator runs on a 60 Hz frame rate. The entire collection of data (aerodynamics, engine status, controls, visuals) must be recalculated and presented to the pilot accurately within each frame. Failing to do this not only ruins the simulation it can easily make the pilot sick because his senses are not receiving data consistent with his actions.
Thanks to the work of Bryan Cantrill and others, Sun released Solaris 8 with real-time capability in early 2000. These features included interrupt control, RT scheduling, high resolution timers, and POSIX system calls. If you are interested in the details, see this white paper or this presentation.
Java, when introduced in 1995, was uniformly reviled as a slow, partially compiled language (with garbage collection) that could never be used for high performance, scientific or RT computing purposes. Times have changed quite a bit since then. The Java Real-Time system provides a high performance, low latency execution environment for Java developers. Eric Bruno from Sun recently published an article entitled, "Go Inside the Java Real-Time System" at devX.com.
If you need high performance real-time computing, the combination of Solaris 10 with real-time extensions and the Java Real-Time system make for an unbeatable combination when running your your favorite Sparc, Intel or AMD based system (from Sun, HP, Dell or even IBM).
Why should you care?
While I realize that RT computing is a small part of the market, it is extremely important particularly in the Federal Government. Whether you do nuclear plant simulation, data collection, satellite tracking or traffic monitoring, the real-time capabilities of Solaris and Java can help to meet your goals.
Solaris 10 is a high volume OS with a huge collection of third party applications. It is proven in the largest of enterprises as a robust, scalable data center class product.