首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--程序设计、软件工程论文--程序设计论文

DGA-一种支持核外计算并行程序编程模型的设计与实现

【摘要】:当今微处理器性能的提高已经不再依赖频率的提升,而是依靠处理器核数的增加来提高处理器的计算能力。例如,Intel公司的至强系列微处理器。但是,通过比较处理器核数和内存容量增加速度的关系,可以发现微处理器核数的增加速度远高于内存容量的增加速度。因此,对于今后的多核微处理器,平均每处理器核可用的内存容量逐渐降低。核外计算技术通过把数据保存到辅存上,降低了内存的占用开销,可以缓解将来平均每处理器核可用的主存容量逐渐降低的问题。但是传统的核外计算技术需要程序员手动的改写并行程序,限制了核外计算技术的使用。针对上述问题,本文提出了一种支持核外计算的并行程序编程模型,Diskextended Global Array(简称DGA)。DGA编程模型基于传统的Global Array编程模型(简称GA,是PGAS编程模型的一种)设计与实现,DGA利用了GA模型的编程接口,修改其运行时系统,使得DGA在运行过程中内存不足的情况下,可以把数据分配到本地辅助存储器上,从而避免因主存不足而导致程序无法执行。本文的贡献包括如下三个方面:首先,本文提出了DGA并行程序编程模型。基于传统的GA编程模型的编程接口,本文在语义上扩展了其可用存储的使用范围,其全局数组的分配不再限制于计算节点的主存中。其次,本文设计并实现了DGA编程模型的运行时系统,该运行时系统能够在运行时自动感知内存资源不足的情况,把数据动态的分配到本地辅助存储或者内存中。为了提高系统的整体性能,本文采用了不同的页面调度算法,设计了优化的存储管理机制,并且为程序员提供了指导全局数组存储位置和在主存替换策略的接口,更加容易地支撑了程序员编写高性能核外计算程序。再次,为了验证DGA编程接口的有效性,本文选取了三个典型测试用例:向量置换、矩阵乘法和大规模图宽度优先生成树算法,来测试DGA编程模型的有效性。实验结果表明:基于DGA的并行程序在引入较小开销的情况下,支持并行程序在内存不足的情况下正确运行。本文的未来工作将围绕更加高效性能的优化算法,设计更多的基于DGA的测试程序。
【关键词】:高性能计算机 GA PGAS DGA 页面调度
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP311.11
论文共80页,点击 下载论文
上一篇:全息穿透成像雷达的图像特性与目标检测技术研究
下一篇:GRAPES切线伴随模式MPI/OpenMP高效算法研究