多处理器系统的线程调度策略研究

来源 :电子科技大学 | 被引量 : 9次 | 上传用户:a348329418
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在复合了片上多核(CMP)、同时多线程(SMT)技术的SMP系统中,不合理的资源共享机制可能会造成并发多线程对公共资源的不可控争用,从而导致系统吞吐量与资源利用率的降低。因此,设计与实现侧重于优化系统资源使用的SMP调度机制一直是操作系统研究中的重要方向。本论文首先介绍了多处理器多核架构技术的演进与相应特点。接着,对相应架构下线程调度策略的研究进行了回顾与总结。随后,论文概述了Linux调度器的发展历程与相应版本调度器的特点,通过深入地分析Linux3.0时代仍然沿用的CFS调度器框架和基于调度域的负载均衡实现找到了Linux调度器的不足之处——执行负载均衡时只考虑的是均衡各CPU的工作负载,而没有考虑总线带宽使用的均衡操作恰恰会引起总线有效利用率的下降。举例来说,可能会出现过高带宽需求的进程被迁移后得到了充分执行从而耗尽了总线的可用带宽;也可能出现有合理带宽需求的进程始终无法迁出重载的CPU从而缺少执行机会,这些情况都会使总线带宽资源无法得到有效的利用。最后,论文提出了考虑总线带宽使用优化的SMP调度策略与基于当前Linux调度器的改进方法。改进的思路是通过获取线程运行时的性能计数来评估其在最近的采样时间窗口内总线带宽使用状况,以此为任务调度提供直接的决策依据。利用处理器内建的硬件性能计数器就可获取线程运行时有效执行指令数目、各层级Cache未命中数,从而计算出采样时间窗口内使用的平均总线带宽。由于是基于总线使用的历史情况做调控,采样周期与时间窗口值的确定就很关键。采样时间窗口宽度过小,就无法评估近期线程平均带宽使用情况;宽度过大则调度分配带宽的时机就不好,也许会错过可以提前避免争用高峰的调控时机。在具体实现时通过重复测试确定了时间窗口的合适取值。在对原SMP负载均衡算法实现做优化时,不仅考虑到CPU/Cache亲和性同时也基于进程总线带宽的使用状况来挑选迁移进程。针对采用了STREAM Benchmark的三组测试结果的分析表明改进方案在不影响原有算法CPU负载均衡效果的基础上优化了总线带宽的使用、提升了总线的有效利用率。
其他文献
人的自信将给自己带来巨大的动力和热情,它是激发人积极向上的一种良好心理品质和精神力量。对于可塑性极强的少年儿童来说,培养他们充分的自信,就显得尤为重要。教师应该怎
针对大学物理实验——迈克耳逊干涉仪的原理与使用实验中,实验观察人员记录大量干涉条纹数目过程中存在较大人为误差的实际状况,研制了一套能够自动记录条纹数目的实验装置,切实
<正> 编辑同志:新版初中第五册语文课本177页《白雪歌送武判官归京》一诗中的注说天山是"横贯新疆中部的大山。又名祁连山。"请问,天山就是祁连山吗?找不到根据。天山确如注
<正>问:请谈谈您的家庭吧。答:康家在四川是很有名望的大家族。我祖父康寿桐曾在四川梓潼、什邡、彭县任知县,他有4个儿子,依次是:大伯康宝忠,字心孚;二伯康宝恕,字心如;我父