[发明专利]面向片式多核处理器的流编译优化方法有效
申请号: | 201210265612.4 | 申请日: | 2012-07-27 |
公开(公告)号: | CN102855153A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 于俊清;魏海涛;秦明康;余华飞 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/38 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李佑宏 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 多核 处理器 编译 优化 方法 | ||
技术领域
本发明属于计算机编译技术领域,具体涉及一种面向片式多核处理器的流编译优化方法。
背景技术
随着半导体技术的发展,多核处理器已经被验证为开发并行性的一个可行平台。片式结构(tile)多核处理器因为其良好的可扩展性(单块芯片上集成了数十个到几百个核)和低能耗性已经成为一种重要的多核设计。片式结构多核处理器提供了强大的计算处理能力,同时也将更多的负担交给了编译器和程序员以有效地开发核间的粗粒度并行。流编程提供了一种可行的方法来开发多核架构的并行性。在这种模型中,每个结点代表了一个计算任务,每条边代表了计算任务之间的数据流动。每个计算任务都是一个独立的计算单元。它有独立的指令流和地址空间,计算任务之间的数据流动通过先进先出的通信队列来实现。流编程模型以数据流模型为基础,以流编程语言为实现方式。流编译即将流编程语言转换为底层目标可执行程序所涉及到的编译技术。其中,编译优化对流程序在目标处理核上的运行性能起到了决定性作用。
麻省理工学院编译实验室公开了一种流编程语言StreamIt。该语言基于Java,引入了Filter概念。Filter是最基本的计算单元,它是一个单输入单输出的程序块。Filter中各个处理过程用Work来描述,每个Work之间采用Push、Pop和Peek操作以FIFO方式进行通信。同时,针对下一代高性能计算机提出了一种流编译优化技术:首先,编译器采用数据分裂和融合相结合的方法,对计算结点进行分裂与融合,以增加计算与通信开销比;然后把处理过后的计算结点映射到各个处理核上,达到负载均衡,各处理核采用流水线的执行方式,处理核间采用显示的通信来实现数据传输。
StreamIt的流编译优化技术为流编程模型在多核处理器上的调度问题提出了一种解决方案。通过将计算任务分配到各个处理核上,实现了负载均衡,确保了计算任务在处理核上的并行执行。但是,存在以下缺陷:(1)调度到处理核核上的各个计算和通信是分离的,在流水线中单独为其分配了独立的通信时间,因此增加了通信的开销;(2)没有考虑到处理核的底层存储分配优化问题;(3)编译优化方法没有针对片式多核处理器底层的体系架构特性进行优化。总之,对片式多核处理器而言,它在提供强大计算能力的同时,也向程序员开放了其层次性的存储结构与软件通信机制。现有的流编译优化方法,并没有考虑到底层的体系架构,没有充分利用系统硬件资源如存储资源来提高程序的执行效率。
发明内容
本发明的目的在于提供一种面向片式结构多核处理器的流编译优化方法,针对片式多核处理器的架构,对流程序进行优化处理,较大程度地提高了流程序的执行性能。
本发明采用的优化方法以流编译器前端产生的中间表示—同步数据流图作为输入,对其依次进行软件流水调度、存储访问优化和通信优化三级处理,最后生成可执行代码。具体步骤如下:
(1)软件流水调度
数据流图中的结点代表计算任务,边代表计算任务间的通信。首先,对同步数据流图进行任务划分,该子步骤形式化为一个整数线性规划问题,目标为最大化流水线吞吐率,通过求得整数线性规划问题的解,确定每个计算任务分配到的对应处理核,即虚拟处理核。其次,根据计算任务间的依赖关系,为每个计算任务(结点)以及其之间的数据传输操作(DTA)分别分配其在流水线中的阶段号;最后,利用以上两种信息,构造软件流水调度表。
(2)存储访问优化
存储访问优化以步骤(1)的结果软件流水调度表为输入,计算流水线运行所需要的存储容量;然后,根据片式结构多核处理器上的层次性存储结构,将计算任务所需的数据进行优化分配,将尽可能多次访问的数据分配到片上便笺式存储器(SPM),溢出数据放在主存;最后,对软件流水调度中分配在主存的数据拷贝操作进行消除。
(3)通信优化
当计算任务(结点)分配到处理核上后,各个处理核之间的数据通过片上网络进行传输。
对片式多核处理器的片上网络拓扑结构进行分析,采用模拟退火的方法,确定一种通信量最小的映射方式,将步骤(1)中的软件流水调度表中各个虚拟处理核调度映射到实际物理核上。
本发明将数据流调度与片式多核处理器体系结构相关优化结合起来,实现了对流程序的三级优化过程,具体包括软件流水调度,存储访问优化和核间映射的通信优化,提高了流程序在目标平台上的执行性能。具体而言,本发明具有以下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210265612.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动化测试方法及装置
- 下一篇:一种基于Android的开机管理方法