Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems Ingo Prötel, aicas GmbH Computing Frontiers 6 th of May 2008, Ischia, Italy
Jeopard-Project: Java Envorinment for Parallel Realtime Development Project Details: 7th FP Objective ICT-2007.3.4: Computing Systems started January, 2008 M-Lead: The Open Group T-Lead: aicas GmbH 2
Consortium Partners Jeopard Java Environment for Parallel Realtime Development 3
Project Goal Provide a platform independent software development environment for complex safe Realtime multicore systems. Leverage off existing technology and past projects: Java, RTSJ, SC-Java AJACS, HIDOORS, HIJA, FRESCOR 4
Multilayered Approach Applications Tools ( C API (Java and Java VM ( RTOS ) Operating Systems CPU Architecture 5
Project Work Package Structure Corresponds to layered structure of the project ( JOP ) Multi-Java Optimized Processor HW support for synchronization Interface to application HW 6 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 3: OS Layer Extend partitioning OS HAL Microkernel API Kernel validation Coordination between OS and Java threads CPU usage measurement CPU budget 7 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 4: Virtual Machine Layer Realtime Memory Management Parallel and incremental Synchronization Java Monitors GC data structures Sub-word data access AOT-Compiler support WP 3: OS Layer 8 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 5: API Layer OS level API Java level API Standardization Multicore Association Java Community Process WP 4: Virtual Machine Layer WP 3: OS Layer 9 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 6: Analysis Tools Static Analysis for Correctness Fresco contract model for Java Concurrent Unit Testing FW WP 5: API Layer WP 4: Virtual Machine Layer WP 3: OS Layer 10 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 7: Validation WP 6: Analysis Tools WP 5: API Layer Multicore Radar Processor Software Radio Airlines Operation Communication ( on-board ) Solution WP 4: Virtual Machine Layer WP 3: OS Layer 11 WP 2: Architecture Layer
Project Work Package Structure Corresponds to layered structure of the project WP 7: Validation WP 6: Analysis Tools WP 5: API Layer WP 4: Virtual Machine Layer WP 3: OS Layer WP 1: Requirements Analysis WP 8: Dissemination & Exploitation WP 9: Management 12 WP 2: Architecture Layer
Expected Results: Multi-JOP 13
Expected Results: Jamaica on PikeOS Run in partition with POSIX identity using its own scheduler P1 Jamaica VM POSIX Pike OS microkernel Multicore platform P3 14
Expected Results Jeopard Java Environment for Parallel Realtime Development Java application Java VM Multi-JOP RTOS 15 MC-CPU App. HW FPGA
Expected Results Jeopard Java Environment for Parallel Realtime Development Java application DFA Java VM Multi-JOP RTOS 16 MC-CPU App. HW FPGA
Expected Results Jeopard Java Environment for Parallel Realtime Development Java application Java VM DFA Multi-JOP Concurrent Unit Test RTOS Java VM 17 MC-CPU App. HW FPGA
( 1 ) Some Work Items Parallel deterministic garbage collection Root scanning of multiple cores Parallel mark and sweep Locking of global data structures CPU partitioning on a multicore system Logical vs. physical CPU 18
( 2 ) Some Work Items Realtime parallel scheduling OS scheduler provides CPU time on a set of CPUs Java scheduler assigns threads to CPUs Use concurrency information from static analysis Safety and Security on multicore 19
( 3 ) Some Work Items Nonfunctional analysis on multicore Show lack of deadlocks Identify race conditions Escape analysis Unit testing for multicore Simulate fully parallel environment Prune test cases 20
Expected Technical Impact Reduced SW Development Cost through standardised APIs that permit interoperability and reuse of code on different platforms Higher Reliability through analysis tools Reduced Time-to-Market through standardized development methods (Java) even for critical embedded applications (e.g., in avionics, automotive, industrial markets). 21 Technology Leadership in emerging multi-core technology
Conclusion Jeopard will provide standard APIs for Java (multicore RTSJ) and C ( threads (multicore posix scheduling technology for multicore RTOS (multicore PikeOS) scheduling and memory management technology ( JamaicaVM for realtime Java VM (multicore multicore application analysis tools 22
Questions? 23