460 likes | 562 Views
The Design and Performance of A Real-Time CORBA Scheduling Service Christopher Gill, David Levine, Douglas Schmidt. Overview of Paper Documentation of progression from static to dynamic scheduling for avionics applications with deterministic Real-Time requirements.
E N D
The Design and Performance of A Real-Time CORBA Scheduling ServiceChristopher Gill, David Levine, Douglas Schmidt
Overview of Paper • Documentation of progression from static to dynamic scheduling for avionics applications with deterministic Real-Time requirements. • Flexible scheduling service framework in real-time CORBA implementation(TAO), which efficiently supports core scheduling strategies like RMS, EDF,MLF, and MUF. • Results from simulations and empirical benchmarks that quantify the behavior of these scheduling strategies and assess the overhead of dynamic scheduling in TAO
Progression from static to dynamic scheduling for avionics applications Design and implementation challenges for real-time application design for avionic systems 1. Scheduling assurance prior to run-time 2. Severe resource limitation 3. Distributed processing 4. Testability 5. Adaptability across product families 6. Statistical real-time requirement - Built-in-test - Low priority display queues 7. Deterministic Real time requirements - Mission computing task - Weapon release -Navigations
Assumptions 1. Bounded Executions: Operations stay within the limits of their advertised execution times 2. Bounded rates: dispatch requests will arrive within the advertised period and quantity values 3. Known operations: all operations are known to the scheduler before run-time are reflected entirely within the execution times of other advertised operations
Overview of Scheduling Strategies Static Scheduling: 1. RMS(rate monotonic scheduling) -parameter: rate=inverse of period -schedulable bound= Purely Dynamic Scheduling 1. EDF(earliest deadline first) -parameter used is time to deadline=deadline – current_time -Limitation: operation is dispatched whether or not there is sufficient time for it to complete before deadline i.e. no detection of operations that are going to miss deadline until actual deadline. 2. MLF(Minimum Laxity First) -Laxity=(deadline - current_time) - execution time
Static Scheduling Advantage: 1. Less Overhead at run time Limitations: 1. Inefficient handling of non-periodic processing 2. Utilization phasing penalty for non-harmonic periods 3. Inflexible handling of invocation-to-invocation variation in resource requirement Dynamic Scheduling Advantages: 1. no resource utilization penalty for non-harmonic operations. 2. flexibility in dealing with invocation-to-invocation variations in resource utilization 3. hence, full resource utilization bound(100%) 4. handle harmonic and non-harmonic periods comparably. 5. single priority level and need not prioritize operations by rate Limitations: 1. Higher overload 2. No control over which operation will miss deadline in overloaded condition i.e. if scheduling bound is exceeded. 3. Risk of missing deadline increases for every operation as system become overloaded.
Hybrid Scheduling(static/dynami) MUF(maximum urgency first): Criteria: Urgency Static Priority (criticality): 1. high static priority for critical and low for non-critical operation. Dynamic SubPriority: 1. evaluated whenever operation is en-queued or de-queued from dynamic queue. 2. dynamic sub-priority is function of laxity e.g. inverse of laxity. 3. laxity= (deadline – current_time) – execution time 3. So priority ordering based on laxity value is as follows: low positive>high positive>high negative(farther from zero)>low negative (closer to zero) 4. behaves as MLF if static priority/criticality is same for all operations. Static SubPriority(Importance):
Advantages of MUF 1. supports both deterministic rigor of static scheduling and flexibility of dynamic scheduling 2. inherits advantages of dynamic scheduling e.g. no phasing penalty, higher utilization, flexible handling of invocation-to-invocation variations in resource utilizations 3. allows deadline failures to be detected before they actually occur.(exception: operation is preempted by higher critical operation) 4. error handling policies: e.g. possible deadline failure operations can be demoted in priority queue allowing operations that can still meet their deadlines to be dispatched instead
TAO’s Strategized Scheduling Service Framework
Design goals: 1. Higher utilization than static scheduling 2. Preserve scheduling guarantee: - to ensure that critical CORBA operations will meet their deadlines even when total utilization exceeds schedulable bound 3. Flexibility in invocation-to-invocation variations in resource utilization 4 Adaptive scheduling to increase system’s flexibility to adopt to varying application requirements and platform features. This can be achieved by 1. allowing applications to provide criticality and importance values for at operation level 2. decoupling the strategy for priority assignment from dispatching model so the two can be varied independently i.e. decoupling input and output interfaces of scheduling service 3. shielding the application developer from unnecessary details of alternative scheduling strategies. 4. allowing to implement various strategies like RMS, EDF, MLF, MUF etc. using the same consistent input interface.
Step 3: Assess schedulabilty • Critical Set: all operations whose completion prior to deadline is important for the integrity of the application • Minimum critical priority: Lowest priority of any operation in critical set • Criteria: All the operations with priority above or equal to minimum critical priority are guaranteed to meet their deadline.
EDF MLFStep 4: input mapping to urgency
MUF RMSStep 4: input mapping to urgency
Scheduling server Dispatching module
Step 7-10: On-line processing • At Run-Time Start-Up • Scheduling server’s run time component supplies dispatching queue configuration to ORB end-system through output interface • Accordingly ORB configures dispatching module and queues. • When operation request arrives at run time • Dispatching module identifies appropriate queue to which operation belongs • To above accomplish above, it request dispatching (sub)priority information from scheduling server’s run time component using it’s output interface • If queue type is dynamic(deadline/laxity), it update dynamic portion of dispatching sub-priority • Above step is performed when first time operation is en-queued and if necessary when other operations are en-queued/de-queued
Scheduling server Dispatching module
Simulation Design 1. Critical instant behavior for critical set in overload condition 2.Comparing RMS, EDF, MLF, MUF. 3. Preemptive by urgency 4. Period=deadline 5. Same worst case execution time
SIMULATION part II Goal is to check: • Run-time overhead for dynamic scheduling • OS dispatch latency Latency in event delivery between high priority supplier and consumers consists of • Time required for run time TAO scheduler to satisfy event service dispatch module scheduling request plus 2. Time the request spent en-queued in dispatching module
Simulation 2.1: • RMS and MUF • High priority supplier and consumer paced such that one is dequeued before another is enqueued. So no queueing effect on high priority operations • Low priority consumer load is increased to check it’s effect on high priority operations Simulation 2.2: • Random pacing/entry of operations. So queuing effect is present • Queues tested in isolation from TAO’s scheduling server • static, deadline, laxity type queues • Linked list for queues[O(1) for dequeue, O(n) for enqueue]
Conclusions from Simulations MUF: MUF provides both deterministic and statistical real time requirement necessary for avionic applications and performs better than pure static and pure dynamic scheduling Minimal end-to-end overhead: The minimal end-to-end overhead for dynamic scheduling strategies is comparable to that for static scheduling strategies, with only a small increase due to dynamic priority computations. Range of acceptable performance: The range of acceptable performance is sustained for dynamic scheduling strategies, up to a load of 150 messages enqueued at one time. Alternate Queuing Impmentation:TAO’sstrategized scheduling service and dispatching modules can adapt flexibly to alternative queueing implementations, so that for heavier loads, heap-based queues may be preferable