用于处理单元的动态资源分配的方法和设备技术

技术编号:8745864 阅读:196 留言:0更新日期:2013-05-30 00:50
公开了一种用于具有至少一个处理单元的系统中的动态资源分配的方法和设备。所述动态资源分配的方法包括:接收关于资源要被分配到的任务的信息,并且将所述任务划分为一个或多个并行任务单元;将所述一个或多个并行任务单元转换为任务块,所述任务块具有根据所述并行任务单元的预计的执行时间和在所述并行任务单元之间的依赖性的形状;通过将所述任务块布置在具有时间的水平轴和处理单元的垂直轴的资源分配平面上来向所述任务块分配资源;以及,根据资源分配信息来执行所述任务。因此,可以同时并行地使用在系统中的CPU资源和GPU资源,这提高了整体系统效率。

【技术实现步骤摘要】
【国外来华专利技术】用于处理单元的动态资源分配的方法和设备
本专利技术总体上涉及处理单元的动态资源分配,并且更具体地涉及通过下述方式而执行动态资源分配的方法和设备:向任务块分配处理单元,使得有效地利用中央处理单元(CPU)资源和图形处理单元(GPU)资源两者。
技术介绍
可以使用计算软件来实现诸如CPU、GPU和粗粒度可重构体系结构(CGRA)的处理单元。下面参考图1和2来更详细地描述CPU、GPU和CGRA。如图1中所示,CPU110可以包括执行实际计算的至少一个内核115,并且GPU120可以包括执行实际计算的至少一个处理元件(PE)125。而且,在图1中,与存储器130相关联地图示了CPU110和GPU120两者。近来,已经广泛地使用了具有多个内核的处理器或具有多个PE的GPU。具体地说,诸如GPU的高端处理单元可以包括成百上千的PE。图2图示了粗粒度可重构体系结构(CGRA)的配置。在CGRA中,布置了许多处理元件(功能单元,FU)使得在其间传送输入和输出以用于有组织的处理。以动态的方式来调整要计算的数据的路径和用于处理数据的FU。在CGRA中,如该名称所暗示,通过软件手段可以以较为粗粒度的方式而不是以细粒度的方式来调整用于使用所布置的硬件部件的方法和序列。一个PE可以迅速地执行小操作,并且大量的互连的PE可以执行大的和复杂的操作。在图2中,多个PE通过网格风格的网络来互连。通过PE的可调整的路径来计算操作数。一个PE可以从相邻的PE接收输入,并且产生至相邻的PE的输出,并且可以具有用于存储暂时值的寄存器文件、用于提供重新配置信息的配置存储器和用于计算运算的FU(ALU)。当处理单元的数量增大时,重要的是,有效地管理包括这些处理单元的资源以提高整体系统性能。通常,当CPU调用GPU时启动GPU处理。为了GPU执行任务,CPU可以设置GPU寄存器。已经利用硬件线程来与GPU并行地执行多个操作。使用这些硬件线程,可以将处理元件编组,并且多组处理元件可以并行地执行。如上所述,系统通常向最大化并行操作执行演进。然而,现有技术倾向于依序利用CPU和GPU。图3是图示使用CPU和GPU资源的任务的依序处理的图。更具体地,图3图示了随着时间的CPU310和GPU320的利用。参见图3,正在处理任务的CPU310在特定的时间点调用GPU320。当GPU处理任务时,CPU等待在GPU处的任务的完成。然而,CPU也可以处理不同的任务或程序。在GPU执行期间,不是可以利用所有的处理元件。具体地说,如图3中所示,仅使用活动的处理元件330,并且剩余的处理元件340保持处于空闲状态中。当在GPU处结束任务的处理时,GPU向CPU返回处理结果,CPU然后继续随后的处理。
技术实现思路
技术问题如上所述,在依序的资源利用中,不同时利用CPU和GPU,并且不是使用GPU的所有处理元件。当在GPU中未将任务进行划分时,单个任务可能占用整个GPU。因为大多数应用程序不利用GPU的所有处理元件,所以可能浪费GPU资源,使得系统性能变差。技术方案已经作出了本专利技术以至少处理上面的问题和/或缺点,并且至少提供下述的优点。因此,本专利技术的一个方面提供了一种通过下述方式来执行动态资源分配的方法和设备:向任务块分配处理单元,使得有效地利用CPU资源和GPU资源两者。根据本专利技术的一个方面,提供了一种用于具有至少一个处理单元的系统的动态资源分配的方法。接收关于要向其分配资源的任务的信息,并且将所述任务划分为一个或多个并行任务单元。所述一个或多个并行任务单元被转换为任务块,所述任务块具有基于所述一个或多个并行任务单元的估计的执行时间和是否在所述一个或多个并行任务单元之间存在依赖性而形成的形状。通过将所述任务块布置在具有时间轴和处理单元轴的资源分配平面上来向所述任务块分配资源。根据由所述资源分配平面确定的资源分配信息来执行所述任务。根据本专利技术的另一个方面,提供了一种用于具有至少一个处理单元的系统中的动态资源分配的设备。所述设备包括动态资源分配块,所述动态资源分配块接收关于资源要被分配到的任务的信息,将所述任务划分为一个或多个并行任务单元,将所述一个或多个并行任务单元转换为任务块,所述任务块具有基于所述一个或多个并行任务单元的估计的执行时间和是否在所述一个或多个并行任务单元之间存在依赖性而形成的形状,并且所述动态资源分配块通过将所述任务块布置在具有时间轴和处理单元轴的资源分配平面上来向所述任务块分配资源。所述设备也包括至少一个处理单元,所述至少一个处理单元根据由所述资源分配平面确定的资源分配信息来执行所述任务。根据本专利技术的另一个方面,提供了一种用于具有至少一个处理单元的系统的动态资源分配的制造品。所述制造品包括机器可读介质,所述机器可读介质包含一个或多个程序,所述一个或多个程序当被执行时执行下述步骤:接收关于资源要被分配到的任务的信息,并且将所述任务划分为一个或多个并行任务单元;将所述一个或多个并行任务单元转换为任务块,所述任务块具有基于所述一个或多个并行任务单元的估计的执行时间和是否在所述一个或多个并行任务单元之间存在依赖性而形成的形状;通过将所述任务块布置在具有时间轴和处理单元轴的资源分配平面上来向所述任务块分配资源;以及,根据由所述资源分配平面确定的资源分配信息来执行所述任务。有益技术效果根据本专利技术的实施例,可以同时并行地使用在系统中的CPU资源和GPU资源,提高了整体系统效率。附图说明通过下面结合附图进行的详细描述,本专利技术的上面和其他方面、特征和优点将更清楚,在附图中:图1是图示CPU和GPU的配置的图;图2是图示CGRA的配置的图;图3是图示使用CPU和GPU资源的任务的顺序处理的图;图4是图示根据本专利技术的一个实施例的动态资源分配系统的框图;图5A和5B是图示根据本专利技术的一个实施例的、通过在图4中所示的系统的动态资源分配而产生的任务块的图;图6是图示根据本专利技术的一个实施例的任务块产生方法的流程图;图7是图示根据本专利技术的一个实施例的用于在资源分配平面上布置任务块的规则的图;图8是图示根据本专利技术的一个实施例的在资源分配平面上的任务块布置方法的流程图;图9是图示根据本专利技术的一个实施例的、根据图8的方法在资源分配平面上的任务块的移动的图;图10是图示根据本专利技术的一个实施例的、图4的动态资源分配块450的内部结构的图;图11是图示根据本专利技术的一个实施例的、构成图10的处理库1020的寄存器单元的内部结构的图;图12是图示根据本专利技术的一个实施例的、构成图10的处理库1020的寄存器单元的组合的图;图13是图示根据本专利技术的一个实施例的、通过图4的动态资源分配块450执行的资源分配方法的流程图;图14是图示根据本专利技术的一个实施例的、图13的步骤S1330的调度方法的流程图;以及图15是图示根据本专利技术的一个实施例的动态资源分配方法的流程图。具体实施方式参考附图详细描述本专利技术的实施例。可以通过相同或类似的附图标号来指示相同或类似的部件,虽然在不同的图中示出了它们。可以省略在本领域中已知的构造或处理的详细说明,以避免混淆本专利技术的主题。本专利技术提供了使得能够有效利用CPU和GPU资源的动态资源分配方法和设备。图4是图示根据本专利技术的一个实施例的动态资源分配系统的框图。该动态资源分配系统本文档来自技高网
...
用于处理单元的动态资源分配的方法和设备

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.27 KR 10-2010-00933301.一种用于具有至少一个处理单元的系统的动态资源分配的方法,所述方法包括步骤:接收关于资源要被分配到的任务的信息,并且将所述任务划分为一个或多个并行任务单元;将所述一个或多个并行任务单元转换为任务块,所述任务块具有基于所述一个或多个并行任务单元的估计的执行时间和是否在所述一个或多个并行任务单元之间存在依赖性而形成的形状;通过将所述任务块布置在具有时间轴和处理单元轴的资源分配平面上来向所述任务块分配资源;以及,根据资源分配信息来执行所述任务,其中,当在所述并行任务单元之间不存在依赖性时,将所述形状设置为正方形或矩形,当在所述并行任务单元之间存在依赖性时,将所述形状设置为不具有直角的平行四边形,所述不具有直角的平行四边形的斜率可以根据在并行任务单元之间的依赖性的数量而改变。2.根据权利要求1所述的方法,其中,将所述一个或多个并行任务单元转换为任务块包括:获得关于包括所述任务的所述一个或多个并行任务单元的数量的信息;获得关于所述一个或多个并行任务单元的估计的执行时间的信息;基于是否在所述一个或多个并行任务单元之间存在依赖性来确定所述一个或多个并行任务单元的处理顺序;并且根据所述处理顺序、所述估计的执行时间来设置所述任务块,所述任务块具有覆盖其中布置了所述一个或多个并行任务单元的区域的形状。3.根据权利要求1所述的方法,其中,向所述任务块分配资源包括:将所述任务块布置在所述资源分配平面上的、具有最小时间值的坐标的位置处,同时不与在所述资源分配平面上的任何现有的任务块冲突。4.根据权利要求3所述的方法,其中,向所述任务块分配资源包括:通过下述方式来在所述资源分配平面上执行所述任务块的水平移动:将所述任务块移动到沿着在垂直轴上的最上面的处理单元的具有最小时间值的位置,同时不与在所述资源分配平面上的任何现有任务块冲突;通过将所述任务沿垂直处理单元轴向下移动到不与在所述资源分配平面上的任何现有任务块冲突的坐标来执行垂直移动;确定是否对于所述系统的所有处理单元执行了所述水平移动和所述垂直移动;并且当对于所有的处理单元未执行完所述水平移动和所述垂直移动时,重复所述水平移动和所述垂直移动的执行,直到对于所有的处理单元已经执行完;以及当对于所有的处理单元执行了所述水平移动和所述垂直移动时,将所述任务块布置在所述资源分配平面上的具有所述最小时间值的位置处。5.根据权利要求4所述的方法,进一步包括:当在执行所述任务后接收到新的任务块时,通过对于所述新的任务块重复所述水平移动和所述垂直移动来在所述资源分配平面上向所述新的任务块分配资源。6.根据权利要求4所述的方法,进一步包括:当已经被分配资源的任务块的处理比其估计的执行时间早结束时,通过对于剩余的任务块重复所述水平移动和所述垂直移动来在所述资源分配平面上向新的任务块分配资源。7.根据权利要求1所述的方法,其中,所述至少一个处理单元包括中央处理单元(CPU)的至少一个内核和图形处理单元(GPU)的至少...

【专利技术属性】
技术研发人员:金庆勋吕寅春李承昱金重伯李一浩宋正翼
申请(专利权)人:三星电子株式会社
类型:
国别省市:

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

1