一种基于众核系统的任务调度方法及装置制造方法及图纸

技术编号:8105602 阅读:198 留言:0更新日期:2012-12-21 04:11
本发明专利技术提供了一种基于众核系统的任务调度方法及装置,通过将微处理器众核系统划分成管理调度区和任务执行区,针对不同应用和当前系统资源情况由调度算法以及编译指导命令生成编译信息,调度单元接收编译信息将需要调度的线程调度到合适的PE(Processor?Element),构建满足要求的计算模式,通过配置子网形成合适的虚拟计算群VCG(Virtual?Computing?Group);任务执行区在调度单元的调度下做出应对策略,进而实现动态、在线重构,本方案可提高众核平台的微处理器资源利用率,高效调度任务集,优化系统性能,提高精简众核系统的吞吐率。

【技术实现步骤摘要】

本专利技术涉及计算机任务调度和资源映射
,特别涉及ー种基于众核系统的任务调度方法及装置
技术介绍
目前,微处理器微体系结构的发展有以下四个重要趋势第一、单芯片集成的系统结构。采用SoC(System On Chip)技术实现传统计算机系统在单个芯片内的微型化和集成化是微处理器研究与设计的ー个重要趋势。在单个芯片内集成多个处理器核、核间互连网络以及片内多级存储层次,构成的单芯片多处理器CMP(Chip Multiprocessor)。随着芯片规模的不断扩大,未来的趋势是将更大規模的MPP系统(结点数目几十到上百数量级,甚至更多)集成到单个芯片上,形成众核(many-core)微处理器。第二、精简的处理器核心。在单片高集成度的前提下,处理器核功能的精简化(Reducing)是微处理器研究与设计的另ー 个重要趋势,如IBM的Cyclops 64,Cell以及OCPUnSPARC Tl等微处理器都采用了相对简单的处理器核。采用RISC (Reduced Instruction Set Computing)思想,精简化是将处理器核的逻辑根据目标应用的特性进行简化,保留用途最大(使用最频繁)的必要计算资源,形成精简处理器核。第三、应用为导向的可重构设计。分析目标应用的特性,面向目标应用的特性进行微体系结构设计是微处理器研究的另ー个重要趋势。随着社会的发展,不断出现的新应用对微处理器微体系结构提出了新的要求。第四、性能和功耗的权衡管理。随着集成度的提高,以及エ艺尺寸进步带来的漏电流増大,使功耗成为单芯片众核发展的障碍。因此,对处理器的要求从单ー的追求功耗,转移到了对能耗比的追求,以最低的功耗取得最高的性能。随着计算机微处理器发展的趋势与特点越来越明显,在保证性能要求和安全的前提下,众核的任务调度和资源映射等技术应运而生。其基本思想如下在尽可能少地损失性能的前提下,在底层硬件和上层应用之间加上虚拟层,它可以合理地进行硬件资源管理、任务调度、隔离不同应用等。但是随着众核系统中PE (Processor Element)的不断增加,高度増加的任务数目和计算量使现有技术无法满足调度和管理的需求。同时,现有的任务调度技术,没有体现出高度灵活性。一方面,针对动态性而言,现有技术制约了动态可重构。单个PE可能无法快速完成任务,需要ー些PE组成虚拟计算群VCG (Virtual Computing Group),构成功能更加强大的计算单元,才能根据实时资源需求和可靠性需求,支持单线程、多线程、SIMD、宏流水和冗余计算等基本计算模式,从而满足系统要求。另ー方面,针对在线重构性,对单个任务而言,现有的任务调度技术无法实现在任务执行期间,为其在线添加或释放资源,同时保证其他任务的正常运行。因此,如何最大限度的使用众核平台的微处理器资源,高效调度任务集,优化系统性能,提高精简众核系统的吞吐率,使系统满足不同应用的需求,成为未来众核发展的关键技木。针对现有技术中存在的问题,本方案提出一种基于众核系统的任务调度方法及装置是计算机任务调度和资源映射
目前急待解决的问题之一。
技术实现思路
有鉴于此,本专利技术实施例提出了一种基于众核系统的任务调度方法及装置,通过将微处理器众核系统划分成管理调度区和任务执行区,针对不同应用和当前系统资源情况由调度算法以及编译指导命令生成编译信息,调度单元接收编译信息将需要调度的线程调度到合适的PE,构建满足要求的计算模式,通过配置子网形成合适的虚拟计算群VCG ;任务执行区在调度单元的调度下做出应对策略,进而实现动态、在线重构,本方案可提升使用众核平台的微处理器资源,高效调度任务集,优化系统性能,提高精简众核系统的吞吐率。为解决上述技术问题,本专利技术实施例的目的是通过以下技术方案实现的—种基于众核系统的任务调度方法,包括 步骤一、微处理器众核系统划分成管理调度区和任务执行区;步骤ニ、依据编译指导信息,调度单元根据当前应用阶段性需求,将需要调度的线程调度到合适的PE上,构建满足要求的计算模式;步骤三、任务执行区根据调度程序给出的指导信息做出应对策略,进而实现动态、在线重构。优选的,上述步骤一中,进ー步包括调度算法、资源管理算法、编译指导命令在操作系统用户态,调度単元工作在操作系统内核态,映射到有操作系统的管理调度区。优选的,上述调度算法负责多个应用到任务执行区PE的映射。优选的,上述资源管理算法基于树的数据结构,根据当前调度单元反映的资源使用情况为应用分配任务区空闲的PE,负责任务执行区空闲PE的管理。优选的,进ー步包括根据不同应用特性由用户插入编译指导命令告知编译器应用的实时性与优先级、单个任务的阶段划分、以及合适的计算模式等细节情况,和调度算法配合指导下层调度单元做出相应策略。优选的,上述编译指导命令根据任务优先级、计算模式、线程阶段性等告知编译器相应细节,使编译器认知任务的特性,同时配合调度算法,合理分析当前任务进程的实时资源需求情況,根据现有资源对PE进行合理划分,并给出编译信息。优选的,上述调度单元不仅检测任务执行区的PE工作状态信息,而且根据编译信息把应用的线程与PE绑定,同时配置子网,形成单个任务独占的VCG,最后把线程交给任务执行区。优选的,上述步骤一中,管理调度区由I个核组成,根据形成的进程/线程数,ー个核运行专门用作调度单元。优选的,上述步骤ニ中,进ー步包括,调度算法根据函数(线程)之间的数据传递、通信等关系,调度能够即时运行的线程,同时根据程序的通信关系,安排线程所在PE的相对位置。优选的,上述根据程序的通信关系,安排线程所在PE的相对位置为通信量越大的线程应该安排在相对近PE上,反之亦然。优选的,上述调度算法在程序的每个阶段的线程全部完成时,进行一次阶段性重构,在线增加或释放PE,调整VCG和子网的形状与大小。优选的,上述调度算法指导相应的VCG进行计算模式的重构或阶段性资源增減,同时调度单元发送给路由器相应的路由算法,最后形成含有不同数量PE、不同拓扑的VCG。优选的,上述步骤ニ中,进ー步包括,编译指导命令运行在操作系统用户态,告知编译器应用的实时性与优先级、单个任务的阶段划分、以及合适的计算模式等细节情况,和调度算法配合指导下层调度单元做出相应策略,进行初始调度。优选的,上述步骤三中,将所有精简的微处理器(PE)划为任务执行区,管理调度核运行操作系统和调度算法、编译指导命令;任务执行区根据调度程序给出的指导信息做出不同应对策略,该区可以实现动态、在线重构,每ー个VCG的规模和计算模式根据不同的应用和系统资源需求情况进行重构。优选的,上述步骤三中,任务执行区分为多个虚拟计算群VCG,每个虚拟计算群相互独立,根据应用的自身特性占用不同数目的PE。 优选的,上述步骤一中,进ー步包括资源管理算法,任务初始映射根据PE的数量以及这些PE形成的VCG拓扑形状和位置,在矩形资源上挖去所需的资源,并把其他空闲资源划按照一定规则分为几个小矩形,成为树的叶节点;在任务执行过程中,根据任务的在线运行需求,为其分配或释放PE资源;在任务完成后,释放所有被使用的资源,小矩形重新合并成空闲的大矩形。优选的,上述资源管理算法在任务执行过程中,若需在线添加PE,可在树的拥有该任务编号的最深的子节点下查本文档来自技高网
...

【技术保护点】
一种基于众核系统的任务调度方法,其特征在于,所述方法包括:步骤一、微处理器众核系统划分成管理调度区和任务执行区;步骤二、依据编译指导信息,调度单元根据当前应用阶段性需求,将需要调度的线程调度到合适的PE上,构建满足要求的计算模式;步骤三、任务执行区根据调度程序给出的指导信息做出应对策略,进而实现动态、在线重构。

【技术特征摘要】
1.一种基于众核系统的任务调度方法,其特征在于,所述方法包括 步骤一、微处理器众核系统划分成管理调度区和任务执行区; 步骤ニ、依据编译指导信息,调度单元根据当前应用阶段性需求,将需要调度的线程调度到合适的PE上,构建满足要求的计算模式; 步骤三、任务执行区根据调度程序给出的指导信息做出应对策略,进而实现动态、在线重构。2.根据权利要求I所述的方法,其特征在于,所述步骤一中,进ー步包括调度算法、资源管理算法、编译指导命令在操作系统用户态,调度単元工作在操作系统内核态,映射到有操作系统的管理调度区。3.根据权利要求2所述的方法,其特征在于,所述调度算法负责多个应用到任务执行区PE的映射。4.根据权利要求2所述的方法,其特征在于,所述资源管理算法基于树的数据结构,根据当前调度单元反映的资源使用情况为应用分配任务区空闲的PE,负责任务执行区空闲PE的管理。5.根据权利要求2所述的方法,其特征在干,进ー步包括根据不同应用特性由用户插入编译指导命令告知编译器应用的实时性与优先级、单个任务的阶段划分、以及合适的计算模式等细节情况,和调度算法配合指导下层调度单元做出相应策略。6.根据权利要求2所述的方法,其特征在于,所述编译指导命令根据任务优先级、计算模式、线程阶段性等告知编译器相应细节,使编译器认知任务的特性,同时配合调度算法,合理分析当前任务进程的实时资源需求情況,根据现有资源对PE其进行合理划分,并给出编译信息。7.根据权利要求2所述的方法,其特征在于,所述调度单元不仅检测任务执行区的PE工作状态信息,而且根据编译信息把应用的线程与PE绑定,同时配置子网,形成单个任务独占的VCG,最后把线程交给任务执行区。8.根据权利要求I或2所述的方法,其特征在于,所述步骤一中,管理调度区由ー个或多个核组成,根据形成的进程/线程数,一个核运行专门用作调度单元。9.根据权利要求I所述的方法,其特征在于,所述步骤ニ中,进ー步包括,调度算法根据函数(线程)之间的数据传递、通信等关系,调度能够即时运行的线程,同时根据程序的通信关系,安排线程所在PE的相对位置。10.根据权利要求9所述的方法,其特征在干,所述根据程序的通信关系,安排线程所在PE的相对位置为通信量越大的线程应该安排在相对近PE上,反之亦然。11.根据权利要求9所述的方法,其特征在于,所述调度算法在程序的每个阶段的线程全部完成时,进行一次阶段性重构,在线增加或释放PE,调整VCG和子网的形状与大小,实现任务的在线重构。12.根据权利要求9所述的方法,其特征在于,所述调度算法指导相应的VCG进行计算模式的重构或阶段性资源增减,同时调度单元发送给路由器相应的路由算法,最后形成含有不同数量PE、不同拓扑的VCG。13.根据权利要求I所述的方法,其特征在于,所述步骤ニ中,进ー步包括,编译指导命令运行在操作系统用户态,告知编译器应用的实时性与优先级、单个任务的...

【专利技术属性】
技术研发人员:付宇卓刘子杨蒋江刘婷
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1