Presentation is loading. Please wait.

Presentation is loading. Please wait.

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-

Similar presentations


Presentation on theme: "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-"— Presentation transcript:

1 Real-Time CORBA By Christopher Bolduc

2 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

3 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

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

5 Components Affecting Predictability

6 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

7 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

8 Real-Time CORBA Priority

9 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

10 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

11 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

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

13 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

14 References http://en.wikipedia.org/wiki/Real- time_computing http://en.wikipedia.org/wiki/Real- time_computing http://www.ois.com/Products/What-is-Real- time-CORBA.html http://www.ois.com/Products/What-is-Real- time-CORBA.html http://www.ois.com/Products/What-is-Real- time-CORBA.html http://www.ois.com/Products/What-is-Real- 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) ‏


Download ppt "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-"

Similar presentations


Ads by Google