论文部分内容阅读
高性能计算已经在国家的科学研究和科技服务行业中占有举足轻重的地位,高性能计算的发展水平已经成为体现一个国家综合科技实力的重要标志。
高性能计算需要硬件支持和软件支持。硬件支持就是高性能计算机(超级计算机)。近几年,多核技术蓬勃发展,为高性能计算注入强大动力。以多核集群为主流架构的高性能计算机正在成为高性能计算任务的最主要的硬件支撑平台。不同并行计算机体系结构模型的编程风范不同。不同的并行编程风范,是建立在不同的并行编程模型上的。共享变量和消息传递是最常用的两类并行编程模型。虽然其模型本身不难理解,但对并行的描述与表达层次较低,缺少对传递各种复杂的用户自定义数据类型的支持。开发者在使用它们时,必须花费许多时间和精力来熟悉并显式地使用它们所提供的各种同步、通信原语,借此来组织并行任务之间的协作关系。程序的复杂性常常会掩盖并行算法和并行程序本身的结构,导致对并行程序阅读、维护和扩展的巨大障碍。
因此,有必要研发新的并行编程模型及其开发环境工具,使它们能在较高的抽象层次上以一种更易理解和更易使用的方式来表述并行计算问题,尽可能对开发者隐藏或屏蔽并行任务间的交互细节,降低编程难度,同时又使程序保持很高的执行效率。本文针对上述问题开展了以下研究工作:
(1)分析传统并行编程模型及其程序开发环境,总结它们的特点,寻找需要改进之处,为研发新的并行编程模型做准备。
(2)研究MapReduce并行编程模型,分析其适合并行计算的优点:高度抽象、编程简单、适用范围广、可扩展性和可移植性好。
(3)改进Google的MapReduce模型,使其适合高性能计算需求。
(4)研究现有MapReduce平台的设计思想和实现方法,设计和实现一套专门针对高性能计算的全新的MapReduce平台--HPMR(High-Performance MapReduce),作为新的并行编程环境工具。
(5)通过实验分析HPMR系统的性能,展示它具有简单、高效和实用的特点,说明其可以作为新一代并行编程平台应用到实际并行应用软件开发中。
本文研究工作的目标:设计并实现HPMR系统,它是一个建立在多核集群上的高性能计算软件支撑平台,它继承并改进了Google的MapReduce并行编程模型,使其适合高性能计算需求,它让并行程序的编辑、编译和运行变得非常简单,同时又保持很高的执行效率。