[发明专利]一种基于SMP系统的任务调度优化方法有效
申请号: | 201510113178.1 | 申请日: | 2015-03-13 |
公开(公告)号: | CN104679593B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 周恒钊;刘璧怡 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 smp 系统 任务 调度 优化 方法 | ||
技术领域
本发明涉及多处理器数据调度技术,具体地说是一种实用性强、基于SMP系统的任务调度优化方法。
背景技术
在1985~2000这段时间里,微处理器性能的增长伴随着单处理器主频或者指令级并行度的提高达到了自20世纪50年代后期和60年代初期第一台晶体管计算机诞生以来的最高速度。有赖于集成电路制造工艺的不断精进与提升,处理器上晶体管的集成度得以不断提高,诸多旨在提升指令级并行度的技术被加入到微处理器中,然而这些技术都没有能够改变线程的串行执行模式。通过指令的猜测执行、分支预测与乱序执行等手段可以从串行程序中找到可以用于并行执行的指令,却不能从根本上提升单处理器的并行能力;依靠增加片上集成的晶体管数目可以获得性能提升,却会导致CPU功耗的成倍增大,这一切都表明通过增加复杂度、添加电路和增大功率所能提升的性能正在减少。因此,当多核技术以及多线程技术以较低的复杂度就实现了单处理器上线程级并行后,迅速得以在处理器制造技术中广泛的应用。
对称多处理(Symmetrical Multi-Processing,SMP)是指同时拥有多个同构 CPU、CPU间共享同一存储子系统与总线的处理器结构。SMP结构的特点在于多个处理器并行运行操作系统的单一副本并共享对总线、内存和外设资源的访问。SMP感知的操作系统中为每个CPU都设置了进程就绪队列,所有CPU队列上的进程都可以平等地进行访存、响应中断和应答I/O。通过使用多总线代替单总线,或者通过交换机可以使集中共享存储架构支持扩展到更大的对称处理器规模上去。SMP技术在面向高性能服务器和工作站中应用的较为广泛。
伴随着处理器和主存储器间速度差距的进一步增大,片外访存操作的长延迟瓶颈,容易导致 SMP 系统中总线整体有效利用率的下降。因而面向上述难题的解决、考虑多核多线程感知的 SMP 线程调度机制的设计一直是操作系统研究中的重要方向。基于上述技术,现提供一种基于SMP系统的任务调度优化方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于SMP系统的任务调度优化方法。
一种基于SMP系统的任务调度优化方法,其具体实现过程为:
首先进行访存类型划分:按照对于内存或者总线访问的密集程度,将待调度线程划分为访存延迟敏感型与访存密集型两类;
对线程带宽访问,即通过处理器内建的硬件性能计数功能获取运行时线程的访问总线速率;
进行负载均衡优化,该负载均衡通过调用load_balance函数来实现基于调度域的均衡操作;
根据上述总线带宽使用情况的SMP任务调度优化策略,该调度优化策略分为两大部分:性能计数采样模块与总线访问负载均衡模块,其中性能计数采样模块以1/T频率执行对线程性能计数信息的采样,并且总是维护最近 Twindow时间内,即采样时间窗口内的采样数据;在每间隔 Twindow时间进行线程内存访问密集度的计算;当内核执行CPU负载均衡操作选出了负载最重的CPU进程就绪队列与轻载的目标队列并且将要执行进程迁移操作时,总线访问负载均衡模块就分别计算源队列与目标队列中进程总线负载,并从源队列挑选进程进行迁移操作。
所述访存延迟敏感型线程是指占用CPU时间较多而访存请求较少的计算型任务,用于区分不同任务的总线访问频度的高低;访存密集型线程则是通过进程平均睡眠时间的计算区分不同任务CPU执行时间的占用比重高低,该访存密集型线程通过内存访问密集度衡量,内存访问密集度为线程访问最末级 Cache 未命中产生访存请求的频度,其使用每千条指令cache丢失数来度量。
所述性能计数采样模块采样过程为:当内核调用fork函数以创建新进程时,initSampleContext函数被调度;该initSampleContext函数用于为新进程初始化性能采样计数的设置,包括写MSR寄存器以设定需要监测的处理器事件类型;sample函数在时钟中断程序的schedule_tick函数中被调用,以T为周期采样执行进程在被创建时就设定好的事件监测计数。
所述性能计数采样模块中设置有进程控制块,该进程控制块中添加采样函数,所述采样函数记录采样时间窗口内的进程带宽使用情况、进程总线访问权重、采样计数、采样周期内Cache未命中数统计、采样周期内线程执行的指令周期数统计、采样间隔前的计数状态、采样间隔后的计数状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510113178.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种看门狗电路检测方法和装置
- 下一篇:浮点上下文切换方法