Read more...

Download Report

Transcript Read more...

CMT OS scheduling summary
Yipkei Kwok
03/18/2008
Homogeneous Scheduling
• Where are we now?
– Fairness/performance isolation
• Cache-fair thread scheduling for multicore
processors
• Performance of multithreaded chip multiprocessors
and implications for operating system design
– Achievement
• 24% reduction in performance variability
Homogeneous Scheduling
• Where are we now?
– Performance optimization
• A Non-Work-Conserving Operating System
Scheduler For SMT Processors
• Symbiotic Job Scheduling for a Simultaneous
Multithreading Architecture
– Achievement
• Performance improvement for up to 45%
Homogeneous Scheduling
• Un-investigated problem
– Most techniques are developed for small scale
machines (e.g. 18 threads for SPEC2000 and 8
hardware contexts)
– Work well on large scale CMT machines?
– Some techniques requires virtually no overhead w./
hardware support. – fine
– Some co-scheduling techniques examine nCr
combinations (n=no. of workloads, r=degree of
parallelism)
– New Moore’s law (joke): no. of cores doubles every
18 months.
Homogeneous Scheduling
• Un-solved problem
– Desktop workload optimization
• Why is it hard?
– Short running time
– Unpredictable behavior
– Limited level of parallelism
– Light
• Desktop workloads becoming heavier and long-running
• App-hinted OS scheduling
– Thread Scheduling for Multi-Core Platforms. Mohan
Rajagopalan Brian T. Lewis Todd A. Anderson. HotOS '07.
• App developers forces to explore parallelism.
Heterogeneous Scheduling
• Where are we now?
– Couple papers
– Limited to cores w./ same ISA but different
speeds
– Can you find one in the market?
Heterogeneous Scheduling
• Scheduling objectives (same ISA)
– Performance optimization
– Fair CPU sharing
– Balanced core assignment
• Scheduling objectives (different ISA)
– Unidentified
– Balanced core assignment not applicable
– How do you avoid performance jitters?
Heterogeneous Scheduling
• More problems
– Preferred core dilemma
– Follow/not follow when the preferred core has
a long queue?
• Follow -> long response time
• Not follow -> sub-optimal performance
– How does the decision affect the overall
performance?