基于处理器内核动态的实时动态关键路径多核调度方法技术

技术编号:21891323 阅读:77 留言:0更新日期:2019-08-17 14:17
基于处理器内核动态的实时动态关键路径多核调度方法,主要解决现有的调度方法没有结合核内实际情况来确定调度序列和调度序列就无法改变的问题。本发明专利技术方法包括:任务图转换模块采用fork节点的方法将DAG任务图转换为树形的图结构;将这些节点按照拓扑次序放置于若干个存储空间(以下称其为内核执行队列),得到一个初步的内核执行序列;设置内核初始状态,让调度方法适应内核数量,以及内核实时状态的方式调整内核的任务执行序列;在每一次内核执行队列内节点发送改变时,都可以根据改变后内核执行队列的状态,来确定是否需要调度节点,以及是否合并内核执行队列。

Real-time Dynamic Critical Path Multi-core Scheduling Method Based on Processor Kernel Dynamics

【技术实现步骤摘要】
基于处理器内核动态的实时动态关键路径多核调度方法
本专利技术涉及一种基于处理器内核实时状态的多核动态调度方法。
技术介绍
多核多线程处理器的发展对传统的编译技术提出了挑战。目前大多数应用程序都是基于串行模式编写的,如果直接运行于多核处理器,不能发挥多核处理器的高并行处理能力。为了适应多核多线程处理器,传统的并行编译技术被引入。在并行编译中为了充分利用多处理器资源来运行并行程序需要面临许多问题:程序划分问题,也就是将原先完整的程序划分成多个可以并行执行的任务;任务调度问题,既将通过程序划分后的子任务调度分配到合适的核上执行使得程序的整体执行时间最短;还有就是任务之间的通信同步,及保持不同内核上的数据一致性问题。程序划分可以按照划分的方式分为手工划分,人机交互划分以及自动划分。任务调度的好坏直接影响系统的性能,如果调度不当,则很可能将并行的优点完全给抹煞掉,甚至比串行的效果还差。从调度的时机来看,可以分为静态和动态的。静态调度指的是完全由编译器在编译时决定,程序行为(包括各个任务运行时间、通信、数据依赖以及同步等)必须是编译时就已知的,通常将任务或线程之间的关系用DAG图表示,其中节点表本文档来自技高网...

【技术保护点】
1.基于处理器内核动态的实时动态关键路径多核调度方法,其特征是: 任务图转换模块采用fork节点的方法将DAG任务图转换为树形的图结构,将这些节点按照拓扑次序存储于若干个内核任务执行队列(以下称其为内核执行队列),得到一个初步的内核执行序列;基于全部子任务执行状态可预知的前提,确认合并某些内核执行队列,以及调度内核执行队列内某些节点对程序总完成时间的影响,在每一次内核执行队列内节点发生改变时,都可以根据改变后内核执行队列的状态,来确定是否需要调度节点,以及是否合并内核执行队列,以此完成动态的多核任务关键路径调度,使程序基于内核现有情况尽快尽可能节省内核地完成。

【技术特征摘要】
1.基于处理器内核动态的实时动态关键路径多核调度方法,其特征是:任务图转换模块采用fork节点的方法将DAG任务图转换为树形的图结构,将这些节点按照拓扑次序存储于若干个内核任务执行队列(以下称其为内核执行队列),得到一个初步的内核执行序列;基于全部子任务执行状态可预知的前提,确认合并某些内核执行队列,以及调度内核执行队列内某些节点对程序总完成时间的影响,在每一次内核执行队列内节点发生改变时,都可以根据改变后内核执行队列的状态,来确定是否需要调度节点,以及是否合并内核执行队列,以此完成动态的多核任务关键路径调度,使程序基于内核现有情况尽快尽可能节省内核地完成。2.根据权利要求1基于处理器内核动态的实时动态关键路径多核调度方法,其特征是:所述的调度方法具体实施步骤如下:步骤1:任务图转换模块采用fork节点的方法将DAG任务图转换为树形的图结构;步骤2:如果节点的入度大于一或子节点是key节点,这些节点称其为key节点,在里面记录前驱节点的任务类型,及其所在的内核执行队列,以拓扑次序依次放入关键节点调队列Key_List;步骤3:创建叶子节点数量的称为内核执行队列的队列,从叶子节点开始将放入内核执行队列,直至父节点的入度大于1,则另起一个内核执行队列存储从另一...

【专利技术属性】
技术研发人员:谢志强刘冠成
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:黑龙江,23

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

1