Enhancing the Platform Independence of the Real-Time Specification for Java Andy Wellings, Yang Chang and Tom Richardson University of York.

Slides:



Advertisements
Similar presentations
Introduction to Embedded Systems Resource Management - III Lecture 19.
Advertisements

The Leading Edge of Real-Time and Embedded Solutions Real Time OSGi Glenn Coates, Sr. Design Consultant.
2013/06/10 Yun-Chung Yang Kandemir, M., Yemliha, T. ; Kultursay, E. Pennsylvania State Univ., University Park, PA, USA Design Automation Conference (DAC),
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
CPU Scheduling CS 3100 CPU Scheduling1. Objectives To introduce CPU scheduling, which is the basis for multiprogrammed operating systems To describe various.
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.
Scheduling Theory ITV Real-Time Systems Anders P. Ravn Aalborg University March 2007.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
© Andy Wellings, 2003 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Using JetBench to Evaluate the Efficiency of Multiprocessor Support for Parallel Processing HaiTao Mei and Andy Wellings Department of Computer Science.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
MultiPARTES Towards Model-Driven Engineering for Mixed- Criticality Systems: MultiPARTES Approach A. Alonso, C. Jouvray, S. Trujillo, M.A. de Miguel, C.
Computer System Architectures Computer System Software
Towards a Contract-based Fault-tolerant Scheduling Framework for Distributed Real-time Systems Abhilash Thekkilakattil, Huseyin Aysan and Sasikumar Punnekkat.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems Wanghong Yuan, Klara Nahrstedt Department of Computer Science University of.
Multicore Resource Management 謝政宏. 2 Outline Background Virtual Private Machines  Spatial Component  Temporal Component  Minimum and Maximum.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Embedded Multicore processing for Mobile Communications Real-time Contracts and Thread Profiling York Jack Whitham.
EEL Software development for real-time engineering systems.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Clock Driven Scheduling By Dr. Amin Danial Asham.
PRET-OS for Biomedical Devices A Part IV Project.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
1 G53SRP: Introduction to Real Time Specification for Java (RTSJ) Chris Greenhalgh School of Computer Science Including material © Andy Wellings from his.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Operating Systems: Internals and Design Principles
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Real-Time Scheduling II: Compositional Scheduling Framework Insik Shin Dept. of Computer Science KAIST.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Defects of the POSIX Sporadic Server and How to Correct Them
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Dynamic Priority Driven Scheduling of Periodic Task
For a good summary, visit:
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
11 G53SRP: Feasibility analysis Chris Greenhalgh School of Computer Science.
December 13, G raphical A symmetric P rocessing Prototype Presentation December 13, 2004.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Unit OS9: Real-Time and Embedded Systems
Chapter 25: Architecture and Product Lines
Clock Driven Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Modified by H. Schulzrinne 02/15/10 Chapter 4: Threads.
Chapter 2: The Linux System Part 3
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
The End Of The Line For Static Cyclic Scheduling?
Module 5: CPU Scheduling
Presentation transcript:

Enhancing the Platform Independence of the Real-Time Specification for Java Andy Wellings, Yang Chang and Tom Richardson University of York

Slide 2 (of 24) Agenda Motivation Contracts and Resource Partitioning Resource Contracts and the RTSJ The JEOPARD Project

Slide 3 (of 24) Motivation I The RTSJ supports an environment that facilitates on-line feasibility analysis An RTSJ program is normally run on an execution platform that might be shared with other applications In order for the RTSJ scheduler to provide guarantees, it must negotiate (or be given) a contract with the underlying OS which guarantees a minimum level of access to the physical resources of the platform Operating systems often provide this support via reservation- based scheduling techniques

Slide 4 (of 24) Motivation II Applications with different criticality and timing requirements need to dynamically share the same hardware platform Reserving resources for each application is key to satisfying applications' dramatically different requirements It is also important to reserve resources for application components

Slide 5 (of 24) Motivation III We want to produce component-based real- time systems

Slide 6 (of 24) Resource Partitioning In general there are two main approaches to partitioning the processor resource:  using execution-time servers and  via time-slicing

Slide 7 (of 24) Execution-Time Servers Initially introduced in order to ensure that servicing soft aperiodic activities would not impact on the hard periodic and sporadic activities (termed aperiodic servers or periodic servers) Servers are an accounting mechanism; they need not have physically processes or threads at run-time All the approaches have the notion of a capacity and a replenishment period A key distinguishing characteristics between them is the extent to which they preserve their capacity if there is no current aperiodic activity (bandwidth preserving)

Slide 8 (of 24) Execution-Time Servers Servers have also been used to implement composable real- time embedded systems For composition, the key requirement is that the server must be guaranteed its budget each period; i.e it must be possible for the server to consume all its budget on each release To support aperiodic execution, it is sufficient that the aperiodic server consumes no more than its budget each period  Hence the budget can be greater than can be guaranteed

Slide 9 (of 24) Time Slicing Execution-time servers  Not deterministic enough to be used for the purposes of separating applications with different criticality and stopping fault propagation Alternative way of preserving resources is via time slicing  widely used in many industrial application areas, especially in avionic systems

Slide 10 (of 24) Partitioning In a uniprocessor system time slicing system  applications are often scheduled on a fixed, cyclic basis,  implemented by maintaining a fixed length major time frame composed of fixed scheduling windows and repeating such a scheduling scheme Such an approach is often called partitioning  Each partition (application) is allocated to one or more scheduling windows in the major time frame  Different partitions can never share a scheduling window A scheduling window can be defined by its offset from the beginning of its major time frame and its length  Individual scheduling windows do not overlap but gaps between them are allowed

Slide 11 (of 24) Example Partition

Slide 12 (of 24) Resource contracts and the RTSJ Several approaches that could be taken to  Support directly the JSR-284 Resource Management API  However, this is a heavy-weight mechanism, and the RTSJ already has a framework for monitoring the CPU resource  The alternative is to integrate into the RTSJ the real-time approaches previously considered  This can be done either via the execution-time server approach or the time slicing approach  The RTSJ already supports a form of execution-time servers via the ProcessingGroupParameter class

Slide 13 (of 24) Resource contracts and PGP ProcessingGroupParameter is primarily used to support aperiodic activities and allows the group to consume no more than its budget each period For composition and partitioning, what is required is to ensure that a processing group is guaranteed its budget each period

Slide 14 (of 24) Contracts External contract  The contract the real-time JVM has with the underlying OS that guarantees a certain quality of service. This contract is enforced by the OS.  It is visible to the RTSJ scheduler but may or may not be visible to the application Internal contract  The contract a component of the program has with the RTSJ scheduler that guarantees a certain quality of service from the real-time JVM.  This contract is enforced by the real-time JVM and is invisible to the OS – a form of PGP (called Execution-Time Server)

Slide 15 (of 24) Use Cases External and internal contracts pre- negotiated and statically allocated External contracts pre-negotiated and statically allocated. Internal contracts dynamically negotiated. All contracts dynamically negotiated

Slide 16 (of 24) The JEOPARD Project Strategic objective: to provide the tools for platform independent development of predictable systems that make use of SMP multicore platforms. Focus of this talk:  The overall model for constructing and guaranteeing components, applications and systems.  The implementation on top of a multicore/multiprocessor version of the PikeOS

Slide 17 (of 24) JEOPARD Context More than one application share the same multiprocessor platform  Each application has an external contract with the OS An application consists of separately developed (potentially) multi-threaded components  Each component has an internal contract with the RT-JVM A contract is specified as  Min C, Max T, Min Processors, Max Processors

Slide 18 (of 24) Component Contract Analysis

Slide 19 (of 24) Application Contract Analysis

Slide 20 (of 24) Multiprocessor PikeOS Schedulling

Slide 21 (of 24) System-level PikeOS Analysis

Slide 22 (of 24) RTSJ-Level Analysis

Slide 23 (of 24) Summary of Concepts

Slide 24 (of 24) Conclusions The RTSJ tries to continue Java ’ s platform independence Silent on many issues of on-line feasibility analysis Both external and internal contracts needed Internal at least needs to be standardised There is need for a better “ grouping ” mechanisms in RTSJ