编译程序的方法以及任务映射方法和任务调度方法技术

技术编号:9935347 阅读:125 留言:0更新日期:2014-04-18 06:57
一种编译将在多核处理器上执行的程序的方法,所述方法包括:通过将任务映射到源处理元件PE和目标PE并选择用于将所述任务从源PE发送到目标PE的通信方案来产生初始解决方案;对包括在初始解决方案中的映射和通信方案进行近似优化;调度所述任务,其中,在编译处理中指定通信方案。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种。提供一种编译将在多核处理器上执行的程序的方法。所述方法可包括:通过将任务映射到源处理元件(PE)和目标PE并选择用于将所述任务从源PE发送到目标PE的通信方案来产生初始解决方案,对包括在初始解决方案中的映射和通信方案进行近似优化,调度所述任务,其中,在编译处理中指定通信方案。【专利说明】本申请要求2012年10月11日提交到韩国知识产权局的第10-2012-0113103号韩国专利申请的优先权,其公开通过引用整体合并于此。
与以下描述一致的设备和方法涉及一种用于编译将在多核处理器上执行的程序以及多核处理器的任务映射和任务调度的方法。
技术介绍
针对多核架构的特性的可比编程可提高多核架构的性能。在使用多核处理器进行编程时,映射是指确定哪些处理元件将根据应用的单独部分或任务来执行,并且将所述确定表示为曲线图的处理。此外,调度是在映射处理之后的处理。调度可确定由处理元件执行的各个任务的顺序和时序。然而,在多核上执行的多核程序非常复杂,以至于手动编写程序导致低编程生产率和/或低程序质量。此外,通过映射和调度处理会增加编程的复杂性。具体地,由于程序的高度复杂性,当程序开发者针对将在源处理元件和目标处理元件之间处理的每个核映射的任务单独指定特定通信方案时,会出现显著的困难。
技术实现思路
根据示例性实施例的一方面,提供一种编译将在多核处理器上执行的程序的方法,所述方法包括:通过将任务映射到源处理元件(PE)和目标PE并选择用于将任务从源PE发送到目标PE的通信方案来产生初始解决方案;对包括在初始解决方案中的映射和通信方案进行近似优化;调度所述任务,其中,在编译处理中指定通信方案。根据另一例性实施例的一方面,提供一种在多核处理器中映射任务的方法,所述方法包括:将任务映射到多核处理器中的多个处理元件中的第一处理元件;以O和I之间的第一概率将所述任务从第一处理元件移动到第二处理元件;以O和I之间的第二概率将已经以第一概率被移动到第二处理元件的任务替换为被映射到第三处理元件的另一任务。根据另一示例性实施例的一方面,提供一种在多核处理器中调度任务的方法,所述方法包括:尝试在第一时间段内调度两个或更多个任务,其中,所述两个或更多个任务将在多核处理器的两个或更多个处理元件上执行;如果调度尝试由于一个任务与另一个任务重叠而失败,则计算任务彼此重叠的时间的长度;在第二时间段内重新尝试调度所述两个或更多个任务,所述第二时间段等于第一时间段与计算的任务重叠的时间的长度的和。【专利附图】【附图说明】通过参照附图详细描述示例性实施例,以上和/或其他方面将会更加清楚,其中:图1A和图1B是示出多核处理器的使用共享存储器彼此通信的处理元件的示图;图2A和图2B是示出多核处理器的通过传递消息彼此通信的处理元件的示图;图3是示出根据示例性实施例的映射任务和确定通信方案的方法的流程图;图4是详细示出根据示例性实施例的改变初始解决方案的步骤的示图;图5是示出根据示例性实施例的以概率β在处理元件之间切换任务的情况的示图;图6是示出根据示例性实施例的以概率(1_β )将任务从一个处理元件移动到另一处理元件的情况的示图;图7是示出根据示例性实施例的优化处理的流程图;图8是示出根据示例性实施例的使用模数算法的指令调度操作的流程图;图9是示出根据示例性实施例的使用修改的模数算法的任务调度操作的流程图;图10是示出根据示例性实施例的编译将在可重构处理器上执行的程序的方法的流程图;图11是示出根据示例性实施例的编译将在可重构处理器上执行的程序的方法的流程图;图12是示出根据示例性实施例的由可重构处理器执行的任务映射方法的流程图;图13是示出根据示例性实施例的由可重构处理器执行的任务调度方法的流程图。【具体实施方式】提供以下描述来帮助读者获得对本文描述的方法、设备和/或系统的全面理解。因此,本文描述的方法、设备和/或系统的各种改变、修改和等同物将被建议给本领域的普通技术人员。此外,为了更加清楚和简明,可省略对公知功能和结构的描述。在整个附图和详细描述中,除非另有描述,否则相同的附图标号将被理解为指示相同的元件、特征和结构。为了清楚、说明和方便,可夸大这些元件的相对尺寸和描绘。图1A和图1B是示出多核处理器的可使用共享存储器120彼此通信的处理元件的示图。在图1A和图1B中,相同的标号表示相同的元件。多核处理器的处理元件(PE) 112a和112b可彼此通信。参照图1A和图1B,处理元件通过共享存储器120彼此通信。经由共享存储器的通信可按阶段执行,如下所示:源PEl 12a可将数据写入共享存储器120。共享存储器120将确认(ACK)发送到源PEl 12a。一旦完成数据写入,源PE 112a可将同步(SYNC )包发送到目标PE112b。然后,目标PE112b可将读取请求发送到共享存储器120。共享存储器120可将由PEl 12a存储的数据发送到目标PE112b。所述方法可易于编程并便于多任务处理。然而,会频繁出现从处理元件112a到共享存储器120的长路径(在图1B中被标记为“路径(共享存储器)”)。此外,使用的共享存储器120还可能具有大的大小和低运行速度。另外,可存在诸如大功耗和低任务执行速度的缺点。图2A和图2B是示出多核处理器的可通过发送消息来彼此通信的处理元件112a和112b的示图。参照图2A和图2B,处理元件(PE)112a和112b可使用布置在每个处理元件中或每个处理元件附近的片上存储器(SPM)来彼此通信。因此,源PE112a可直接将数据发送到目标PE112b,而不必将数据写入共享存储器120 (多核处理器的所有处理元件通常使用该方式)。在此情况下,可通过最短的路径(在图2B中示出为“路径(SPM)”)将数据从源PE112a传输到目标PEl 12b,因此与图1B中示出的路由到存储器120并从存储器120路由出的路径(“路径(共享存储器)”)相比,可减少传输时间。另外,通常SPM可具有与共享存储器相比相对小的容量。因此,使用SPM的数据传输(被称为“消息传递方法”)可具有低功耗的优点。然而,由于SPM的容量小且有限,可能无法使用消息传递方法发送所有消息。从消息传递方法的应用所获得的益处可根据各种因素(诸如,两个计算机之间的距离)而变化。因此,在映射和/或调度处理期间,在基于共享存储器的通信方案和基于消息传递的通信方案之间选择特定的通信方案可能是适当的。图3是示出根据示例性实施例的映射任务和确定通信方案的方法的流程图。在任务调度期间,将任务分配给处理元件,并确定每个任务在源PE和目标PE之间传输的特定通信方案。图3中示出的方法可基于作为概率算法的模拟退火(SA)算法。SA算法的基本过程如下所示:创建初始解决方案。通过随机改变初始解决方案来获得新解决方案。如果新解决方案比初始解决方案好,则用新解决方案替换初始解决方案,如果新解决方案没有初始决绝方案好,则根据预定概率r Cr大于O并且小于I)用新解决方案替换初始解决方案。通过(I)到(3)的过程,SA算法可取得比局部搜索算法更好的解决方案。图3中示出的方法可包括两个步骤:初始解决方案的产生(S100)和初始解决方案的改变(SI 10)。在S100,创建本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201310473475.html" title="编译程序的方法以及任务映射方法和任务调度方法原文来自X技术">编译程序的方法以及任务映射方法和任务调度方法</a>

【技术保护点】
一种编译将在多核处理器上执行的程序的方法,所述方法包括:通过将任务映射到源处理元件PE和目标PE并选择用于将所述任务从源PE发送到目标PE的通信方案来产生初始解决方案;对包括在初始解决方案中的映射和通信方案进行近似优化;调度所述任务,其中,在编译处理中指定通信方案。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:李振浩郑武坰崔起荣赵渊坤柳秀晶
申请(专利权)人:三星电子株式会社首尔大学校产学协力团
类型:发明
国别省市:

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

1