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

scheduling
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

User-Level CPU Inheritance Scheduling

Marcel Kneib – marcel.kneib@posteo.de – Hochschule RheinMain Jonas Reininger – jonas.reininger@gmail.com – Hochschule RheinMain

slide-2
SLIDE 2

Marcel Kneib, Jonas Reininger 2/16 Hochschule RheinMain

  • Scheduling in user-level
  • Hierarchy of schedulers
  • Threads can act as schedulers for other

threads

Introduction

slide-3
SLIDE 3

Marcel Kneib, Jonas Reininger 3/16 Hochschule RheinMain

  • More flexibility
  • Smaller trusted code base
  • Meeting different scheduling requirements
  • Reduce costs

Benefits

slide-4
SLIDE 4

Marcel Kneib, Jonas Reininger 4/16 Hochschule RheinMain

Concept

slide-5
SLIDE 5

Marcel Kneib, Jonas Reininger 5/16 Hochschule RheinMain

H M L Priority Inheritance

Priority inversion

H M L

Priority inheritance

H

Mars Pathfinder, 1997

slide-6
SLIDE 6

Marcel Kneib, Jonas Reininger 6/16 Hochschule RheinMain

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

Test Environment

slide-7
SLIDE 7

Marcel Kneib, Jonas Reininger 7/16 Hochschule RheinMain

Test

  • 1. RM1 starts consuming 50% CPU time periodically
slide-8
SLIDE 8

Marcel Kneib, Jonas Reininger 8/16 Hochschule RheinMain

Test

  • 2. RR1 begins to consume alle the CPU time it can get
slide-9
SLIDE 9

Marcel Kneib, Jonas Reininger 9/16 Hochschule RheinMain

Test

  • 3. RR2 begins with the same priority as RR1
slide-10
SLIDE 10

Marcel Kneib, Jonas Reininger 10/16 Hochschule RheinMain

Test

  • 4. LS1 begins to steal all available CPU time
slide-11
SLIDE 11

Marcel Kneib, Jonas Reininger 11/16 Hochschule RheinMain

Test

  • 5. RM2 starts consuming 25% of the CPU time periodically
slide-12
SLIDE 12

Marcel Kneib, Jonas Reininger 12/16 Hochschule RheinMain

Test

  • 6. LS1 finishes
slide-13
SLIDE 13

Marcel Kneib, Jonas Reininger 13/16 Hochschule RheinMain

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

slide-14
SLIDE 14

Marcel Kneib, Jonas Reininger 14/16 Hochschule RheinMain

Problems

slide-15
SLIDE 15

Marcel Kneib, Jonas Reininger 15/16 Hochschule RheinMain

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

slide-16
SLIDE 16

Questions?

Marcel.Kneib@posteo.de Jonas.Reininger@gmail.com