[发明专利]一种基于SMP系统的任务调度优化方法有效
申请号: | 201510113178.1 | 申请日: | 2015-03-13 |
公开(公告)号: | CN104679593B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 周恒钊;刘璧怡 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 smp 系统 任务 调度 优化 方法 | ||
1.一种基于SMP系统的任务调度优化方法,其特征在于,其具体实现过程为:
首先进行访存类型划分:按照对于内存或者总线访问的密集程度,将待调度线程划分为访存延迟敏感型与访存密集型两类,所述访存延迟敏感型线程是指占用CPU时间较多而访存请求较少的计算型任务,用于区分不同任务的总线访问频度的高低;访存密集型线程则是通过进程平均睡眠时间的计算区分不同任务CPU执行时间的占用比重高低,该访存密集型线程通过内存访问密集度衡量,内存访问密集度为线程访问最末级 Cache 未命中产生访存请求的频度,其使用每千条指令cache丢失数来度量;
对线程带宽访问,即通过处理器内建的硬件性能计数功能获取运行时线程的访问总线速率;
进行负载均衡优化,该负载均衡通过调用load_balance函数来实现基于调度域的均衡操作;
根据上述总线带宽使用情况的SMP任务调度优化策略,该调度优化策略分为两大部分:性能计数采样模块与总线访问负载均衡模块,其中性能计数采样模块以1/T频率执行对线程性能计数信息的采样,并且总是维护最近 Twindow时间内,即采样时间窗口内的采样数据;在每间隔 Twindow时间进行线程内存访问密集度的计算;当内核执行CPU负载均衡操作选出了负载最重的CPU进程就绪队列与轻载的目标队列并且将要执行进程迁移操作时,总线访问负载均衡模块就分别计算源队列与目标队列中进程总线负载,并从源队列挑选进程进行迁移操作。
2.根据权利要求1所述的一种基于SMP系统的任务调度优化方法,其特征在于,所述性能计数采样模块采样过程为:当内核调用fork函数以创建新进程时,initSampleContext函数被调度;该initSampleContext函数用于为新进程初始化性能采样计数的设置,包括写MSR寄存器以设定需要监测的处理器事件类型;sample函数在时钟中断程序的schedule_tick函数中被调用,以T为周期采样执行进程在被创建时就设定好的事件监测计数。
3.根据权利要求2所述的一种基于SMP系统的任务调度优化方法,其特征在于,所述性能计数采样模块中设置有进程控制块,该进程控制块中添加采样函数,所述采样函数记录采样时间窗口内的进程带宽使用情况、进程总线访问权重、采样计数、采样周期内Cache未命中数统计、采样周期内线程执行的指令周期数统计、采样间隔前的计数状态、采样间隔后的计数状态。
4.根据权利要求1所述的一种基于SMP系统的任务调度优化方法,其特征在于,所述总线访问负载均衡模块的具体工作过程为:load_balance函数首先通过find_busiest_group函数在同一级调度域中找到一组最繁忙的CPU组,随后执行find_busiest_queue函数从find_busiest_group找到的最重负载CPU组里选出一个载重负荷最高的CPU;度量一个CPU负荷的标量是等待在该CPU就绪队列中不同优先级进程占用CPU使用比重值的累加和;最后,挑选被迁移的进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510113178.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种看门狗电路检测方法和装置
- 下一篇:浮点上下文切换方法