understanding the role of real-time java in aegis warship...

17
1 © 2012, Atego. All Rights Reserved. © 2011 Atego. All Rights Reserved. Understanding the Role of Real-Time Java in Aegis Warship Modernization Dr. Kelvin Nilsen, Chief Technology Officer Java, Atego Systems

Upload: hatuong

Post on 16-Feb-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

1© 2012, Atego. All Rights Reserved.© 2011 Atego. All Rights Reserved.

Understanding the Role of Real-Time Javain Aegis Warship ModernizationDr. Kelvin Nilsen, Chief Technology Officer Java, Atego Systems

Page 2: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

2© 2012, Atego. All Rights Reserved.

Aegis Weapons System Overview

� The shield of the fleet, providing area air defense for a “carrier

battlegroup”, as well as long-range ballistic missile defense

� Computers monitor data from Radars, provide situational awareness

to human operators, and automate launching of interceptor missiles

� About 100 computers, many multi-core, providing end-to-end timing

guarantees of less than 100 ms on computations spanning many

computers

� Jitter constraints on “local” computations are well under one ms

Page 3: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

3© 2012, Atego. All Rights Reserved.

Why “Modernize” the Aegis Weapons Software?

� Original Aegis Weapons software ran on a mix of government-

specified UYK computers and some other systems, running custom

software mostly written in CMS-2

� The reliance on custom technology limited access to competition:

could not leverage economies of scale

� Step one: replace some UYK computers with COTS processors

� Replaced some CMS-2 code with Ada, C++, and Jovial applications

� But porting software to each new COTS hardware configuration

required considerable time and effort

� Aegis “Baseline 7” selected hardware in 1998, but first (of many

planned) deployment(s) was delayed until 2005

� Cannot afford the calendar time, nor the costs associated with continual

porting of the software to new platforms

Page 4: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

4© 2012, Atego. All Rights Reserved.

Key Objectives of Aegis Weapons System Modernization

�To decouple hardware from software, enabling all

deployed Aegis Combat Systems to undergo hardware

upgrades every 4 years and software upgrades every 2

years, on a staggered schedule (over 100 ships, plus

new land-based deployments)

�To enable competitive bidding for new software

capabilities, with new software components easily

integrated into the existing software infrastructure

without compromising existing software capabilities

Page 5: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

5© 2012, Atego. All Rights Reserved.

Original Software Architecture

Kill

Evaluation

Launcher

Management

Anti-Air Warfare

(AAW) Engageability

Track

Processing

Simultaneous

Phased Array (SPY)

Radar

Electro-Optic (EO)

Management

Command and

Decision (C&D)

Pre/Post Launch

Scheduler

Mid-Course

Guidance

Illumination

Management

Display

Management

Aegis Display

System (ADS)

Monolithic

Shared

Memory

Hosted by

Proprietary

SMP

Processors

Common shared memory

data access

Pro

prieta

ry inte

r-pro

cess c

om

munic

ation

About 200,000 lines of code

Page 6: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

6© 2012, Atego. All Rights Reserved.

Modernized Software Architecture

Simultaneous

Phased Array

Radar (SPY)

Engagement

Administrator

Light Airborne

Multi-Purpose

System

(LAMPS)

Helicopter

(Boundary)

Aegis Display

System (ADS)

Illuminator

(Broker)

Air

Administrator

Command

and Decision

(C&D)

Weapon

Resource

Schedule

Sensor

Resource

Broker

Operational

Readiness

and Test

(ORTS)

Adapter

Close-in

Weapons

(CIWS)

Broker

(Phalanx)

Command

and Control

(C2) Adapter

Aegis

Combat

Training

System

(ACTS)

Adapter

Launcher

Boundary

Display

Adapter

Session Factory

SessionSession

Session

Engagement Factory

Engage

mentEngage

mentEngage

ment

Target

Tracker

Missile Factory

MissileMissile

Missile

Target

Tracker

About 500,000 lines of “Real-Time Java” code

Page 7: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

7© 2012, Atego. All Rights Reserved.

� It is not the “Real-Time Specification for Java” (RTSJ)

� Real-Time Garbage Collection

– Typical applications enforce time constraints of 1-100 ms

� Portable Real-Time Scheduling and Synchronization

– Global dispatching always runs the N highest priority ready Java threads

on N available cores

– Implements priority inheritance on all Java synchronization locks

– Maintains all thread queues in priority order

– Optional use of extended priority range (1-32)

� Embedded integrations (RTOS, processors, ROM deployment)

� VM Management Services (monitor, control resource utilization)

� Improved Timing Services

– Monotonically increasing clock for global synchronization

What do we mean by “Real-Time Java”?

Page 8: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

8© 2012, Atego. All Rights Reserved.

Aspects of Real-Time Garbage Collection

� Key attributes of Perc Ultra real-time GC for SMP Java:

� Preemptive

� Incremental

� Accurate

� Defragmenting

� Paced

� Parallel and Concurrent

� Garbage collection is a service provided on behalf of application

� Generally runs at “low priority” due to long deadlines

� May inherit priority of any high-priority task that needs to allocate

� Threads that need to run at higher priority than garbage collection need to avoid allocating memory (in order to avoid priority inversion)

Page 9: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

9© 2012, Atego. All Rights Reserved.

Incremental Mark and Sweep GC

FreeLists

ScanList

ListEnd

RootPointers

Live, Unmarked

Marked, UnscannedDead

Allocatable Marked, Scanned

Page 10: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

10© 2012, Atego. All Rights Reserved.

Fully Copying Garbage Collection

� Incrementally copy objects from from-space into to-space

� Redirect memory accesses between Relocated and

Reserved

A CB

C’ B’ A’

ReservedRelocated

To-space:

From-space:

New

Page 11: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

11© 2012, Atego. All Rights Reserved.

Implementation Approach

� Every object has a valid-copy pointer contained within its

header

A CB

C’ B’ A’

ReservedRelocated

To-space:

From-space:

Page 12: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

12© 2012, Atego. All Rights Reserved.

Mostly Stationary Garbage Collection

FreeLists

ScanList

ListEnd

RootPointers

Incremental mark and sweep region

To space:From space:

Page 13: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

13© 2012, Atego. All Rights Reserved.

Pacing of Garbage Collection

Real Time (seconds)

10

20

30

20%

40%

60%

80%

100%

550 700650600

Preemption of GC by higher prioritynon-Java threads

Preemption of GC by higherPriority Java threads

Page 14: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

14© 2012, Atego. All Rights Reserved.

Project Results

� “I can say it was a roaring success for us.” – Andrew Winkler,

Chief Software Architect, Lockheed Martin Aegis Open Architecture

� Existing software engineers (previously proficient in Ada or CMS-2)

quickly adapted to Java

� The Eclipse Integrated Development Environment, debugging

support, and COTS Java tools represented huge improvements

� Implemented Aegis Air Defense Warfare software (150K SLOC),

including test, evaluation, and requirements verification, in 18

months – “Phenomenal”

� Verified 3,500 requirements to Navy satisfaction in 5 months (9-

fold improvement over previous best practice)

Page 15: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

15© 2012, Atego. All Rights Reserved.

Project Results (part 2)

� First deployment based on new Open Aegis Architecture required

only 3 years from hardware selection (vs. 7 years)

� Support for a traditional deployment style (AoT compile and link)

satisfied Navy export restrictions (Aegis is shared with many allies)

� After “completing” the Open Aegis Architecture modernization,

support for “Standard Missile 6” was added in only 3 months (vs. 1

full year previously)

Page 16: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

16© 2012, Atego. All Rights Reserved.

Conclusions

� “Real-time Java” can provide important value to large and complex

dynamic soft real-time systems

� Soft real-time systems require empirical techniques within a

theoretically sound analysis and implementation architecture

� Object-oriented encapsulation and modular composition are critical to

the success of this effort

� Portability across diverse and evolving hardware and operating

system platforms was perhaps even more critical to the success of

this project

� Use of COTS software technologies can leverage high-volume

economies of scale to the benefit of mission-critical and even safety-

critical systems

Page 17: Understanding the Role of Real-Time Java in Aegis Warship ...conferences.computer.org/stc/2013/papers/0001a044.pdf · Understanding the Role of Real-Time Java in Aegis Warship Modernization

17© 2012, Atego. All Rights Reserved.

Acronyms

� AoT: Ahead-of-Time

� CMS-2: Compiler Monitor System

2 (a programming language)

� COTS: commercial off-the-shelf

� CPU: Central Processor Unit

� GC: Garbage Collection

� J2SE: Java 2 Standard Edition

� ms: millisecond

� ROM: Read-Only Memory

� RTOS: Real-Time Operating

System

� RTSJ: Real-Time Specification for

Java

� SLOC: Significant Lines of Code

� SMP: Symmetric Multi-Processor

� VM: (Java) Virtual Machine