WebSphere Real Time Overview
WebSphere Real Time Overview
White paper
December 2006
IBM WebSphere Real Time: Providing predictable performance
Page
Introduction
Contents
Java™ technology has improved general software-development productivity
and reliability while helping to reduce complexity and provide a structured,
2 Introduction
well-understood development, deployment and runtime environment. Java is
3 Real-time misconceptions
available on all the key operating-system and hardware platforms, and has
2 Real-time determination compared
become the environment of choice for Web applications, middleware, tools and
to application complexity
service oriented architecture (SOA). By employing the Real-Time Specification
5 IBM WebSphere Real Time,
for Java (RTSJ), the Java platform (in this case Java 2 Standard Edition [J2SE])
Version 1.0 in detail
has been extended to support real-time applications. And now, IBM
9 Real-time Linux
WebSphere® Real Time provides real-time response while still using standard
10 Possible future real-time
class libraries through its real-time incremental garbage collector known as
solutions from IBM
Metronome. Programmers no longer have to rely on languages such as C, C++
11 Conclusion
or ADA 95 for real-time programming. This Java platform now represents a
12 For more information
viable potential alternative environment for highly deterministic, distributed,
real-time applications in critical system applications, ranging from command
and control, weapons, industrial automation and financial systems to
telecommunication infrastructures.
This white paper describes the components of the real-time Java environment,
available today in the IBM WebSphere Real Time product. It also discusses
some of the product’s future capabilities as described in the IBM alphaWorks®
Emerging Technologies site at www.alphaworks.ibm.com/topics/realtimejava .
Real-time misconceptions
Several misconceptions exist related to real-time systems. The first and most
common is that real time is solely about minimal application latency and
maximum data throughput. These capabilities are important attributes in
critical systems or applications, but real time is foremost about latency
determinism compared to data determinism. In other words, real-time is
about predictable performance.
Strategy
1s Tactics
100ms Coordination
10ms
Actuation
1ms Sensing
Embedded devices Systems
100ps
Modulation
10ps
Signaling
Custom hardware
IBM WebSphere Real Time technology was recently chosen as the core
development and runtime environment for a major weapons program for the
U.S. Navy’s newest destroyer. IBM’s responsibility in this multibillion dollar
effort is called the Total Ship Computing Environment (TSCE). After an
exhaustive comparison and benchmarking against the incumbent Java run
time, IBM WebSphere Real Time and Red Hat technology-based real-time
Linux running on X86 blades were selected.
IBM WebSphere Real Time: Providing predictable performance
Page
The real-time, Java technology-based solution from IBM used in this weapons
program is able to address distributed real-time processing from seconds down
to one millisecond. It provides predictable performance without the need to
move away from the traditional Java programming model, using the standard
class libraries all Java developers are familiar with, by taking advantage of
innovative IBM garbage collection and compilation technologies. These
capabilities were a key factor in the selection. By enabling developers to use
tools, skills and development best practices, organizations can develop real-
time applications with a higher potential for a lower total cost of ownership
(TCO), better performance, lower development risk and reduced complexity.
This same technology is being examined for use by other U.S. Navy, U.S. Air
Force, U.S. Army and U.S. intelligence programs, as well as financial
institutions and telecommunications companies.
Also, as this paper later discusses, you can use standards-based Java extensions
like RTSJ to achieve deterministic behavior well below one millisecond.
IBM could not have delivered these impressive performance results without
the dedicated collaboration between IBM, Red Hat and the Linux open-source
community, all of whom worked together to define a solid Linux RTOS with
predictable scheduling and performance — all in less than a year.
IBM WebSphere Real Time also provides support for the full RTSJ specification,
enabling programmers to use the many standard features, including priority-
based thread scheduling, high-resolution timers and asynchronous event
handlers. Other features in IBM WebSphere Real Time include improved class
loading through the use of Java executable (JXE) or Java archive (JAR) files to
support fast, compatible class loading. Programmers can also use JIT and AOT
compilation to optimize the implementation environment. You can choose
between dynamic (JIT) and static (AOT) compilation. When running with JIT,
compilation is performed on an asynchronous, low-priority thread, helping to
ensure that critical regions running on high-priority threads can preempt
compilation so that it runs consistently. Alternatively, programmers can use
AOT technology to precompile code, enabling them to run their applications
without an active JIT compilation, helping to reduce the complexity of ensuring
critical region code is compiled before its first invocation.
IBM WebSphere Real Time: Providing predictable performance
Page
J9 RTSJ
• IBM-authorized virtual machine • Fully compliant with the latest version
used in many IBM products of JSR 1 (1.0.1b)
and platforms • Includes fixed priority scheduling,
• Leadership performance, scalability priority inheritance, asynchronous
and realiability event handling, scoped and immortal
memory, management
Metronome
• Real-time garbage collection Hardware supported
with 1 ms worst-case pause time • IBM BladeCenter ® for AMD Opteron x86-32
and providing assured minimum • Future support for x86-64
application processor utilization • Infiniband
10ms
1ms
NHRT thread
with scopes
100 s
h
10 s
h
The IBM WebSphere Real Time software development kit (SDK) and
Java Runtime Environment (JRE) key features include:
Figure 4 depicts the IBM WebSphere Real Time architectural stack that was
instrumental in the DDG-1000 solution.
RTSJ support
Real-time Linux
A core feature of the real-time Java environment is its underlying RTOS. In
keeping with IBM’s philosophy of being a leader in open standards, the first
supported RTOS will be an enhanced Linux kernel and supporting libraries
based on Red Hat Enterprise Linux, Version 4 with Update 2. IBM’s Linux
involvement is managed through the IBM Linux Technology Center
IBM has an exceptional record and much experience working with the
Linux development community in getting its contributions accepted into the
mainstream sources and adopted by Linux distributors such as Red Hat and
Novell. The development work necessary for enhancing the Linux kernel to
support a real-time environment is no exception; IBM has been working with
the Linux community to develop the real-time function needed to support the
real-time Java environment. Some current releases of real-time Linux efforts
restrict real-time tasks to a single processor or a subset of the processors on the
system, and lack the security protections of arbitrary code running with
kernel privileges. IBM’s approach is to enable all processes to have access
to all processors on the system. Also, many of these recent real-time Linux
variants are proprietary, with patches that are not likely to be adopted into
mainline Linux.
IBM WebSphere Real Time: Providing predictable performance
Page 10
Conclusion
Figure 6 depicts IBM’s ultimate distributed real-time platform, which includes
middleware, tools and management systems. This infrastructure can support
end-to-end critical deterministic systems that can interface with real-time
middleware such as RTI Data Distribution Service and PrismTech OpenFusion
RTORB Java Edition and PrismTech OpenSplice DDS, both of which support
IBM WebSphere Real Time, Version 1.0 for critical real-time Java applications.
IBM WebSphere Real Time: Providing predictable performance
Page 11
White papers
and development
Independent Documentation IBM and Business
IBM Rational ®
software vendor Best practices Partner professional
modeling
IBM Tivoli ® management
(ISV) partners Samples services
Templates
Figure 6. The IBM real-time platform and support tools based on IBM WebSphere Real Time
ibm.com/software/webservers/realtime
www.websphere.org
© Copyright IBM Corporation 2006
IBM Corporation
Software Group
Route 100
Somers, NY 10589
U.S.A.
WSW11304-USEN-00