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

Similar documents
Migrating a Representative U.S. Naval Combat Systems Application to Real-Time Java

Understanding the Role of Real-Time Java in Aegis Warship Modernization. Dr. Kelvin Nilsen, Chief Technology Officer Java, Atego Systems

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Real Time: Understanding the Trade-offs Between Determinism and Throughput

The Impact of a Real-Time JVM on Middleware Performance: Lessons Learned from Implementing DDS on IBM s J9

Data Consistency with SPLICE Middleware. Leslie Madden Chad Offenbacker Naval Surface Warfare Center Dahlgren Division

Real-Time Garbage Collection Panel JTRES 2007

Data Distribution Service A foundation of Real-Time Data Centricity

Experiences with deploying J2SE class Java technology in large, embedded real-time systems.

Java For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing

Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways

A High Integrity Distributed Deterministic Java Environment. WORDS 2002 January 7, San Diego CA

Introduction to DDS. Brussels, Belgium, June Gerardo Pardo-Castellote, Ph.D. Co-chair OMG DDS SIG

Virtualizing JBoss Enterprise Middleware with Azul

Fiji VM Safety Critical Java

WAN-DDS A wide area data distribution capability

Abstract. NSWC/NCEE contract NCEE/A303/41E-96.

JVM Performance Study Comparing Java HotSpot to Azul Zing Using Red Hat JBoss Data Grid

MilSOFT DDS Middleware

Data-Centric Architecture for Space Systems

Java Without the Jitter

Applying Componentbased. Engineering in On-board Software

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

Service Execution Platform WebOTX To Support Cloud Computing

Reliable UDP (RDP) Transport for CORBA

Data Model Considerations for Radar Systems

Systems Integration. Gautam H. Thaker Patrick J. Lardieri Donald Krecker Keith O Hara Chuck Winters

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Evolving the CORBA standard to support new distributed real-time and embedded systems

History of Enterprise Java

Vortex Whitepaper. Intelligent Data Sharing for the Business-Critical Internet of Things. Version 1.1 June 2014 Angelo Corsaro Ph.D.

Beyond Web Services A network-centric approach to system design

L4-Linux Based System As A Platform For EPICS ioccore

ASNE BMD PANEL C4I EVOLUTION

From MDD back to basic: Building DRE systems

ARTAMIS : Open Source and Extensibility in an Embedded Mission System

Installing VMware vsphere 5.1 Components

Implementing Real-time CORBA with Real-time Java

Raytheon Mission Architecture Program (RayMAP) Topic 1: C2 Concepts, Theory, and Policy Paper #40

Performance of Virtual Desktops in a VMware Infrastructure 3 Environment VMware ESX 3.5 Update 2

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Runtime Application Self-Protection (RASP) Performance Metrics

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations

History Introduction to Java Characteristics of Java Data types

SPECjbb2005. Alan Adamson, IBM Canada David Dagastine, Sun Microsystems Stefan Sarne, BEA Systems

A QoS-aware CCM for DRE System Development

Chapter 16. Layering a computing infrastructure

A unified multicore programming model

NEXT STEPS IN NETWORK TIME SYNCHRONIZATION FOR NAVY SHIPBOARD APPLICATIONS

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java

Chapter 8 Web Services Objectives

DDS Scalability: One size fits all??..

Java Everywhere. Simon Ritter Technology Evangelist Sun Microsystems, Inc.

Eventrons: A Safe Programming Construct for High-Frequency Hard Real-Time Applications

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

The Real-time Specification for Java

Java Performance: The Definitive Guide

Real-Time Java. Martin Schöberl

VCAP5-DCD. Vmware. VMware Certified Advanced Professional 5 - Data Center Design

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

JOP: A Java Optimized Processor for Embedded Real-Time Systems. Martin Schoeberl

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Complex Event Processing and U.S. Surface Navy Use Cases

THE APPLICATION OF NTP TO NAVY PLATFORMS

TUTORIAL: WHITE PAPER. VERITAS Indepth for the J2EE Platform PERFORMANCE MANAGEMENT FOR J2EE APPLICATIONS

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

Vortex OpenSplice. Python DDS Binding

Twitter Heron: Stream Processing at Scale

Appendix A - Glossary(of OO software term s)

Lesson 19 Software engineering aspects

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Key words. Benchmarking, Distributed Systems, Real-time Systems, Performance Metrics

IBM WebSphere Application Server V4.0. Performance. 10/02/01 Copyright 2001 IBM Corporation WS40ST11.prz Page 248 of of 28

Optimising Multicore JVMs. Khaled Alnowaiser

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction

GemStone Systems. GemStone. GemStone/J 4.0

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Urika: Enabling Real-Time Discovery in Big Data

JamaicaVM Java for Embedded Realtime Systems

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Oracle Developer Studio 12.6

Enabling Cross-Platform File Replication with Data Integrity

Designing and debugging real-time distributed systems

White Paper. Major Performance Tuning Considerations for Weblogic Server

Design Patterns for Real-Time Computer Music Systems

ticrypt DEPLOYMENT OVERVIEW AND TIMELINE Information about hardware, deployment, and on-boarding

FLEXible Middleware And Transports (FLEXMAT) for Real-time Event Stream Processing (RT-ESP) Applications

HETEROGENEOUS COMPUTING

Virtualizing Oracle on VMware

PLATFORM TECHNOLOGY UNIT-5

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Adaptive System Infrastructure for Ultra-Large. Large-Scale Systems. SMART Conference, Thursday, March 6 th, 2008

Using Virtualization to Reduce Cost and Improve Manageability of J2EE Application Servers

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

KESO Functional Safety and the Use of Java in Embedded Systems

UNITE 2006 Technology Conference

Oracle Products. Supported Configurations for Oracle Data Service Integrator 10gR3

Introduction to Mobile Development

Transcription:

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

The OA Surface Application Domain Large distributed real-time weapon system applications Both soft and hard real-time applications Timescale for deadlines typically in the O(10) O(100) millisecond range Long system life spans, often for several decades Consequences of not meeting requirements for time-deterministic behavior could be severe 6/20/2006 Slide 2

Standards Support for Real-Time Web Services Technologies??? Java/RMI JMS RTSJ (hard RT)? OACE Technologies and Standards Java Java w/rt GC & AOT? CORBA RT Data Distribution Service MPI Non-real-time e.g. business Soft real-time e.g. C2, display & decision support Hard real-time e.g. sensor & weapon control Extreme real-time e.g. signal processing 6/20/2006 Slide 3

Potential Benefits 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. Increased Productivity Large programmer base Standardized APIs Many libraries available to implement commonly required capabilities e.g. string manipulation, data structures, graphics, etc. Automatic memory management (less debugging) Portability of Java Applications Write once, run anywhere Product availability Java is widely supported with many products available for virtually any computing platform Many support products available that support Java, including development environments, middleware, etc. Java Considerations in the Real-Time Domain Concerns 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 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 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 proven JVMs implementing RT technologies (e.g., RTSJ, RTGC, AOT, etc) are part of a product ecosystem (JVM, OS, processor), currently having limited availability May require additional standards-related guidance for OS, e.g. which scheduling algorithms must be supported, minimum clock resolution 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 6/20/2006 Slide 4

Java Technologies for Real-Time Standard 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 objects Constrain use of standard Java libraries Avoid 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 6/20/2006 Slide 5

Objectives of the Experiment Obtain information on which technologies, and which subsets of features within them, are appropriate for different regions of the realtime 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 standard Gain sufficient insight on RT Java usage to determine how standards might be changed in support of Navy RT requirements 6/20/2006 Slide 6

Metrics of Interest Timeliness 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 predictability Performance Performance impacts which deadlines can be feasibly met with the technology Relevant characteristics associated with application development: Portability Maintainability Scalability Ease of development 6/20/2006 Slide 7

Evaluation Description 6/20/2006 Slide 8

OACE Prototype Primary Goal: Investigate how well Java applications integrate into and perform in a distributed combat system environment with legacy components S C E N A R I O D S 3 & I Q IFF SIM SigPro P / T -Search - Track SPY Prototype - Scheduler - Trackers -DXR Track Mg. Prototype - Track Formation. - Track Distrib - Identification SUWC AAWC Operator Displays Display Prototype -Tactical Picture -Display State Svr. Doctrine Prototype -Doctrine - Engagement Mgt. WCS Prototype - Engageability - Scheduling - Midcourse Guid. - Kill Eval. SPY C&D Weapons F C S S I M V L S S I M Simulation Prototype DRM FROM APPS & HOSTS INSTRUM- ENTATION Dynamic Resource Mgt. - QoS Specifications - Resource Monitoring - Application Monitoring - QoS Managers - Resource Management - Program Control CONTROL ACTIONS 6/20/2006 Slide 9

OACE Prototype Functional Block Diagram SM-2 SIM MISSILE FLYOUT WCS SIM MISSILE GENERATOR OTH FILTER ID SIM REMOTE SENSOR DATA SERVICE TO ALL CLIENTS ID REQUEST/ID DATA DOCTRINE SERVICE TO ALL CLIENTS SUWC AAWC OPERATOR ACTIONS DISPLAY SERVICE MANUAL ENG CONTROL TRACK LOAD GENERATOR TRACK UPDATES SM-2 ENG. REQ. S C E N A R I O MFAR SIM RADAR DATA MFAR ADAPER TRACK UPDATES ID DATA A LOCAL TRACK DATA SERVICE SENSOR-DECLARED AUTO SPECIAL TO ALL CLIENTS SEMI AUTO DOCTRINE AUTO SM DOCTRINE AUTO SPCL DOCTRINE A/S TENT. TRACK SM-2 ENG. REQ. A/S ENG. REQ. ENGAGEMENT SERVICE SM ENG. ORDER NAVSSI SIM OWNSHIP ENTITY DS_19 NAVSSI ADAPTER TO ALL CLIENTS Simulation AAW C 2 Fault tolerant and/or Scalable C++ & Java Java Experiment UDP DDS Nav Data Service Track Data Service Consumer Consumer Doctrine Data Service OTH Track Service Consumer Consumer 6/20/2006 Slide 10

Experiment 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 scenario Instrumentation points inserted at identical points in the processing Language 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 Architecture 6/20/2006 Slide 11

Sensor-To-Shooter Instrumentation T1 MFAR SIM TRACK LOAD GENERATOR RADAR DATA T6 T1 MFAR ADAPTER TRACK UPDATES TRACK UPDATES T2 T3 A LOCAL TRACK DATA SERVICE TRACK UPDATES T4 T5 AUTO SPCL DOCTRINE T11 T12 T7 T8 SM-2 ENG. REQ. A/S ENG. REQ. ENGAGEMENT SERVICE T9 T10 SM ENG. ORDER A/S TENT. TRACK SENSOR-DECLARED AUTO SPECIAL T1 - Valid Time of Sensor Kinematic Data T2 - Time Track Data Received at Service T3 - Time Track Data Sent from Service T4 - Time Track Data Received at Consumer T5 Time Track Data Processed at Consumer T6 - Valid Sensor A/S Message Initiated T7 - A/S Message Received at Consumer T8 - A/S Engagement Request Sent T9 - A/S Engagement Request Received T10 - A/S Engage Order Sent T11 - A/S Periodic Processing Start T12 - A/S Periodic Processing Complete Tn Instrumentation point in OACE Prototype Tm Instrumentation point used for Java/C++ Comparison Simulation AAW C 2 Fault tolerant and/or Scalable C++ & Java 6/20/2006 Slide 12

Auto Special Activity Diagram Discovery Event Peer Monitor Real-Time Track Processing DDS Callback Sensor Declared A/S Track Proc Doctrine Statement Processing Ownship Data Processing Engagement Status Processing Periodic Doctrine Review Validate Event Route Event Update Peers Process Track Update Local Track Datastore T5 Validate Message Route Message T4 Process Track T7 Perform A/S Eval on Sensor Declared Track Update Local Doctrine Datastore Update Local Ownship Datastore Update Local Engagement Datastore Start Review Perform A/S Eval on all Tracks in Datastore End Review T11 T12 Send SM2 Engagement Request Send A/S Engagement Request T8 Tn Instrumentation point in OACE Prototype Tm Instrumentation point used for Java/C++ Comparison 6/20/2006 Slide 13

Scenario One hour data collection period for each configuration Common test harness & track scenario for C++ and Java Six surface tracks updated at 2Hz rate Seven pop-up tracks updated at 2Hz rate included 3 A/S engageable tracks 1000 background track load updated at ½ Hz rate 6/20/2006 Slide 14

Results 6/20/2006 Slide 15

Metrics Data will be provided 6/20/2006 Slide 16

Conclusions 6/20/2006 Slide 17

Evaluation Findings To Date Language 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 features May be able to tune GC products to significantly reduce number or size of outliers Just In Time (JIT) compilation May 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 6/20/2006 Slide 18

Observations Java 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 6/20/2006 Slide 19

Questions? 6/20/2006 Slide 20

Backup 6/20/2006 Slide 21