cdx a family of real time java benchmarks
play

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,


  1. CDx: A Family of Real-time Java Benchmarks Tomas Kalibera, Jeff Hagelberg, Filip Pizlo, Ales Plsek, Ben Titzer, Jan Vitek Purdue University

  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

  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

  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 ?

  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 or could not analyze...

  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

  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...)

  8. CDx: Aircraft Collision Detector Radar frames Collision detector Radar (Air traffic simulator)

  9. CDx: Aircraft Collision Detector Radar frames Collision detector Radar (Air traffic simulator)

  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) y(t) z(t)

  11. Synthetic Air Traffic Examples

  12. CDx: Aircraft Collision Detector Radar frames Collision detector Radar (Air traffic simulator)

  13. Radar Frame ● Current position of every aircraft ● Aircraft identified by a call sign (string) ● Includes 3-d coordinates of every aircraft

  14. CDx: Aircraft Collision Detector Radar frames Collision detector Radar (Air traffic simulator)

  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

  16. Instrumentation and Measurement T R j C j J j r s c r t j t j t j t j  1

  17. Sample Results: Response Time Histogram Box-plot Run-sequence plot

  18. Detector Configurations ● RTSJ with scoped memory ● RTSJ with RTGC ● Plain Java ● (Upcoming) SCJ with scoped memory

  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

  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

  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)

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend