CDx: A Family of Real-time Java Benchmarks Tomas Kalibera, Jeff - - PowerPoint PPT Presentation

cdx a family of real time java benchmarks
SMART_READER_LITE
LIVE PREVIEW

CDx: A Family of Real-time Java Benchmarks Tomas Kalibera, Jeff - - PowerPoint PPT Presentation

CDx: A Family of Real-time Java Benchmarks Tomas Kalibera, Jeff Hagelberg, Filip Pizlo, Ales Plsek, Ben Titzer, Jan Vitek Purdue University Real-time Java Applications Shipboard computing US Navy DDG1000 Destroyer ( 5 mio lines of code,


slide-1
SLIDE 1

CDx: A Family of Real-time Java Benchmarks

Tomas Kalibera, Jeff Hagelberg, Filip Pizlo, Ales Plsek, Ben Titzer, Jan Vitek Purdue University

slide-2
SLIDE 2

Real-time Java Applications

  • Shipboard computing
  • US Navy DDG1000 Destroyer (5 mio lines of code,

RTGC)

  • Avionics
  • Zedasoft's Java Flight Simulator
  • Boeing ScanEagle UAV
  • EADS Barracuda UAV
  • Financial information and trading systems
slide-3
SLIDE 3

Real-time Java Applications

  • Shipboard computing
  • US Navy DDG1000 Destroyer (5 mio lines of code,

RTGC)

  • Avionics
  • Zedasoft's Java Flight Simulator
  • Boeing ScanEagle UAV
  • EADS Barracuda UAV
  • Financial information and trading systems
slide-4
SLIDE 4

Real-time Java Benchmarks

  • Micro-benchmarks – low-level latencies
  • Suramadu
  • RTJPerf
  • Adapted non-rt benchmarks
  • SPEC JBB RT 2005
  • Available real-time application benchmarks ?
slide-5
SLIDE 5

(Computer) Benchmark Is...

A model application of a real application, which is easier to run than the real application, but still bears performance characteristics representative of the real application The model should be close enough to capture interplay of many aspects of the application, execution environment, operating system, and hardware, including those we did not anticipate

  • r could not analyze...
slide-6
SLIDE 6

Hard Real-time Systems

  • Operations have deadlines that must never be

missed

  • Systems designed to be provable not to miss a

deadline (schedulability analysis), which requires further simplifications, i.e.

  • i.e. periodic tasks with a fixed period and limited

communication

  • Lots of slack time
slide-7
SLIDE 7

Real-time Application Benchmark for Java Should...

  • Have deadlines
  • Challenging enough for underlying hardware
  • Comparable to deadlines in real applications
  • Never miss deadlines
  • Checking of deadlines should be included
  • Programs/configurations with even rarely missed deadlines

should be fixed or discarded

  • Designed to be (once) provable schedulable
  • Slack time, periodic tasks, …
  • (Use real-time features and API - RTSJ...)
slide-8
SLIDE 8

CDx: Aircraft Collision Detector

Radar (Air traffic simulator) Collision detector Radar frames

slide-9
SLIDE 9

CDx: Aircraft Collision Detector

Radar (Air traffic simulator) Collision detector Radar frames

slide-10
SLIDE 10

Air Traffic Simulator

  • Aircraft trajectory configurations
  • Text file, aircraft per line
  • Functions for every coordinate in time

– x(t), y(t), z(t) – Common math functions (goniometric, trigonometric, …)

Call sign x(t) z(t) y(t)

slide-11
SLIDE 11

Synthetic Air Traffic Examples

slide-12
SLIDE 12

CDx: Aircraft Collision Detector

Radar (Air traffic simulator) Collision detector Radar frames

slide-13
SLIDE 13

Radar Frame

  • Current position of every aircraft
  • Aircraft identified by a call sign (string)
  • Includes 3-d coordinates of every aircraft
slide-14
SLIDE 14

CDx: Aircraft Collision Detector

Radar (Air traffic simulator) Collision detector Radar frames

slide-15
SLIDE 15

Collision Detector

  • Periodic real-time task (i.e. 10ms, 4ms)
  • Processes a single radar frame per release
  • Algorithm
  • 1. Calculate motion vectors of aircraft based on last

known positions (previous radar frame)

  • 2. Identify 2-d (x,y) quadrants with multiple aircraft
  • 3. Detect 3-d collisions in the 2-d quadrants
slide-16
SLIDE 16

Instrumentation and Measurement

t j

s

t j

c

t j1

r

t j

r

R j C j T J j

slide-17
SLIDE 17

Sample Results: Response Time

Histogram Box-plot Run-sequence plot

slide-18
SLIDE 18

Detector Configurations

  • RTSJ with scoped memory
  • RTSJ with RTGC
  • Plain Java
  • (Upcoming) SCJ with scoped memory
slide-19
SLIDE 19

Simulator Configurations

  • Full simulation (non-RT application)
  • Pre-simulation to memory buffer or concurrent

execution with detector

  • Reading from binary file
  • Air traffic is loaded from file into memory at start-up
  • Self-contained air traffic
  • The byte-code includes pre-compiled air traffic
  • For embedded systems / verification tools
slide-20
SLIDE 20

Noise Generators

  • Stress for memory management
  • Allocation in detector not challenging enough even

under highly synthetic air traffic with many collisions

  • Configurable allocation noise generator in detector
  • Background noise
  • Cdx only has real-time tasks and only one
  • Running SPEC JVM 98 javac at the background
  • Running the air traffic simulator concurrently with

detector

slide-21
SLIDE 21

Limitations

  • CD application logic
  • Not designed for worst-case
  • Never used in a real system (not necessarily

realistic)

  • Complexity
  • Only a single periodic task

… we need more real-time Java application benchmarks ! (one is not enough)

slide-22
SLIDE 22

Summary

  • CDx is a family of real-time Java application

benchmarks for

  • RTSJ with scopes
  • RTSJ with RTGC
  • (and runs in plain Java)
  • Implements a simple real-time application
  • Single periodic task with a deadline
  • Open source

http://www.ovmj.org/cdx http://www.cs.purdue.edu/~tkaliber/cdx