Real-Time CORBA By Christopher Bolduc. What is Real-Time? Real-time computing is the study of hardware and software systems that are subject to a “real-

Slides:



Advertisements
Similar presentations
Real Time Scheduling.
Advertisements

1 Real-time Linux Evaluation Kalynnda Berens, GRC
Introduction to Embedded Systems Resource Management - III Lecture 19.
Categories of I/O Devices
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 20: Multimedia Systems.
Real-time concepts Lin Zhong ELEC424, Fall Real time Correctness – Logical correctness – Timing Hard vs. Soft – Hard: lateness is intolerable Pass/Fail.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Embedded and Real Time Systems Lecture #4 David Andrews
WPDRTS ’05 1 Workshop on Parallel and Distributed Real-Time Systems 2005 April 4th and 5th, 2005, Denver, Colorado Challenge Problem Session Detection.
Chapter 13 Embedded Systems
CprE 458/558: Real-Time Systems
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Real-time Publish/subscribe ECE Expert Topic Lizhong Cao Milenko Petrovic March 6 th,2003.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
The Design and Performance of A Real-Time CORBA Scheduling Service Christopher Gill, David Levine, Douglas Schmidt.
Real Time Process Control (Introduction)
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 19/20: Real-time and Multimedia Systems Inclusions from Tanenbaum,
TEMPORAL DATA AND REAL- TIME ALGORITHMS CHAPTER 4 – GROUP 3.
Distributed Multimedia March 19, Distributed Multimedia What is Distributed Multimedia?  Large quantities of distributed data  Typically streamed.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Dr. M. Munlin Real-Time and Multimedia Systems 1 NETE0516 Operating Systems Instructor: ผ. ศ. ดร. หมัดอามีน หมัน หลิน Faculty of Information Science and.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Scheduling policies for real- time embedded systems.
Software Dynamics: A New Method of Evaluating Real-Time Performance of Distributed Systems Janusz Zalewski Computer Science Florida Gulf Coast University.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Introduction to Embedded Systems Rabie A. Ramadan 5.
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Lecture 6: Real-Time Scheduling
Real-Time Operating Systems RTOS For Embedded systems.
Survey 2: RT-CORBA Group A3 Ka Hou Wong Jahanzeb Faizan Jonathan Sippel.
Chapter 20: Multimedia Systems
REAL-TIME OPERATING SYSTEMS
Multimedia Systems Operating System Presentation On
Chapter 19: Real-Time Systems
Chapter 20: Multimedia Systems
Lecture 12: Real-Time Scheduling
Implementing RT-CORBA Spec in TAO
Real Time Operating System
Real-time Software Design
Chapter 20: Multimedia Systems
Realtime Scheduling Algorithms
Real-time Linux Evaluation
Embedded Operating Systems
Overview of AIGA platform
EE 472 – Embedded Systems Dr. Shwetak Patel.
NET 424: REAL-TIME SYSTEMS (Practical Part)
Chapter 19: Real-Time Systems
Chapter 20: Multimedia Systems
Real-Time Process Scheduling Concepts, Design and Implementations
Chapter 20: Multimedia Systems
Real-Time Process Scheduling Concepts, Design and Implementations
Chapter 20: Multimedia Systems
Anand Bhat*, Soheil Samii†, Raj Rajkumar* *Carnegie Mellon University
An Interactive Browser For BaBar Databases
Presentation transcript:

Real-Time CORBA By Christopher Bolduc

What is Real-Time? Real-time computing is the study of hardware and software systems that are subject to a “real- time constraint” Real-time computing is the study of hardware and software systems that are subject to a “real- time constraint” The real-time constraint is a set of operational deadlines The real-time constraint is a set of operational deadlines

Deadlines Some programs are useless if they don’t run within a desired timeframe Some programs are useless if they don’t run within a desired timeframe A frame of live streaming video must be encoded before a certain time to be considered live A frame of live streaming video must be encoded before a certain time to be considered live VOIP data must arrive before a certain latency timeframe VOIP data must arrive before a certain latency timeframe Antilock brakes must deploy before a vehicle crashes Antilock brakes must deploy before a vehicle crashes A nuclear reactor must lower its core temperature before a meltdown occurs A nuclear reactor must lower its core temperature before a meltdown occurs A real-time program fails if it does not do this A real-time program fails if it does not do this

End-to-End System Predictability What affects it? What affects it?

Components Affecting Predictability

Fixed Priority Scheduling Similar to thread priority in single-CPU systems Similar to thread priority in single-CPU systems Determine static priority levels for each task Determine static priority levels for each task Based on a scheduling methodology such as Based on a scheduling methodology such as rate monotonic analysis (RMA) ‏ rate monotonic analysis (RMA) ‏ or deadline monotonic analysis or deadline monotonic analysis Can change the priority, but it is predetermined Can change the priority, but it is predetermined

Real-Time CORBA Priority What is it? What is it? How to relate native operating system priority throughout the system consistently How to relate native operating system priority throughout the system consistently How to handle communication requests from clients to the server without unexpected priority changes How to handle communication requests from clients to the server without unexpected priority changes Part of the message to the server includes a map from OS Priority to RT CORBA Priority Part of the message to the server includes a map from OS Priority to RT CORBA Priority

Real-Time CORBA Priority

Priority Banding Allows the software developer to separate different types of traffic by priority Allows the software developer to separate different types of traffic by priority Also to dedicate separate connections between the client and server for each priority "band,” or set of CORBA priority levels Also to dedicate separate connections between the client and server for each priority "band,” or set of CORBA priority levels Why do this? Why do this? Increased traffic predictability Increased traffic predictability Minimizes risk of priority inversions Minimizes risk of priority inversions

Thread Pools Need to manage resources according to priority Need to manage resources according to priority Ensure high priority connections have dedicated resources Ensure high priority connections have dedicated resources Keep lower-priority applications from blocking Keep lower-priority applications from blocking Special Real-time CORBA mutex Special Real-time CORBA mutex

Soft Real-time CORBA Favors command optimization over worst-case performance Favors command optimization over worst-case performance Does not require definite upper bound Does not require definite upper bound Some priority inversions are acceptable Some priority inversions are acceptable

Hard Real-time CORBA All components in the system (Real-time OS, ORB, and transport) must use predictable, schedulable logic. All components in the system (Real-time OS, ORB, and transport) must use predictable, schedulable logic. If any one of these is unpredictable, the entire system is unpredictable. If any one of these is unpredictable, the entire system is unpredictable.

Summary Real-time CORBA provides real-time computing by Real-time CORBA provides real-time computing by Creating standardized CORBA thread priorities Creating standardized CORBA thread priorities Mapping these priorities to OS thread priorities Mapping these priorities to OS thread priorities Banding different priority classes together when data is in transport Banding different priority classes together when data is in transport Providing special channels to high-priority transport Providing special channels to high-priority transport In hard real-time distributed systems, requiring all components of the system to be predictable In hard real-time distributed systems, requiring all components of the system to be predictable

References time_computing time_computing time-CORBA.html time-CORBA.html time-CORBA.html time-CORBA.html OMG, Real-Time CORBA Joint Revised Submission, OMG TC Document orbos, March (1999) ‏ OMG, Real-Time CORBA Joint Revised Submission, OMG TC Document orbos, March (1999) ‏