一种基于缓存感知的确定待迁移任务的方法和装置制造方法及图纸

技术编号:9935361 阅读:67 留言:0更新日期:2014-04-18 07:00
一种基于缓存感知的确定待迁移任务的方法,其特征在于,所述方法包括:得到至少两个处理器核中的每一个处理器核的信息,所述每一个处理器核的信息包括所述每一个处理器核的负载信息;根据所述每一个处理器核的负载信息确定源处理器核和目标处理器核;监测所述源处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述源处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数计算得到所述源处理器核中的每一个任务的千条指令缓存失效次数,根据所述源处理器核中的每一个任务的所述千条指令缓存失效次数计算所述源处理器核的平均千条指令缓存失效次数;监测所述目标处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述目标处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数得到所述目标处理器核中的每一个任务的千条指令缓存失效次数,根据所述目标处理器核中的每一个任务的所述千条指令缓存失效次数计算所述目标处理器核的平均千条指令缓存失效次数;根据所述源处理器核的平均千条指令缓存失效次数和所述目标处理器核的平均千条指令缓存失效次数确定从所述源处理器核向所述目标处理器核迁移的任务。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于缓存感知的确定待迁移任务的方法,包括:根据每一个处理器核的负载确定源处理器核和目标处理器核;监测源处理器核和目标处理器核中的每一个任务的缓存失效次数和执行的指令数,得到源处理器核和目标处理器核中的每一个任务的千条指令缓存失效次数;得到源处理器核和目标处理器核的平均千条指令缓存失效次数;根据源处理器核的平均千条指令缓存失效次数和目标处理器核的平均千条指令缓存失效次数确定从所述源处理器核向所述目标处理器核迁移的任务。根据本专利技术实施例的确定待迁移任务的方法,可以让操作系统感知程序的行为,从而在任务迁移时选择更加合理的任务。本专利技术还公开了一种基于任务感知确定待迁移任务的装置。【专利说明】一种基于缓存感知的确定待迁移任务的方法和装置
本专利技术涉及计算机科学
,尤其涉及一种基于缓存感知的确定待迁移任务的方法和系统。
技术介绍
任务调度是操作系统的核心功能之一,任务调度的好坏直接影响着程序运行的性能、公平性、以及实时性等等。对于只具有单个处理器核的操作系统而言,任务调度只需要解决不同任务之间的切换问题。而对于具有多个处理器核的操作系统而言,除了调度不同任务之间的切换外,还需要处理多个 任务在多个处理器核上的分配以及任务在多个处理器核之间的迁移过程,以保证多个处理器核之间的负载均衡。在具有多个处理器核的操作系统中,多个任务需要争用共享缓存、存储器控制器、内存总线等诸多共享资源,不同的任务对资源的需求不尽相同,如果处理器在任务调度时不对上述资源加以考虑,就会造成部分资源(例如共享cache、共享访存等)争用时而其他处理器核的资源却没有被充分利用,从而对整个系统的性能产生不利影响。现有技术对任务调度的处理中,默认的是操作系统在迁移任务时按照优先级从高到低的顺序从包含有任务的最高优先级链表尾部顺序选择允许迁移的任务,并不分析待迁移任务的程序以及对该迁移目标处理器核上任务的影响,因此,整个系统的性能及服务质量无法得到保证,如果待迁移任务不适合在目标处理器核上运行,则系统的性能会变得很糟糕。
技术实现思路
为解决上述问题,本专利技术实施例提供了一种基于缓存感知的确定待迁移任务的方法和装置,可以让操作系统感知程序的行为,从而在任务迁移时选择更加合理的任务,降低对处理器资源的争用,提高整个系统的性能。本专利技术一方面实施例公开了一种基于缓存感知的确定待迁移任务的方法,所述方法包括:得到至少两个处理器核中的每一个处理器核的信息,所述每一个处理器核的信息包括所述处理器核的负载信息;根据所述每一个处理器核的负载信息确定源处理器核和目标处理器核;监测所述源处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述源处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数计算得到所述源处理器核中的每一个任务的千条指令缓存失效次数,根据所述源处理器核中的每一个任务的所述千条指令缓存失效次数计算所述源处理器核的平均千条指令缓存失效次数;监测所述目标处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述目标处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数得到所述目标处理器核中的每一个任务的千条指令缓存失效次数,根据所述目标处理器核中的每一个任务的所述千条指令缓存失效次数计算所述目标处理器核的平均千条指令缓存失效次数;根据所述源处理器核的平均千条指令缓存失效次数和所述目标处理器核的平均千条指令缓存失效次数确定从所述源处理器核向所述目标处理器核迁移的任务。在本专利技术的第一方面的实施例的一种可能实现的方式中,所述根据处理器核的负载情况确定源处理器核和目标处理器核包括:将所述至少两个处理器核按照预设规则分为至少两个的调度组;周期性的监测所述调度组的状态,所述调度组的状态包括所述调度组中每一个处理器核的负载;根据所述调度组的状态得到负载最大的调度组,根据所述负载最大的调度组中每一个处理器核的负载得到负载最大的处理器核;若所述调度组之间存在负载不均衡,则将所述负载最大的调度组中所述负载最大的处理器核确定为所述源处理器核,将正在监测的处理器核确定为所述目标处理器核。结合本专利技术第一方面实施例和第一种可能实现的方式的第二种可能实现的方式中,监测所述源处理器核的每一个任务的缓存失效次数和执行的指令数,根据所述源处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数得到所述源处理器核中的每一个任务的千条指令缓存失效次数包括:在所述源处理器核中创建一个任务时,设置缓存失效次数计数器的初始值和指令计数器的初始值;所述源处理器核运行所述任务时,所述缓存失效次数计数器和所述指令计数器开始计数;所述任务暂停运行时,暂停所述缓存失效次数计数器的计数和所述指令计数器的计数;根据所述缓存失效次数计数器的计数值得到任务的缓存失效次数,根据所述指令计数器的计数值得到任务的指令数;根据所述任务的缓存失效次数和所述任务的指令数得到所述任务的千条指令缓存失效次数; 重复上述步骤直至所述源处理器核中的全部任务处理完毕。结合上述本专利技术第一方面实施例的第三种可能实现的方式中,所述根据所述源处理器核的平均千条指令缓存失效次数和所述目标处理器核的平均千条指令缓存失效次数确定从所述目标处理器核向所述源处理器核迁移的任务包括:当所述源处理器核的平均千条指令缓存次数不小于所述目标处理器核的平均千条指令缓存次数时,根据所述源处理器核中的每一个任务的千条指令缓存失效次数得到源处理器核中千条指令缓存失效次数最小的任务,将所述源处理器核中千条指令缓存失效次数最小的任务迁移到所述目标处理器核。结合上述本专利技术第一方面实施例的第四种可能实现的方式中,当所述源处理器核的平均千条指令缓存次数小于所述目标处理器核的平均千条指令缓存次数时,根据所述源处理器核中的每一个任务的千条指令缓存失效次数得到源处理器核中千条指令缓存失效次数最大的任务,将所述源处理器核中千条指令缓存失效次数最大的任务迁移到所述目标处理器核。结合上述本专利技术第一方面实施例的第五种可能实现的方式中,得到所述源处理器核中的每一个任务的千条指令缓存失效次数,得到所述目标处理器核中的每一个任务的千条指令缓存失效次数,还可以采用下列方式:根据预测的每千条指令缓存失效次数值得到所述源处理器核中的每一个任务的千条指令缓存失效次数或所述目标处理器核中的每一个任务的千条指令缓存失效次数。根据监测所述任务的缓存失效次数和所述任务的指令数得到的每千条指令缓存失效次数的当前值和暂存的每千条指令缓存失效次数的历史值,通过指数平滑公式计算得到所述预测的每千条指令缓存失效次数。结合上述本专利技术第一方面实施例的第六种可能实现的方式中,在根据所述源处理核的平均千条指令缓存失效次数和所述目标处理器核的平均千条指令缓存失效次数确定从所述源处理器核向所述目标处理器核迁移的任务之前,所述方法还包括:所述处理器核的信息包括所述处理器核的物理CPU状态;如果所述源处理器核和所述目标处理器核在不同的物理CPU上,则将所述源处理器核中千条指令缓存失效次数最小的任务确定为迁移到所述目标处理器核的待迁移任务。结合上述本专利技术第一方面实施例的第七种可能实现的方式中,在根据所述源处理核的平均千条指令缓存失效次数和所述目标本文档来自技高网
...
一种基于缓存感知的确定待迁移任务的方法和装置

【技术保护点】
一种基于缓存感知的确定待迁移任务的方法,其特征在于,所述方法包括:得到至少两个处理器核中的每一个处理器核的信息,所述每一个处理器核的信息包括所述每一个处理器核的负载信息;根据所述每一个处理器核的负载信息确定源处理器核和目标处理器核;监测所述源处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述源处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数计算得到所述源处理器核中的每一个任务的千条指令缓存失效次数,根据所述源处理器核中的每一个任务的所述千条指令缓存失效次数计算所述源处理器核的平均千条指令缓存失效次数;监测所述目标处理器核中的每一个任务的缓存失效次数和执行的指令数,根据所述目标处理器核中每一个任务所述的缓存失效次数和每一个任务所述的执行的指令数得到所述目标处理器核中的每一个任务的千条指令缓存失效次数,根据所述目标处理器核中的每一个任务的所述千条指令缓存失效次数计算所述目标处理器核的平均千条指令缓存失效次数;根据所述源处理器核的平均千条指令缓存失效次数和所述目标处理器核的平均千条指令缓存失效次数确定从所述源处理器核向所述目标处理器核迁移的任务。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐远超范东睿张浩叶笑春
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1