1 / 46

Overview of Paper Documentation of progression from static to dynamic

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.

abiba
Download Presentation

Overview of Paper Documentation of progression from static to dynamic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Design and Performance of A Real-Time CORBA Scheduling ServiceChristopher Gill, David Levine, Douglas Schmidt

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

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

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

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

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

  7. 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):

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

  9. TAO’s Strategized Scheduling Service Framework

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

  11. Design Goals

  12. Processing Steps in TAO’s Scheduling Service Architecture

  13. Step 2: Populate RT_Infor through Input Interface

  14. Processing Steps in TAO’s Scheduling Service Architecture

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

  16. Processing Steps in TAO’s Scheduling Service Architecture

  17. EDF MLFStep 4: input mapping to urgency

  18. MUF RMSStep 4: input mapping to urgency

  19. Processing Steps in TAO’s Scheduling Service Architecture

  20. Scheduling server Dispatching module

  21. Step 5: output mapping to dispatching (sub)priority

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

  23. Output Interface

  24. Processing Steps in TAO’s Scheduling Service Architecture

  25. Scheduling server Dispatching module

  26. Step 5: output mapping to dispatching (sub)priority

  27. Simulation Part I

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

  29. Avg Latency

  30. Avg Laxity

  31. fraction of deadlines missed

  32. Simulation Part II

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

  34. 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]

  35. Processing Steps in TAO’s Scheduling Service Architecture

  36. Simulation 2.1 and 2.2

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

  38. Thank you

More Related