14
Real-Time CORBA Real-Time CORBA By Christopher Bolduc By Christopher Bolduc

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-

Embed Size (px)

Citation preview

Page 1: 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-

Real-Time Real-Time CORBACORBA

By Christopher BolducBy Christopher Bolduc

Page 2: 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-

What is Real-Time?What is Real-Time?

Real-time computing is the study of Real-time computing is the study of hardware and software systems that hardware and software systems that are subject to a “real-time are subject to a “real-time constraint”constraint”

The real-time constraint is a set of The real-time constraint is a set of operational deadlinesoperational deadlines

Page 3: 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-

DeadlinesDeadlines

Some programs are useless if they don’t Some programs are useless if they don’t run within a desired timeframerun within a desired timeframe A frame of live streaming video must be A frame of live streaming video must be

encoded before a certain time to be encoded before a certain time to be considered liveconsidered live

VOIP data must arrive before a certain latency VOIP data must arrive before a certain latency timeframetimeframe

Antilock brakes must deploy before a vehicle Antilock brakes must deploy before a vehicle crashescrashes

A nuclear reactor must lower its core A nuclear reactor must lower its core temperature before a meltdown occurstemperature before a meltdown occurs

A real-time program A real-time program failsfails if it does not do if it does not do thisthis

Page 4: 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-

End-to-End System End-to-End System PredictabilityPredictability

What affects it?What affects it?

Page 5: 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-

Components Affecting Components Affecting PredictabilityPredictability

Page 6: 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-

Fixed Priority SchedulingFixed Priority Scheduling

Similar to thread priority in single-Similar to thread priority in single-CPU systemsCPU systems

Determine static priority levels for Determine static priority levels for each task each task

Based on a scheduling methodology Based on a scheduling methodology such assuch as rate monotonic analysis (RMA)rate monotonic analysis (RMA) or deadline monotonic analysis or deadline monotonic analysis

Can change the priority, but it is Can change the priority, but it is predeterminedpredetermined

Page 7: 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-

Real-Time CORBA Real-Time CORBA PriorityPriority

What is it?What is it? How to relate native operating How to relate native operating

system priority throughout the system priority throughout the system consistentlysystem consistently

How to handle communication How to handle communication requests from clients to the server requests from clients to the server without unexpected priority changeswithout unexpected priority changes

Part of the message to the server Part of the message to the server includes a map from OS Priority to includes a map from OS Priority to RT CORBA PriorityRT CORBA Priority

Page 8: 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-

Real-Time CORBA Real-Time CORBA PriorityPriority

Page 9: 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-

Priority BandingPriority Banding

Allows the software developer to Allows the software developer to separate different types of traffic by separate different types of traffic by prioritypriority

Also to dedicate separate Also to dedicate separate connections between the client and connections between the client and server for each priority "band,” or server for each priority "band,” or set of CORBA priority levelsset of CORBA priority levels

Why do this?Why do this? Increased traffic predictabilityIncreased traffic predictability Minimizes risk of priority inversionsMinimizes risk of priority inversions

Page 10: 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-

Thread PoolsThread Pools

Need to manage resources Need to manage resources according to priorityaccording to priority

Ensure high priority connections Ensure high priority connections have dedicated resourceshave dedicated resources

Keep lower-priority applications Keep lower-priority applications from blockingfrom blocking

Special Real-time CORBA mutexSpecial Real-time CORBA mutex

Page 11: 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-

Soft Real-time CORBASoft Real-time CORBA

Favors command optimization over Favors command optimization over worst-case performanceworst-case performance

Does not require definite upper Does not require definite upper boundbound

Some priority inversions are Some priority inversions are acceptableacceptable

Page 12: 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-

Hard Real-time CORBAHard Real-time CORBA

All components in the system (Real-All components in the system (Real-time OS, ORB, and transport) must time OS, ORB, and transport) must use predictable, schedulable logic.use predictable, schedulable logic.

If any one of these is unpredictable, If any one of these is unpredictable, the entire system is unpredictable.the entire system is unpredictable.

Page 13: 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-

SummarySummary

Real-time CORBA provides real-time Real-time CORBA provides real-time computing bycomputing by Creating standardized CORBA thread Creating standardized CORBA thread

prioritiespriorities Mapping these priorities to OS thread Mapping these priorities to OS thread

prioritiespriorities Banding different priority classes Banding different priority classes

together when data is in transporttogether when data is in transport Providing special channels to high-Providing special channels to high-

priority transportpriority transport In hard real-time distributed systems, In hard real-time distributed systems,

requiring all components of the system requiring all components of the system to be predictableto be predictable

Page 14: 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-

ReferencesReferences

http://en.wikipedia.org/wiki/Real-http://en.wikipedia.org/wiki/Real-time_computingtime_computing

http://www.ois.com/Products/What-ishttp://www.ois.com/Products/What-is-Real-time-CORBA.html-Real-time-CORBA.html

OMG, Real-Time CORBA Joint OMG, Real-Time CORBA Joint Revised Submission, OMG TC Revised Submission, OMG TC Document orbos, March (1999)Document orbos, March (1999)