Home » IBM » IBM Software » WebSphere » WebSphere Real Time
IBM

WebSphere Real Time

Features and benefits

Description

Traditional real-time systems require significant application programming skills. Typically, the marketplace has relied on application programming languages such as ADA, C, and C++. Skills in these languages are becoming scarce and in great demand. Further, applications written in these languages are difficult to port from one platform to another. In contrast, applications written in the Java programming language are relatively easy to port to other vendors' platforms and programming skills are readily available. However, commercial Java Runtime Environments (JRE) are not able to deliver real-time behavior because of the unpredictability of application execution time. Two areas that can give rise to such unpredictability are:

  • Garbage collection (GC), where the Java Virtual Machine (JVM) unpredictability interrupts the application execution to manage memory, freeing portions of Java-managed memory that are of no further use to an application for use by other applications.
  • Just-in-time (JIT) compiler, which will improve the performance of Java applications when compared to the traditional interpreted mode by compiling sections of code that are in frequent use. While JIT compilation dramatically improves application performance, it also gives rise to unpredictability of application execution time because early runs of the application can be interrupted to allow the compiler to execute.

WebSphere Real Time V2.0 is a run-time environment and development kit that enables customers to build applications with low-latency, highly predictable response times. WebSphere Real Time differs from the standard JRE included with WebSphere Application Server in several significant ways. The key to WebSphere Real Time's difference is in its design to reduce or eliminate the primary source of non-determinism via its "Metronome" Garbage Collection technology while preserving the value of the Java language.

When using WebSphere Real Time, typical applications can expect average garbage collector pauses less than 1ms on Red Hat MRG / Novell SLERT real-time operating systems and less than 3ms on other supported operating systems. By preserving the garbage collection model, memory management remains transparent to developers, unlike an alternative approach called "scoped memory." Scoped memory can be extremely difficult to use, introducing complexities in programming and forcing developers to determine their memory requirements prior to runtime. Further, by utilizing existing Java class libraries, WebSphere Real Time retains the productivity and reusability aspects that make Java so attractive.

WebSphere Real Time reduces the problem with class loading through the use of the shared class cache to store classes in an internal format close to that used by its virtual machine at runtime. Ahead-of-time (AOT) and just-in-time (JIT) compilation can be further used to optimize the execution environment. In particular, AOT code can be stored into a shared class cache before program runtime and can be loaded into the virtual machine as classes are loaded, to provide the highest level of deterministic performance. The JIT compiler runs asynchronously on a low-priority thread so that it can dynamically improve the performance of an application while giving system designers a simple way to prevent the compiler from interfering with higher-priority application tasks.

For applications that require even lower latency than provided by the real-time garbage collection, WebSphere Real Time supports the Real Time specification for Java (RTSJ). Programmers can use the many standard features, including priority-based thread scheduling, high-resolution timers, and asynchronous event handlers.

RTSJ, also known as Java Specification Requests 1 (JSR1), extended the Java Language Specification to incorporate real-time behavior. It defined a number of language constructs similar to the traditional real-time programming languages. In doing so, it extended the Java programming model by allowing the application programmer to control memory areas ("Scoped Memory"), thread scheduling, and asynchronous event handling. While features such as scoped memory are incredibly powerful, and are required for applications that require sub-millisecond worst-case delays, they require much more significant programming skills, in particular for managing memory. WebSphere Real Time enables customers to write the majority of their application using standard Java, dipping into the powerful constructs in RTSJ as required. For many applications, features such as scoped memory will not be required, but the other features of RTSJ are fully available.

WebSphere Real Time is comprised of the following components:

  • Real-time garbage collection
  • Shared Classes support
  • Full support for Java Standard Edition (JSE 6.0)
  • Full support for JCP Real-time Specification for Java 1.0.2
  • A well-defined list of JDK classes that are No-Heap Real-Time Thread (NHRT) safe
  • Support for SMP multiprocessor x86 Linux platforms (including IBM BladeCenter)

WebSphere Real Time is supported on IBM hardware that has firmware compatible with real-time requirements. The firmware has been designed to eliminate system management events that may interrupt the processing of real-time applications and result in nondeterministic behavior.

A core feature of the real-time environment is the underlying open source real-time operating system. WebSphere Real Time supports an enhanced Linux kernel using system libraries and binaries available from Red Hat and Novell. IBM worked with the Linux community to develop the real-time operating system capabilities needed to obtain required performance for WebSphere Real Time and has subsequently made them available via the open source community. WebSphere Real Time Version 2.0 introduces support for non-real-time Linux kernels but without the benefit of the RTSJ support and a less deterministic quality of service.

Previous real-time Linux efforts restricted real-time tasks to a single CPU or a subset of the CPUs on the system, or functioned as a kernel extension with the attendant restrictions in facilities available to kernel code and the lack of security protections of arbitrary code running with kernel privileges. The current approach is to enable all Linux processes to have access to all CPUs on the system.

The themes for the WebSphere Real Time Version 2.0 release include increased throughput and scalability, without any decrease in deterministic qualities of service. IBM performance measurements with internal benchmarks have achieved scores up to twice those of WebSphere Real Time Version 1.0. The improved scalability has enabled support to be extended from 4-core to 8-core hardware. Customer applications will generally benefit from improved performance or lower CPU load, due to path length reductions in object allocation, better garbage collection performance, and higher-quality compiled code.

Section 508 of the U.S. Rehabilitation Act

WebSphere Real Time satisfies the applicable requirements of Section 508 of the Rehabilitation Act, provided that any assistive technology used with the product properly interoperates with it. A U.S. Section 508 Voluntary Product Accessibility Template (VPAT), containing details on the products accessibility compliance, can be requested at http://www.ibm.com/able/product_accessibility/index.html

IPLA and Subscription and Support considerations

IPLA licenses can be transferred from one machine to another within, but not limited to an enterprise. You may aggregate the capacity for all the processors the product is operated on to achieve a more economic price. This will result in a single Proof of Entitlement (PoE). It is your responsibility to manage the distribution of Value Units within the limits of the entitlement of the product license.

Subscription and Support must cover the same capacity as the product license entitlement. Subscription and Support will be available in the country in which the agreement is made.

All products within the WebSphere category

Contact us today for more information

  • or call: 0345 230 1055
  • * Required fields
  • Nature of your Enquiry (any additional details)
  • I have read & agree to the Privacy Policy *
 

Featured resources for WebSphere Real Time


Latest News

Oracle Fighting to Keep Linux Open and Free 30/08/2023

Oracle has just released a statement by...

ACARDIA LIMITED 12th Floor, Ocean House, The Ring, Bracknell, Berkshire RG12 1AX. United Kingdom.