文档介绍:国防科学技术大学
硕士学位论文
面向MPI程序的进程数据相似性分析与优化技术
姓名:刘福东
申请学位级别:硕士
专业:计算机科学与技术
指导教师:杨学军
2010-11
国防科学技术大学研究生院硕士学位论文
摘要
近年来,随着半导体工艺和体系结构的不断发展,采用共享存储结构的多核
处理器已经成为通用微处理器的主流发展方向,并迅速地在高性能并行计算机领
域得到广泛应用。MPI(Message Passing Interface)是并行计算机中使用最为广泛的
编程模型之一,很多领域中均存在大量的 MPI 应用程序。然而,研究表明,传
统 MPI 程序中大量存在这样一类数据,当程序执行时,多个进程虽然私有访问
该数据在各自进程中的副本,但访问的值是相同的,这使得多个进程对该数据的
访问具有相似性,传统 MPI 程序在执行时需要为每个进程创建一个该数据的副
本,这极大地加剧了系统中共享存储资源的竞争,导致传统 MPI 程序在以多核
处理器为代表的共享存储结构并行计算机上的运行效率面临巨大挑战。
为了避免传统 MPI 程序进程访问数据的相似性对程序执行性能的影响,本
文主要从以下三个方面开展了研究工作:
首先,本文给出了相似数据的定义,通过大量分析传统 MPI 程序中相似数
据的特征,提出了一种共享相似数据的优化方法,同时,利用开源编译器 SUIF2
系统设计了一个相似数据编译优化方法的基本框架,该框架在总体上给出了相似
数据的优化思路,为自动化地实现相似数据编译优化奠定了基础。
其次,本文建立了相似数据共享竞争的分析模型,定义了相似数据共享竞争
以及共享竞争错误等重要概念,详细分析了相似数据共享竞争对共享相似数据
MPI 程序的诸多影响,提出并证明了保证共享相似数据 MPI 程序执行时无相似
数据共享竞争错误的条件,并利用栅栏同步和私有化机制给出了满足程序执行时
无相似数据共享竞争错误条件的优化规则,同时,扩展了现有的 MPI 编程模型,
该模型能够标识出所有在相似数据编译优化过程中需要的信息,为自动化地实现
相似数据的编译优化提供了支持。
最后,本文设计了一个相似数据编译优化的工具——MPI-Optimizer,并结
合操作系统中的共享内存机制、动态内存分配机制以及现有 MPI 编程模型中的
同步机制,利用 SUIF2 系统提供的相关类和方法具体实现了 MPI-Optimizer,从
而自动化地完成了传统 MPI 程序中相似数据的编译优化。
实验结果表明,本文扩展的 MPI 编程模型一种正确有效的编程模型,设计
并实现的相似数据编译优化工具 MPI-Optimizer 能够显著地减少传统 MPI 程序在
以多核处理器为代表的共享存储结构并行计算机上运行时的内存使用量,降低了
Cache 的失效率,提高了程序的执行效率。
主题词:MPI,数据相似性,多核处理器,SUIF,编译优化,MPI-Optimizer
第 i 页
国防科学技术大学研究生院硕士学位论文
ABSTRACT
Recently, with the development of semiconductor technics and architecture,
multicore processors with shared memory architecture e the mainstream of
general microprocessors. MPI (Message Passing Interface) is one of the most widely
used programming models in puters, and massive MPI applications exist
in numerous fields. However, researches show that, a kind of data exists in traditional
MPI programs extensively, and their values are the same though each process
accesses its own copy of the data privately during execution. Consequently, the
accesses to these data have similarity and traditional MPI programs need to create a
copy of them for each process when