scheduling
play

Scheduling Marcel Kneib marcel.kneib@posteo.de Hochschule RheinMain - PowerPoint PPT Presentation

User-Level CPU Inheritance Scheduling Marcel Kneib marcel.kneib@posteo.de Hochschule RheinMain Jonas Reininger jonas.reininger@gmail.com Hochschule RheinMain Introduction Scheduling in user-level Hierarchy of schedulers


  1. User-Level CPU Inheritance Scheduling Marcel Kneib – marcel.kneib@posteo.de – Hochschule RheinMain Jonas Reininger – jonas.reininger@gmail.com – Hochschule RheinMain

  2. Introduction • Scheduling in user-level • Hierarchy of schedulers • Threads can act as schedulers for other threads 2/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  3. Benefits • More flexibility • Smaller trusted code base • Meeting different scheduling requirements • Reduce costs 3/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  4. Concept 4/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  5. Priority Inheritance H M L Priority inversion H M Mars Pathfinder, 1997 L H Priority inheritance 5/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  6. Test Environment Root Scheduler: – H: Real-time • RM1: 50% CPU time • RM2: 25% CPU time – M: Timesharing • LS1: available CPU time – L: Background • RR1: available CPU time • RR2: available CPU time 6/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  7. Test 1. RM1 starts consuming 50% CPU time periodically 7/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  8. Test 2. RR1 begins to consume alle the CPU time it can get 8/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  9. Test 3. RR2 begins with the same priority as RR1 9/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  10. Test 4. LS1 begins to steal all available CPU time 10/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  11. Test 5. RM2 starts consuming 25% of the CPU time periodically 11/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  12. Test 6. LS1 finishes 12/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  13. Problems • Dispatcher costs – iteration through list or tree • Context switch costs – approx. one additional context switch • Threads running in one single address space – no memory protection – not isolated 13/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  14. Problems 14/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  15. Conclusion More flexibility with negligible overhead (in Test • Environment) If per-context-switch-costs are low, CPU Inheritance • Scheduling makes sense even in microkernels Scheduling hierarchy depth should be limited • Sample implementation is based on user-thread • library 15/16 Hochschule RheinMain Marcel Kneib, Jonas Reininger

  16. Questions? Marcel.Kneib@posteo.de Jonas.Reininger@gmail.com

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