1 / 31

Lock-free and Wait-free Slot Scheduling Algorithms

Pooja Aggarwal Smruti R. Sarangi Computer Science, IIT Delhi, India. Lock-free and Wait-free Slot Scheduling Algorithms. Outline. Motivation Related Work Parallel Slot Scheduler Design Performance Results Summary. Real-Time System . How to schedule the requests. Thread i.

morey
Télécharger la présentation

Lock-free and Wait-free Slot 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. Pooja AggarwalSmruti R. Sarangi Computer Science, IIT Delhi, India Lock-free and Wait-free Slot Scheduling Algorithms

  2. Outline • Motivation • Related Work • Parallel Slot Scheduler Design • Performance Results • Summary

  3. Real-Time System How to schedule the requests Thread i Thread j ti t1 t2 time

  4. Slot Scheduling • Treats time as a discrete quantity • Globally-visible reservation system • Requires advance algorithm for parallel scheduling

  5. T1 Reservation System T1 T2 T0 T1 T2 Tn-2 Tn-1 Tn T1 T2 Shared Resource time

  6. Related Work • In 1982 Ousterhout proposed the matrix representation of time-slices and processors to facilitate running jobs simultaneously • The real-time scheduler for the Rialto operating system, based on CPU reservations, bears a great deal of similarity to slot scheduling. • Generic scheduling using locks • In 2009 Mhamdi et. al. gave online variants of scheduling problem for a message passing based system • In 2011 Keller et. al. propose an offline version of the algorithm that has a known task dependence graph. We propose a novel, parallel, and Linearizable non-blocking slot scheduling algorithms

  7. Nx1 Problem BUSY N FREE M

  8. Nx1 Problem N NxM M

  9. 1xM Problem P3 Resource can process one request per slot P2 P2P2 P3 P3P3 T0 T1 T2 T3 T4 TiTi+1 Ti+2 Time Slots

  10. NxM Problem Empty slot 2 2 busy Free 4 4 2 2 time

  11. Problems with Locking • Deadlock – no progress • Priority Inversion – lower-priority process preempted while holding lock • Convoying – lockholder de-scheduled • Starvation – a process never completes

  12. Lock-free Algorithm • Optimistic approach • a lock-free algorithm can run in four phases: • complete one's own operation • assist an obstructing operation (internal helping) • abort an obstructing operation • and wait • Fast execution when low contention • Avoids blocking and priority inversion • Avoids deadlock

  13. Wait-free Algorithm • Per-operation progress guarantees • Every operation is guaranteed to complete in a finite number of steps • Faster thread helps the slower thread • Wait-free = Lock-free + Starvation free

  14. Basic Helping Mechanism Announcing the request • Each thread is assigned a priority based on the initial timestamp of its request • Shared Data Structure is used to store the requests • Each thread requesting for slots • First chooses a monotonically increasing request ID (reqid) • Announce the request • helps all threads with a non-larger reqid NEED TO HELP 10 requestId 9 11 timeSlot state NEW SOFT NEW numSlots null null path null 3 1 threadId 2 10 7 3 REQUEST entry per thread 4 4 4

  15. Optimized Helping Criteria • Drawback of basic scheme: • Helping even if no starvation • even when there is no contention • many threads help same operations • large redundant work • Optimization: • REQUEST_THRESHOLD • HELP_THRESHOLD • INTERNAL HELPING

  16. Parallel Slot Scheduler Design Schedule operation is accomplished in 3 three atomic steps • Announce the request • concurrent processes realize that there is an operation-in-progress • Temporary Reservation • Try to reserve the earliest possible available slots • Permanent Reservation • finalizing the reserve slots

  17. FSM of a Request POINT of LINEARIZABILITY NEW Make temporary reservation FAIL SOFT Finished reserving the required slots POINT of LINEARIZABILITY FORCEHARD CANCEL Make permanent reservation Cancelled by other thread or cancelled itself Could not find empty slot DONE

  18. Schedule Operation EMPTY 1 6 6 1 1 1 1 1 SOFT HARD 6 6 6 6 6 6 1 1 POINT of LINEARIZABILITY 10 requestId 9 timeSlot DONE SOFT FORCEHARD SOFT SOFT CANCEL FORCEHARD NEW DONE NEW state NEW numSlots (7,5),(8,5),(9,5) (3,1),(4,2),(5,2),(6,5) (3,1) (3,1),(4,2),(5,2) null (4,1),(5,1) path null null threadId 1 6 3 4 3 4

  19. State Transitions’ of a Slot EMPTY Temporary Reservation SOFT Permanent Reservation TstampreqIdtid state slotno round threadId HARD

  20. Role of Saving Slot Already booked Reserved 2 slots 4 4 4 4 Reserved 4 slots 2 Temporary Reservation 1 1 2

  21. Role of Round NEW SOFT NEW NEW SOFT SOFT CANCEL CANCEL With every cancellation, round is increment round is 2 Round is 3 round is 1 CAS 1 1 1 2 2 2 2 2

  22. Selecting a Slot 6 6 BOOKED 4 4 4 4 FREE SOFT,2 2 2 1 1 1 1 1 1 5 SOFT, 2 SOFT, 4 Another helper reserved slot Another helper Booked the slot 1 1 7

  23. Issues and Resolutions • ABA issue • Time-Stamp • Multiple rollbacks • CANCEL-THRESHOLD • Multiple reservations • PATH array • SHADOW array

  24. Setup

  25. Workload • The inter-request distances are truncated normal distributions • Box-Muller transform is used to generate the normal variants • Experiment is executed till one of the thread completes all its iterations • Each thread performs 1000 iterations • Each experiment is performed 10 times, and mean values are reported

  26. Mean time per request (treq) Lock is 100 times slower

  27. Work Done Wait-free Work done is around 10 % more • We run the system till the fastest thread completes κ requests. • wk= tot requests/(κ ×NUMTHREADS).

  28. Sensitivity: Request-threshold

  29. Summary • First lock-free and wait-free algorithm for four variants of the generic slot scheduling problem • Lock-free is fastest of the three approaches • Wait-freedom incurs an inherent trade-off • bounds the completion time of a single operation • Total Work done is more • All our algorithms are linearizable • Proposed design scheme might be applicable for other wait-free data structures

  30. Thank you! Questions?

More Related