scheduling algorithm and analysis
play

Scheduling Algorithm and Analysis RT Synchronization Protocol - PowerPoint PPT Presentation

Scheduling Algorithm and Analysis RT Synchronization Protocol (Module 35) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU Blocking in PCP A task


  1. Scheduling Algorithm and Analysis RT Synchronization Protocol (Module 35) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU

  2. Blocking in PCP  A task T H can be blocked by a lower-priority task T L in three ways:  directly, i.e. T H X T L allocated to request for  when T L inherits a priority higher than the priority π H of T H . T ≠ T H X T L ( π > π H )  When T H requests a resource the priority ceiling of resources held by T L is equal to or higher than π H : Y T L T H X ( π H ≤ Π X ) 1 Real-time Systems Lab, Computer Science and Engineering, ASU

  3. Blocked At Most Once (PCP) τ 1 :{…P(S1)…P(S2)…V(S2)…V(S1)…} τ 2 :{…P(S1)…V(S1)…} τ 3 :{…P(S2)…V(S2)…} S2 locked S2 unlocked S1 locked S1 unlocked attempts to lock S1(blocked) τ 1 (H) B attempts to lock S1 unlocked S1 locked S1(blocked) τ 2 (M) S2 unlocked S2 locked τ 3 (L) 2 Real-time Systems Lab, Computer Science and Engineering, ASU

  4. Deadlock Avoidance: Using PCP τ 1 :{…P(S1)…P(S2)…V(S2)…V(S1)..} τ 2 :{…P(S2)…P(S1)…V(S1)…V(S2)..} Locks Unlocks Attempts to lock S1 Locks S2 S2 Unlocks (blocked) S1 S1 τ 1 (H) C Locks Unlocks Unlocks Locks S1 S2 S1 S2 τ 2 (M) 3 Real-time Systems Lab, Computer Science and Engineering, ASU

  5. Stack Sharing  Sharing of the stack among tasks eliminates stack space fragmentation and so allows for memory savings: T 1 T 1 T i T i T n T n no stack sharing stack sharing  However:  Once job is preempted, it can only resume when it returns to be on top of stack.  Otherwise, it may cause a deadlock.  Stack becomes a resource that allows for “one-way preemption”. 4 Real-time Systems Lab, Computer Science and Engineering, ASU

  6. Stack-Based Priority Ceiling Protocol  To avoid deadlocks: Once execution begins, make sure that job is not blocked due to resource access  allow preemption only if the priority is higher than the ceiling of the resources in use  Update Current Ceiling in the usual manner  If no resource allocated, Π S (t) = Ω  Scheduling Rule:  J i released and blocked until π i (t) > Π S (t)  When not blocked jobs are scheduled in the usual manner.  Allocation Rule:  Allocate when requested 5 Real-time Systems Lab, Computer Science and Engineering, ASU

  7. Stack-Based PCP (cont)  The Stack-Based Priority-Ceiling Protocol is deadlock-free :  When a job begins to execute, all the resources it will ever need are free.  Otherwise, Π S (t) would be higher or equal to the priority of the job.  Whenever a job is preempted, all the resources needed by the preempting job are free.  The preempting job can complete, and the preempted job can resume.  Worst-case blocking time of Stack-Based Protocol is the same as for Basic Priority Ceiling Protocol.  Stack-Based Protocol smaller context-switch overhead  2 context switches since once execution starts, job cannot be blocked (may be preempted)  4 context switches for PCP since a job may be blocked at most once 6 Real-time Systems Lab, Computer Science and Engineering, ASU

  8. Supplementary Slides Real-time Systems Lab, Computer Science and Engineering, ASU

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend