examining the use of java technologies for real-time in a …€¦ · regarding their use of rtsj...

21
6/20/2006 Slide 1 Naval Surface Warfare Center Dahlgren Division Fred Weindelmayer and Tim Childress Unclassified Disclaimer: The testbed and scenarios described represent notional US Navy Combat System capabilities for technology evaluation purposes. Examining the Use of Java Technologies for Real-Time in a Prototype U.S. Surface Navy Combat System Application

Upload: others

Post on 07-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 1

Naval Surface Warfare Center Dahlgren DivisionFred Weindelmayer and Tim Childress

Unclassified

Disclaimer: The testbed and scenarios described represent notional US Navy Combat System capabilities for technology evaluation purposes.

Examining the Use of Java Technologies for Real-Time in a Prototype U.S. Surface Navy

Combat System Application

Page 2: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 2

The OA Surface Application DomainThe OA Surface Application Domain

Large distributed real-time weapon system applicationsBoth soft and hard real-time applicationsTimescale for deadlines typically in the O(10) – O(100) millisecond rangeLong system life spans, often for several decadesConsequences of not meeting requirements for time-deterministic behavior could be severe

Page 3: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 3

Standards Support for Real-TimeStandards Support for Real-Time

Non-real-timee.g. business

Soft real-timee.g. C2, display & decision support

Hard real-timee.g. sensor &weapon control

Extreme real-time

e.g. signal processing

Java/RMIJMS

CORBACORBA

MPIMPI

RT Data Distribution Service

Java

Java w/RT GC & AOT ?

RTSJ (hard RT)?

Web Services Technologies ? ? ?

OACE

Tec

hnol

ogies

and

Stan

dard

s

Page 4: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 4

Java Considerations in the Real-Time Domain

Java Considerations in the Real-Time Domain

Can Java meet real-time, mission-critical, and safety requirements of combat systems?

The ability of Java technologies to meet required combat system performance has not yet been proven

Insufficient information whether Java will pass Weapons Systems and Explosives Safety Review Board (WSESRB) certification using mainstream features – VLS briefed WSESRB regarding their use of RTSJ with a RAVENSCAR-like profile

Enabling of SOA & Web Services for Cross-Domain & Fn Integration

Java provides support for SOA and Web Services technologies such as SOAP, XML, UDDI, J2EE, etc.

Will Java products for real-time have the same availability?Vendors are still limited in the diversity of platforms that they support; very few supported

products – several available in beta.Differences between Java products for RT are significant at this time – cost of switching

products may be significant if a computing platform port is required.Significantly smaller market for RT to drive development of Java and support products

Product availabilityJava is widely supported with many products

available for virtually any computing platformMany support products available that support

Java, including development environments, middleware, etc.

Using Java in the real-time domain requires a tighter coupling to the computer platform

RTSJ slogan “Write once carefully, run anywhere conditionally”? – not yet provenJVMs implementing RT technologies (e.g., RTSJ, RTGC, AOT, etc) are part of a product eco-

system (JVM, OS, processor), currently having limited availabilityMay require additional standards-related guidance for OS, e.g. which scheduling algorithms

must be supported, minimum clock resolution

Portability of Java Applications“Write once, run anywhere”

Will Java technologies for real-time deliver the same productivity gains of standard Java?

Appropriate use of RTSJ features requires additional training and introduces complexity RT garbage collectors require additional understanding of underlying application memory

allocation behavior that is not made apparent by the language – tools not available to support a priori analysis

Real-time programming knowledge is required regardless of the language. Java does not alleviate this requirement

Some standard Java APIs are incompatible with RTSJ memory management for RT apps; Porting of some APIs has been done, but inconsistent across RTSJ implementations

Increased ProductivityLarge programmer baseStandardized APIsMany libraries available to implement commonly

required capabilities e.g. string manipulation, data structures, graphics, etc.

Automatic memory management (less debugging)

ConcernsPotential Benefits

Page 5: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 5

Java Technologies for Real-TimeJava Technologies for Real-TimeStandard Java– Sun, IBM, and BEA J2SE 5.0 JVMs– Can be used for some real-time applications if features that

impact determinism are restricted, e.g.Employ memory pools to reduce / eliminate dynamic allocation of objectsConstrain use of standard Java librariesAvoid multi-threading to eliminate possible priority inversion

The Real-Time Specification for Java (RTSJ) – Sun Java RTS and IBM J9 RT JVM (J2SE)– Apogee (J2ME)

Real-Time Garbage Collectors– Implementations exist for both Standard Java and RTSJ

products – Metronome GC (IBM), Lund GC (Sun), Deterministic GC (BEA)

“Java-Like” Virtual Machines with Real-Time GC– Aonix PERC and AICAS Jamaica VMs

Page 6: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 6

Objectives of the ExperimentObjectives of the Experiment

Obtain information on which technologies, and which subsets of features within them, are appropriate for different regions of the real-time Navy Enterprise application space– For example: Is there a class of soft real-time applications for which real-time

garbage collection is sufficient, without having to use RTSJ-specific features (even if using an RTSJ JVM)?

Gain insight on appropriate techniques and design patterns for application of real-time Java technology– Languages typically provide many alternative ways to implement solutions, but

which are best suited to the problems we encounter?Identify possible deficiencies in existing real-time Java technologies for Navy real-time applications– Such knowledge could be applied toward the development of a Mission-Critical

Java standardGain sufficient insight on RT Java usage to determine how standards might be changed in support of Navy RT requirements

Page 7: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 7

Metrics of InterestMetrics of InterestTimeliness– Degree to which application meets real-time deadlines– Track generator will simulate a variety of different message

traffic patterns, allowing us to evaluate timeliness under different load scenarios

Jitter– Difference between longest and shortest observed latencies– Lower jitter means more consistent real-time behavior and

consequently more predictabilityPerformance– Performance impacts which deadlines can be feasibly met

with the technologyRelevant characteristics associated with application development:– Portability– Maintainability– Scalability– Ease of development

Page 8: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 8

Evaluation DescriptionEvaluation DescriptionEvaluation Description

Page 9: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 9

OACE PrototypeOACE Prototype

IFF SIM

DS3&IQ

SigPro P / T- Search- Track

SPY Prototype- Scheduler- Trackers- DXR

Track Mg. Prototype - Track Formation.- Track Distrib- Identification

Doctrine Prototype - Doctrine- Engagement Mgt.

WCS Prototype - Engageability- Scheduling- Midcourse Guid.- Kill Eval.

SPY C&D Weapons

SCENARIO

SUWC

AAWC

Display Prototype-Tactical Picture-Display State Svr.

Operator Displays F

CS

SIM

VLS

SIM

FROM APPS

& HOSTS

INSTRUM-ENTATION

Dynamic Resource Mgt.- QoS Specifications- Resource Monitoring- Application Monitoring- QoS Managers- Resource Management- Program Control

PrototypeSimulation DRM

CONTROLACTIONS

Primary Goal: Investigate how well Java applications integrate into and perform in a distributed combat system environment with

legacy components

Page 10: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 10

OACE Prototype Functional Block Diagram

OACE Prototype Functional Block Diagram

TRACK LOADGENERATOR

AAW C2

MFARSIM

MANUAL ENGCONTROL

WCS SIMMISSILE FLYOUT

SENSOR-DECLARED AUTO SPECIAL

IDDATA

SM-2 ENG.REQ.

A/S ENG. REQ.

SM ENG.ORDERS

CENARIO

OWNSHIPENTITYNAVSSI

SIM

SEMI AUTODOCTRINEAUTO SM

DOCTRINEAUTO SPCLDOCTRINE

OPERATORACTIONS

SUWC

AAWC

ID REQUEST/ID DATA

A LOCAL TRACKDATA SERVICE

TRACKUPDATES

RADARDATA

A/S TENT.TRACK

OTH FILTER REMOTE SENSORDATA

SERVICE

DISPLAYSERVICE

ID SIM

TO ALLCLIENTS

DOCTRINESERVICE

Fault tolerantand/or Scalable

UDPDDS

Simulation

ENGAGEMENTSERVICE

MISSILEGENERATOR

SM-2 SIM

MFAR ADAPER

TRACKUPDATES

NAVSSIADAPTER

DS_19

TO ALLCLIENTS

TO ALLCLIENTS

SM-2 ENG.REQ.

TO ALLCLIENTS

Nav Data ServiceNav Data Service ConsumerConsumerTrack Data ServiceTrack Data Service ConsumerConsumer OTH Track ServiceOTH Track Service ConsumerConsumer

Doctrine Data ServiceDoctrine Data Service ConsumerConsumerJava

Experiment

C++ & Java

Page 11: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 11

Experiment ConstructionExperiment Construction

C++ and standard Java implementations of OACE Auto Special prototype using same high-level design“Reasonable decisions” principle for Java implementation – e.g. memory pools for fixed sized objects*Identical test harness, procedures, and scenarioInstrumentation points inserted at identical points in the processingLanguage Implementations:– C++: GCC 3.4.4– Standard Java: J2SE 5.0 (various vendor JVMs)

Computing Platform:– Intel Xeon 3.06 GHz, 4 CPUs, 1GB RAM– Red Hat Linux 3.4.3-9.EL4 with RT patches– NDDS 4.0

** Lesson learned from Aegis Open ArchitectureLesson learned from Aegis Open Architecture

Page 12: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 12

Sensor-To-Shooter InstrumentationSensor-To-Shooter Instrumentation

SENSOR-DECLARED AUTO SPECIAL

A/S ENG. REQ.

A LOCAL TRACKDATA SERVICE

TRACKUPDATES

RADARDATA

ENGAGEMENTSERVICESM-2

ENG.REQ.

AUTO SPCLDOCTRINE

A/S TENT.TRACK

MFAR SIM MFARADAPTER

TRACKUPDATEST1T1

T1 T1 -- Valid Time of Sensor Kinematic DataValid Time of Sensor Kinematic DataT2 T2 -- Time Track Data Received at Service Time Track Data Received at Service T3 T3 -- Time Track Data Sent from ServiceTime Track Data Sent from ServiceT4 T4 -- Time Track Data Received at Consumer Time Track Data Received at Consumer T5 T5 –– Time Track Data Processed at Consumer Time Track Data Processed at Consumer

T2T2 T3T3 T4T4

T6T6

T5T5

T7T7

T8T8

T9T9

T11T11

T12T12

T6 T6 -- Valid Sensor A/S Message Initiated Valid Sensor A/S Message Initiated T7 T7 -- A/S Message Received at Consumer A/S Message Received at Consumer T8 T8 -- A/S Engagement Request SentA/S Engagement Request SentT9 T9 -- A/S Engagement Request ReceivedA/S Engagement Request ReceivedT10 T10 -- A/S Engage Order Sent A/S Engage Order Sent

T10T10

T11 T11 -- A/S Periodic Processing StartA/S Periodic Processing StartT12 T12 -- A/S Periodic Processing CompleteA/S Periodic Processing Complete

SM ENG.ORDER

TRACK LOADGENERATOR TRACK

UPDATEST1T1

Tn Tn –– Instrumentation point in OACE PrototypeInstrumentation point in OACE PrototypeTm Tm –– Instrumentation point used for Java/C++ ComparisonInstrumentation point used for Java/C++ Comparison

AAW C2 Fault tolerantand/or ScalableSimulation C++ & Java

Page 13: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 13

Auto Special Activity DiagramAuto Special Activity Diagram

Discovery Discovery EventEvent

Peer Peer MonitorMonitor

DDS DDS CallbackCallback

RealReal--Time Time Track Track

ProcessingProcessingSensor Sensor

Declared A/S Declared A/S Track ProcTrack Proc

Doctrine Doctrine Statement Statement ProcessingProcessing

Ownship Ownship Data Data

ProcessingProcessing

Engagement Engagement Status Status

ProcessingProcessing

Periodic Periodic Doctrine Doctrine ReviewReview

T4T4

T5T5

T7T7

T8T8

T11T11

T12T12

Validate Validate EventEvent

Route Route EventEvent

Validate Validate MessageMessage

Route Route MessageMessage

Update Update PeersPeers

ProcessProcessTrackTrack

Update Update Local Track Local Track DatastoreDatastore

Update Update Local Local

Doctrine Doctrine DatastoreDatastore

Update Update Local Local

Ownship Ownship DatastoreDatastore

Update Update Local Local

Engagement Engagement DatastoreDatastore

ProcessProcessTrackTrack

Perform Perform A/S Eval on A/S Eval on

Sensor Sensor Declared Declared

TrackTrack

Send A/S Send A/S Engagement Engagement

RequestRequest

Start Start ReviewReview

Perform Perform A/S Eval on A/S Eval on all Tracks all Tracks

in in DatastoreDatastore

End End ReviewReview

Send SM2 Send SM2 Engagement Engagement

RequestRequest

Tn Tn –– Instrumentation point in OACE PrototypeInstrumentation point in OACE PrototypeTm Tm –– Instrumentation point used for Java/C++ ComparisonInstrumentation point used for Java/C++ Comparison

Page 14: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 14

ScenarioScenario

One hour data collection period for each configurationCommon test harness & track scenario for C++ and Java

Six surface tracks updated at 2Hz rateSeven pop-up tracks updated at 2Hz rate – included 3 A/S engageable tracks1000 background track load –updated at ½ Hz rate

Page 15: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 15

ResultsResultsResults

Page 16: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 16

Data will be provided

MetricsMetrics

Page 17: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 17

ConclusionsConclusionsConclusions

Page 18: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 18

Evaluation Findings To DateEvaluation Findings To DateLanguage selection appears to have a greater effect on overall processing time than the language implementation

– C++ performance is highly predictable throughout the test– Both Java products in this experiment exhibit some degree of unpredictable

performance – unknown how they will scale to larger processing loads or how outliers will affect the ability to meet end-to-end performance requirements

– RT garbage collection technology is promising - exhibits fewer outliers that tend to be smaller in magnitude

Cause of Java outliers is currently unknown – candidates include:– RT Garbage Collection technology is immature – Garbage collection effects

May be able to further optimize application using standard Java featuresMay be able to tune GC products to significantly reduce number or size of outliers

– Just In Time (JIT) compilationMay introduce processing delays when a code path is traversed for the first time

– Secondary effects of Java implementation or other language features e.g. thread control

May be able to use RTSJ thread control features in combination to reduce effects– Suitability of high-level design for optimal Java performance

Redesign may improve overall performance and enhance understanding of RT design patterns for Java

Predicting and tuning performance will be a key concern when using RTGC and AOT technologies – analysis will require methodologies and tools not currently available

Page 19: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 19

ObservationsObservationsJava products for real-time are a potential solution for allowing Java applications to meet Navy deterministic mission needs. A number of products now exist; all are immature at this point.Real-Time Garbage Collection technology is generally immature. Because no standards exist for garbage collection, behavior and performance can vary significantly.Java technologies for real-time are often tied to the underlying computing infrastructure. Use of Java technologies for real-time may ease code portability, but may also require additional standards-related guidance to support reuse and technology refresh while meeting performance requirements.It is not clear at this point how widely-accepted Java technologies for real-time will become. Need to continue working with Java vendors to improve their products’ viability within the Navy (performance, tools, standardization approach, business model, product licensing etc.).

-- Additional experiments needed to fully understand performance and its -effect on meeting real-time end-to-end system requirements---- Additional experiments needed to fully understand performance Additional experiments needed to fully understand performance and its and its --effect on meeting realeffect on meeting real--time endtime end--toto--end system requirementsend system requirements

Page 20: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 20

Questions?Questions?Questions?

Page 21: Examining the Use of Java Technologies for Real-Time in a …€¦ · regarding their use of RTSJ with a RAVENSCAR-like profile Enabling of SOA & Web Services for Cross-Domain & Fn

6/20/2006 Slide 21

BackupBackupBackup