《打开盒子:诊断高多核机器上的操作系统任务调度程序行为.pdf》由会员分享,可在线阅读,更多相关《打开盒子:诊断高多核机器上的操作系统任务调度程序行为.pdf(65页珍藏版)》请在三个皮匠报告上搜索。
1、Opening the Box:Diagnosing Operating-SystemTask-Scheduler Behavior on Highly Multicore MachinesJulia Lawall,InriaApril 8,2024Slides 35 and 37 corrected as compared to the original presentation,to include only load balancing attempts between NUMA nodes.1The machineApplicationsOperating System(OS)Hard
2、ware2Goals of this talkUnderstand the OS impact on application performance.Focus on Linux.Focus on the task scheduler.Diagnose performance regressions.Target:Large multicore machines.3The task scheduler of the Linux kernelWhat is its role?Places tasks on cores on fork,wakeup,or load balancing.Select
3、s a task on the core to run when the core becomes idle.kernel/sched/core.c,kernel/sched/fair.c4How can a task scheduler impact application performance?To place and select tasks,a scheduler has to make decisions.Poor decisions can slow tasks down,sometimes in the long term.5The impact of some poor de
4、cisions in practice0102030runs(sorted by increasing runtime)0246810execution time(sec)-solid lineLinux v6.7Linux v6.7+choose migrate_taskLinux v6.7+choose migrate_task+no fail-count check0102030runs(sorted by increasing runtime)020406080100work conservation failure time(%)-dashed line6Issues:Work co
5、nservationThe machinecore 0core 1core 2core 3Where to put waking task T1?Maybe anywhere is fine.gCore 0 would not be a good choice.Work conservation:No core should be overloaded if any core is idle.Locality:7Issues:Work conservationThe machinecore 0core 1core 2core 3Where to put waking task T1?Maybe
6、 anywhere is fine.gCore 0 would not be a good choice.Work conservation:No core should be overloaded if any core is idle.Locality:7Issues:Work conservationThe machinecore 0core 1core 2core 3Where to put waking task T1?Maybe anywhere is fine.gCore 0 would not be a good choice.Work conservation:No core