1 / 19

Best Effort Scheduling Algorithms

Scheduling Basic Concepts Ref: Hard Real-Time Computing Systems Giorgio Buttazzo Ref: Real-Time Systems & Software Alan Shaw Processes - Tasks - Threads.

Download Presentation

Best Effort Scheduling Algorithms

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. SchedulingBasic ConceptsRef: Hard Real-Time Computing SystemsGiorgio ButtazzoRef:Real-Time Systems & SoftwareAlan ShawProcesses - Tasks - Threads

  2. Real-Time SystemsPeriodic and AperiodicHard & Soft DeadlinesScheduling of Tasks – Static & DynamicSharing of Resources and Critical SectionsDomino Effect

  3. Best Effort Scheduling Algorithms

  4. Example Cost FunctionsWhat is a “good” system?

  5. Metrics for Performance EvaluationWhat is a “good” system?

  6. Attempting to Minimize Lateness

  7. Scheduling Anomalies

  8. Precedence Example

  9. Adding a processor

  10. Reducing Computation Times ?

  11. Weaken Constraints

  12. Resource Constraints

  13. Shaw’s notation: Successive events are separated by at least p The Sporadic process

  14. Cyclic Executives for Scheduling Periodic Tasks: Broken into blocks: Major Cycles (MCT) – shortest period where all task periods align all tasks execute in a major cycle Minor Cycles (mct) – “frames” used to allocate tasks or portions of tasks Example: Say you have two tasks: T1 = (c1, p1, d1) = (1, 2, 2) T2 = (c2, p2, d2) = (1, 3, 3) |xxxxxx______|xxxxxx______|xxxxxx______|…….. |______xxxxxx______|xxxxxx____________|…… 0 1 2 3 4 5 6 MCT = 6 mct = 2 (or 1) Allocations are: {T1,T2} {T1,T2} {T1}, repeat

  15. Can this be scheduled? What is MCT? What is mct? What is a schedule?

  16. Ada-like implementation of this scheduling. Clock returns the current time Delay_until x causes the task to block until at least time x

  17. Some principles about periodic scheduling: We assume all processes are released at time t0. Why? The MCT is the least common multiple (lcm) of the periods. Why? The mct must divide the MCT. Why? The mct must be >= the longest computation block. Why? mct <= di for all I = 1,…, n mct + (mct - gcd(mct, pi)) <= di

  18. Home work #1: (Lecture 4/03) From Buttazzo: From Shaw: Exercises 2.2: 1, 2, 3, 5, 6

More Related