Real-Time Java Meets Wall Street
By Jim Connors 30 Mar 2007
Jim Clarke, Eric Bruno and I have been selected to present this
year at Java ONE.
The title of our session is called "TS-1205 The Sun Java Real-Time
System Meets Wall Street". We're scheduled to present on
Wednesday, May 9 at 10:55AM - 11:55AM Pacific in the Moscone
Convention Center in San Francisco. If you plan on
attending, please stop by and see us. For those that can't
make the event, we'll be sure to post the slides once we're
permitted.
To get an idea of what we'll discuss, take a look at the abstract below;
ABSTRACT
Today's financial institutions use program trading systems to
automatically execute split-second trades based on sophisticated
algorithms that assess current market conditions. Trade
decisions and execution must occur in a timely fashion to
capitalize on the market. Missing a trade opportunity, even by a
few seconds, can lead to significant losses.
With improvements in Java technology performance, firms are
starting to use Java technology to implement these algorithms
and thereby realizing productivity gains over more-traditional
C/C++ development. However, in these time-critical systems,
there is still no guarantee that at any instant, the process
will not be interrupted by the Java platform garbage collector.
Although trade execution occurs most of the time within an
acceptable response time, the trade execution is delayed every
once in a while, due to garbage collection or some other system
event.
Sun's implementation of the Real-Time Specification for Java
(JSR 001), the Sun Java Real-Time System, enables real-time
processing through techniques that protect important threads
from garbage collection and other system interrupts. This means
that trading systems can confidently monitor the market and take
action consistently within a calculated window of opportunity.
To demonstrate the impact of these techniques, Sun's OEM
Software Systems Engineering technical team has written a
demonstration of a trading system that uses real trade data. The
demonstration compares a regular Java virtual machine against
the Sun Java Real-Time System. For each run, a graph shows the
difference in the actual trade price and the price when the
trade should have executed. Running this trading system with the
Sun Java Real-Time System shows that no money is lost due to
garbage collection latencies. The results will be contrasted
with the same application run with the standard (non-real-time)
Java virtual machine.
This presentation demonstrates a working system and proves
real-time Java technology's ability to satisfy hard real-time
trading requirements.