论文部分内容阅读
近年来,以多核集群为主流架构的高性能计算机成为高性能计算的主要硬件支撑平台。而共享变量和消息传递是最常用的两类并行编程模型。但其对并行的描述与表达层次较低。开发者在使用它们时,必须花费许多时间和精力来熟悉并显式地使用它们所提供的各种同步、通信原语,借此来组织并行任务之间的协作关系。而MapReduce并行模型是一种高度抽象、编写串行程序可以自动并行运行、编程接口简单的并行编程模型。它能使程序员在比较高的抽象层次上以一种更易理解和更易使用的方式来表述并行计算问题。HPMR是我实验室为了推广MapReduce模型而设计开发的面向高性能计算的MapReduce系统,支持大规模计算的任务分配和自动并行。目前HPMR的系统性能与直接使用MPI编程还有差距。为了使其更具有实用性,本文结合几种常用的优化技术对该系统展开优化。主要从以下几个方面开展工作:(1)从HPMR系统高性能计算程序的通信特征出发,把处理器底层体系结构中分支预测与推测执行思想引入到HPMR的通信优化中,设计了优化的通信模型。HPMR程序的通信特征是每一轮的KV传输以高概率使用上一轮的KV路由表。这就使得一些MR过程的KV路由过程变得没有必要。如果把底层体系结构中分支预测与推测执行思想引入到KV路由过程的处理过程中,则可以减少没有必要的KV路由过程,提高HPMR的通信效率。(2)研究当前HPMR的内存管理的特点以及缺陷,设计了一个高效的内存管理机制。HPMR的内存管理的特点:冗余而低效、内存拷贝频繁。鉴于此,引入了内存池机制,重新设计了HPMR内存管理机制。(3)基于集群通信高效实现的前提下,展开对路由表进行集群通信识别的优化。在HPMR通信系统的实现中,在路由表的指导下,KV数据传输目前仅能通过点对点通信实现。如果此时它用集群通信例如广播通信或散播通信比较适合,但仍旧只能通过点对点通信低效地一步一步传输。可以对路由表进行优化,使其支持集群通信,避免用点对点通信的低效模拟。本文研究工作的目标:用几种优化技术改进HPMR的系统性能,增强HPMR系统的实用性。