Java Environment for Parallel Realtime Development by msz78385

VIEWS: 0 PAGES: 23

									Java Environment for Parallel
Realtime Development

  Platform Independent Software Development
                       for Multicore Systems



                                  Ingo Prötel, aicas GmbH
                                      Computing Frontiers
                             6th of May 2008, Ischia, Italy
                     Jeopard—Java Environment for Parallel Realtime Development




    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
                Jeopard—Java Environment for Parallel Realtime Development


    Consortium Partners




3
                         Jeopard—Java Environment for Parallel Realtime Development


    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
                     Jeopard—Java Environment for Parallel Realtime Development


    Multilayered Approach
      Applications
      Tools
      API (Java and C)‫‏‬
      Java VM
      Operating Systems (RTOS)‫‏‬
      CPU Architecture


5
                                 Jeopard—Java Environment for Parallel Realtime Development


    Project Work Package Structure
    Corresponds to layered structure of the project

                                      Multi-Java Optimized Processor (JOP)‫‏‬
                                      HW support for synchronization
                                      Interface to application HW




      WP 2: Architecture Layer
6
                                 Jeopard—Java Environment for Parallel Realtime Development


    Project Work Package Structure
    Corresponds to layered structure of the project

                                      Extend partitioning OS
                                      – HAL

                                      – Microkernel API

                                      – Kernel validation

                                      Coordination between OS and Java
                                      threads
                                      − CPU usage measurement

          WP 3: OS Layer              − CPU budget



      WP 2: Architecture Layer
7
                                 Jeopard—Java Environment for Parallel Realtime Development


    Project Work Package Structure
    Corresponds to layered structure of the project

                                      Realtime Memory Management
                                      − Parallel and incremental

                                      Synchronization
                                      − Java Monitors

                                      − GC data structures

                                      − Sub-word data access
     WP 4: Virtual Machine Layer
                                      AOT-Compiler support
          WP 3: OS Layer


      WP 2: Architecture Layer
8
                                 Jeopard—Java Environment for Parallel Realtime Development


    Project Work Package Structure
    Corresponds to layered structure of the project

                                      OS level API
                                      Java level API
                                      Standardization
                                      − Multicore Association
          WP 5: API Layer
                                      − Java Community Process


     WP 4: Virtual Machine Layer


          WP 3: OS Layer


      WP 2: Architecture Layer
9
                                  Jeopard—Java Environment for Parallel Realtime Development


     Project Work Package Structure
     Corresponds to layered structure of the project

                                       Static Analysis for Correctness
                                       Fresco contract model for Java
         WP 6: Analysis Tools          Concurrent Unit Testing FW
           WP 5: API Layer


      WP 4: Virtual Machine Layer


           WP 3: OS Layer


       WP 2: Architecture Layer
10
                                  Jeopard—Java Environment for Parallel Realtime Development


     Project Work Package Structure
     Corresponds to layered structure of the project

           WP 7: Validation            Multicore Radar Processor
                                       Software Radio
         WP 6: Analysis Tools          Airlines Operation Communication
                                       Solution (on-board)‫‏‬
           WP 5: API Layer


      WP 4: Virtual Machine Layer


           WP 3: OS Layer


       WP 2: Architecture Layer
11
                                  Jeopard—Java Environment for Parallel Realtime Development


     Project Work Package Structure
     Corresponds to layered structure of the project

           WP 7: Validation




                                                                     WP 8: Dissemination & Exploitation
                                       WP 1: Requirements Analysis
         WP 6: Analysis Tools




                                                                                                          WP 9: Management
           WP 5: API Layer


      WP 4: Virtual Machine Layer


           WP 3: OS Layer


       WP 2: Architecture Layer
12
                 Jeopard—Java Environment for Parallel Realtime Development


     Expected Results: Multi-JOP




13
                        Jeopard—Java Environment for Parallel Realtime Development


     Expected Results: Jamaica on PikeOS
     Run in partition with POSIX identity using its own
     scheduler


                           Jamaica VM
                  P1                               P3
                                 POSIX

                       Pike OS microkernel

                       Multicore platform
14
                 Jeopard—Java Environment for Parallel Realtime Development


     Expected Results

                       Java application




       Java VM
                                     Multi-JOP

        RTOS


       MC-CPU    App. HW                FPGA
15
                 Jeopard—Java Environment for Parallel Realtime Development


     Expected Results

                       Java application


                    DFA

       Java VM
                                     Multi-JOP

        RTOS


       MC-CPU    App. HW                FPGA
16
                 Jeopard—Java Environment for Parallel Realtime Development


     Expected Results

                       Java application


                    DFA
                                                         Concurrent
       Java VM                                            Unit Test
                                     Multi-JOP
                                                           Java VM
        RTOS


       MC-CPU    App. HW                FPGA
17
                       Jeopard—Java Environment for Parallel Realtime Development


     Some Work Items (1)‫‏‬
       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
                       Jeopard—Java Environment for Parallel Realtime Development


     Some Work Items (2)‫‏‬
       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
                        Jeopard—Java Environment for Parallel Realtime Development


     Some Work Items (3)‫‏‬
      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
                     Jeopard—Java Environment for Parallel Realtime Development


     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).
     Technology Leadership in emerging multi-core
21   technology
                    Jeopard—Java Environment for Parallel Realtime Development


     Conclusion
     Jeopard will provide
      standard APIs for Java (multicore RTSJ) and C
     (multicore posix threads)‫‏‬
      scheduling technology for multicore RTOS
     (multicore PikeOS)
      scheduling and memory management technology
     for realtime Java VM (multicore JamaicaVM)‫‏‬
     multicore application analysis tools
22
     Jeopard—Java Environment for Parallel Realtime Development




             Questions ?




23

								
To top