分布式内存多核处理器流程序虚拟机研究
发布时间:2020-07-12 21:52
【摘要】:随着多核处理器成为主流产品和工业标准,如何在屏蔽处理器底层细节简化编程方式的同时充分利用多核处理器的并行资源,是并行程序设计领域的研究热点和难点。流编程作为一种高效的并行编程模型提供了显式的并行性,广泛用于多媒体处理和科学计算等数据和计算密集型领域。流编程模型受到了广泛的关注,各大芯片厂商和科研机构都研制出不同的多核体系结构来支持流应用,但它们都只开发针对自己平台的软件系统,使得流应用在各平台间移植困难。针对以上问题,需要对流程序的跨平台问题进行系统研究。 通过向流编程模型Brook中加入数据流模型设计了新的流编程模型DFBrook,可以同时支持数据级和任务级的并行,编程人员可以通过向C代码中嵌入流代码来表达特定程序模块的数据流执行。为了使DFBrook应用程序在不同的多核处理器上易于移植并充分利用并行资源,设计并实现了流程序虚拟机(Stream program Virtual Machine, SVM)来优化处理流应用。SVM对不同多核体系结构的关键部分进行提炼,如内存层次、处理器结构和数据传输引擎等,形成抽象机模型,并定义了一组应用程序接口,以编译器辅助消息驱动的动态调度方式来完成流应用到抽象机模型上的高效映射,不同的多核处理器对这些接口有着特定的实现。 实验以CELL处理器和龙芯众核处理器Godson_T为平台,选取数字媒体领域常用的算法作为测试程序,从不同方面对SVM的性能进行测试与评估。实验结果表明,SVM具有较好的扩展性,在具有不同系统配置的多核处理器上达到了接近线性的加速比,并保持了较高的负载均衡率和较低的通信开销。
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP333.1
【图文】:
大部分抽象机只描述了单个处理器外加一些寄存器,栈和内存[38],k 编程需要支持真正的并发操作以实现计算和内存操作的重叠。因此,S多个线程,这些线程之间还会进行交互。3.2是SVM抽象机模型体系结构图。SVM抽象机由一个控制处理核(ConC)和若干个从处理核(Slave Core, SC),外加一个片外存储器(Off-)组成。SC 由 DMA 引擎、本地流存储器(片上存储器)、本地寄存器(L, LR)和流执行单元(Stream Excution Unit, SEU)组成。
CAMDDS)。由编译器辅助产生附加代码供运行时系统生成计算任找任务间的依赖关系建立数据流图(Data Flow Graph, DFG);任务调度器G,将可运行的任务以消息的形式分发给各个处理核;各个处理核处理完任务状态和流参数的位置等信息反馈给调度器;调度器依据这些反馈信息对解依赖,对后续节点任务进行调度。CAMDDS 实现了任务的优化执行,使并行化调度,减缓了存储器和网络带宽压力。.1 CAMDDS 调度模型CAMDDS 调度模型不同于以往的纯静态或纯动态调度模型,它首先利用静生的任务信息,在运行时建立 DFG,然后启动任务调度器分析 DFG,动态映射到处理核上。调度方式采用集中式调度:控制核 CC 负责任务调度,多SCs 负责数据处理,核间采用消息进行通信。图 3.3 给出了 CAMDDS 调度模过程示意图。
4 流程序虚拟机在 CELL 处理器上的实现CELL 处理器是为实现高性能计算而设计的一款异构多核处理器,其强大的计算能力和高片上存储带宽为流应用的执行提供了大量的并行资源。第三章设计了 SVMAPI,并给出了主核和从核上的运行时算法,本章将针对 CELL 处理器架构,对 SVMAPI 在 PPE 端和 SPE 端的运行时实现进行详细描述,并利用多媒体领域常用的算法作为测试程序对此 SVM 实现进行评估。4.1 CELL 体系结构4.1.1 CELL BE 总体介绍
本文编号:2752536
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP333.1
【图文】:
大部分抽象机只描述了单个处理器外加一些寄存器,栈和内存[38],k 编程需要支持真正的并发操作以实现计算和内存操作的重叠。因此,S多个线程,这些线程之间还会进行交互。3.2是SVM抽象机模型体系结构图。SVM抽象机由一个控制处理核(ConC)和若干个从处理核(Slave Core, SC),外加一个片外存储器(Off-)组成。SC 由 DMA 引擎、本地流存储器(片上存储器)、本地寄存器(L, LR)和流执行单元(Stream Excution Unit, SEU)组成。
CAMDDS)。由编译器辅助产生附加代码供运行时系统生成计算任找任务间的依赖关系建立数据流图(Data Flow Graph, DFG);任务调度器G,将可运行的任务以消息的形式分发给各个处理核;各个处理核处理完任务状态和流参数的位置等信息反馈给调度器;调度器依据这些反馈信息对解依赖,对后续节点任务进行调度。CAMDDS 实现了任务的优化执行,使并行化调度,减缓了存储器和网络带宽压力。.1 CAMDDS 调度模型CAMDDS 调度模型不同于以往的纯静态或纯动态调度模型,它首先利用静生的任务信息,在运行时建立 DFG,然后启动任务调度器分析 DFG,动态映射到处理核上。调度方式采用集中式调度:控制核 CC 负责任务调度,多SCs 负责数据处理,核间采用消息进行通信。图 3.3 给出了 CAMDDS 调度模过程示意图。
4 流程序虚拟机在 CELL 处理器上的实现CELL 处理器是为实现高性能计算而设计的一款异构多核处理器,其强大的计算能力和高片上存储带宽为流应用的执行提供了大量的并行资源。第三章设计了 SVMAPI,并给出了主核和从核上的运行时算法,本章将针对 CELL 处理器架构,对 SVMAPI 在 PPE 端和 SPE 端的运行时实现进行详细描述,并利用多媒体领域常用的算法作为测试程序对此 SVM 实现进行评估。4.1 CELL 体系结构4.1.1 CELL BE 总体介绍
【参考文献】
相关期刊论文 前4条
1 文梅;李海燕;伍楠;张春元;李礼;;流体系结构抽象模型研究[J];计算机工程与科学;2006年07期
2 林伟;叶笑春;宋风龙;张浩;;众核处理器中使用写掩码实现混合写回/写穿透策略[J];计算机学报;2008年11期
3 龙国平;张军超;范东睿;;众核体系结构对Cilk语言的硬件支持及评测研究[J];计算机学报;2008年11期
4 宋风龙;刘志勇;范东睿;张军超;余磊;;一种片上众核结构共享Cache动态隐式隔离机制研究[J];计算机学报;2009年10期
本文编号:2752536
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2752536.html