LCE13: Why all this sudden attention on the Linux Scheduler?

828 views
602 views

Published on

Resource: LCE13
Name: Why all this sudden attention on the Linux Scheduler?
Date: 08-07-2013
Speaker: Amit Kucheria
Video: https://www.youtube.com/watch?v=NoeHIjqlriI

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
828
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LCE13: Why all this sudden attention on the Linux Scheduler?

  1. 1. Amit Kucheria, PMWG Tech Lead & several people in the room Why all this sudden attention on the Linux scheduler?
  2. 2. Code (kernel/sched) $ wc -l core.c fair.c rt.c deadline.c idle_task.c stop_task.c 8755 core.c 6174 fair.c 2094 rt.c 1658 deadline.c 98 idle_task.c 128 stop_task.c 18907 total
  3. 3. Which scheduler? Completely Fair Scheduler (fair) Realtime (rt) Earliest deadline first (deadline) IDLE (idle_task) STOP (stop_task)
  4. 4. Problem Throughput Determinism
  5. 5. Solution Throughput Determinism
  6. 6. Solution Throughput Determinism Power-efficiency
  7. 7. Determinism
  8. 8. Determinism: Problems ● Preemption: interrupts, locking ● Latency (interrupt -> processing, time between two consecutive runs of a task) ● Scheduling overhead
  9. 9. Determinism: Solutions ● Preemption: interrupts, locking ● Latency (interrupt -> processing, time between two consecutive runs of a task) ● Scheduling overhead PREEMPT RT ADAPTIVE NO_HZ DEADLINE
  10. 10. Determinism: Features Feature PREEMPT RT ADAPTIVE NO_HZ DEADLINE Physical process isolation* No No No Temporal Isolation Yes# Yes+ Yes No scheduling overhead No Yes No Firm/Hard Real-time Yes No No Complexity High Low Low * Use cgroups + cpusets # With some limitations + Limitation of one task per core currently, else NO
  11. 11. Determinism Requirements?
  12. 12. Power-efficiency
  13. 13. Power-efficiency: History ● sched_mc ● big.LITTLE GTS patches (ARM) ● Packing Small Tasks (Linaro/ARM) ● Power aware scheduling (Intel)
  14. 14. Power-efficiency: History ● sched_mc ● big.LITTLE GTS patches (ARM) ● Packing Small Tasks (Linaro/ARM) ● Power aware scheduling (Intel) And then...
  15. 15. Ingo strikes 31st May 2013, Ingo Molnar on LKML: "Today the power saving landscape is fragmented and sad: we just randomly interface scheduler task packing changes with some idle policy (and cpufreq policy), which might or might not combine correctly." .... "_All_ policy, all metrics, all averaging should happen at the scheduler power saving level, in a single place, and then the scheduler should directly drive the new low level idle state driver mechanism." ... "This is a "line in the sand", a 'must have' design property for any scheduler power saving patches to be acceptable - and I'm NAK-ing incomplete approaches that don't solve the root design cause of our power saving troubles..."
  16. 16. Power-efficiency: Proposal Separate process and power scheduler (ARM)
  17. 17. Power-efficiency: Proposal Separate process and power scheduler (ARM) Topology Idle + DVFS Thermal
  18. 18. Acknowledgements ● LKML ● Vincent Guittot (Linaro/ST Micro) ● Morten Rasmussen (ARM) ● Catalin Marinas (ARM) ● James King (Linaro/Broadcom) ● Tuukka Tikkanen (Linaro/HiSilicon) ● Mike Holmes (Linaro/LSI) ● Charles Garcia-Tobin (ARM) ● Kevin Hilman (Linaro) ● Viresh Kumar (Linaro/ARM) ● Daniel Lezcano (Linaro) ● Others I've forgotten (apologies)

×