All real-time systems need consistent performance. The RTSJ does not require that a conforming Java platform be unusually fast. But having a poor consistent performance is not better than good performance with some limited fluctuations (often the "worst-case" execution time is actually what matters the most).Also, by using a RTSJ (real-time compliant) library, you ensure that your software can take advantage of the upcoming RTSJ VMs (to be released early next year) with no modification. Message was edited by: email@example.com
Usability of your application can be affected by unexpected delays introduced by the standard library implementation (e.g. collection resizing, lazy initialization, cascading class initialization, full GC, etc). In this presentation we explain why Java developers serious about response-time and responsiveness should consider basing their application (or library) on a time-deterministic / RTSJ-Safe library such as the open-source Javolution framework.
- Posted by: Jean-Marie Dautelle
- Posted on: October 30 2006 05:09 EST
- Title typo (read Javolution instead of Javalution). by Jean-Marie Dautelle on October 30 2006 09:16 EST
- Re: Time-Deterministic Java Presentation Justifies Javalution by Srinivas Hasti on October 31 2006 10:15 EST
- Re: Time-Deterministic Java Presentation Justifies Javalution by Konstantin Ignatyev on October 31 2006 12:18 EST
- RTSJ VM is not enough without a time-deterministic library by Jean-Marie Dautelle on October 31 2006 13:50 EST
Title Typo: Read Javolution instead of Javalution.
RTSJ compliant VM is already available from IBM http://www-306.ibm.com/software/webservers/realtime/. Why would i want to code to Javolution API when RTSJ VM is already supporting most of the real-time requirements using standard java programming model ?
Why would i want to code to Javolution API when RTSJ VM is already supporting most of the real-time requirements using standard java programming model ?Maybe because IBM's thingy works only on customized Linux?
RTSJ compliant VM is already available from IBM http://www-306.ibm.com/software/webservers/realtime/.A RTSJ VM is only the necessary first step; but to be really useful you need a time-deterministic standard library (such as Javolution). I believe that IBM licenses its standard library from Sun and therefore inherits the same unbounded response time for most classes (e.g. java.util.*) Indeed, what's the point for the VM to be accurate to the millisecond when a simple ArrayList.add(obj) in your code may suddenly throw you off by hundreds of milliseconds (due to internal copy/resizing)? Note: To this date, I don't know of any time-deterministic Java library other than Javolution.
Why would i want to code to Javolution API when RTSJ VM is already supporting most of the real-time requirements using standard java programming model ?
From WebSphere Real Time web site:
WebSphere Real Time is comprised of the following components consistent with IBM's standard JRE: * Full support for Java Standard Edition (JSE 5.0) * Full support for JCP Real-time Specification for Java 1.0.1 * Support for SMP multiprocessor x86 Linux platforms (including IBM BladeCenters) * JXE Support * A well-defined list of JDK classes that are No-Heap Real-Time Thread (NHRT) safeBasically, IBM goes only as far as providing the list of classes that will not crash with NHRT. But no RTSJ safe replacement here (not to mention the lack of time predictability of the JSE 5.0 library).