欢迎来到天天文库
浏览记录
ID:40490283
大小:210.06 KB
页数:8页
时间:2019-08-03
《PMI:可扩展并行进程管理A Scalable Parallel Process-Management》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PMI:AScalableParallelProcess-Management可扩展并行进程管理摘要。大规模系统的并行编程模型要求一种可扩展的系统来管理组成了执行并行程序的进程。processmanagement必须能够很快地启动拥有数以百万计进程的并行程序,并且必须提供进程交换信息的机制以使它们彼此连通。MPICH2及其衍生版本通过一个精心定义的接口来实现这个功能,叫PMI,它允许不同的processmanager用标准化的方式和MPI库交互。在本文中,我们描述了PMI的功能。我们描述了PMI-1(目前的为MPICH2及其所有衍生版本通用的),也描
2、述了PMI-2.,第二代的PMI(消除了PMI-1的各种缺陷)。除了接口本身,我们还分别描述了在新的MPICH2processmanagement架构(叫Hydra)中PMI-1和PMI-2的参考实现,并比较它们在运行千个MPI作业时的性能。1引言虽然processmanagement是高性能计算(HPC)的一个组成部分系统,但是它没得到同水平其他方面并行系统软件的关注,却是由来已久了。在百个节点的系统中,processmanagement的可扩展性并不令人关注。随着HPC系统变得越来越大,系统上千个节点和数万的处理内核越来越普遍;事实上,世界上最大
3、的系统已经使用几十万处理内核。对于这样的系统,processmanagement基础架构的可扩展设计成为了各个方面的关键,这些方面包括启动和管理并行应用程序,可调试和管理工具。processmanagement系统必须,也理所当然的,以可扩展的方式的启动和停止进程。此外,它必须提供机制让并行的进程交换信息,以建立它们之间的通信。虽然HPC系统规模的日益扩大需要并行编程库(如MPI)和过程管理器(processmanager)之间的密切交互,但这两个部件之间的适当的分离是必要的。这种分离不仅使得他们可以独立开发和改进,也保持并行编程库足以通用于任何pr
4、ocessmanagement框架。同时,这两个组件必须共享足够的信息,以便允许并行编程库利用其所运行系统的具体特点的优势。考虑到这些要求,我们最初设计了PMI,一个为并行应用程序的通用processmanagement接口。在本文中,我们首先描述第一代的PMI(PMI-1)。PMI-1被广泛用于MPICH2[1]和从它派生的其他MPI实现,如MVAPICH2[4],英特尔MPI[6],SiCortexMPI[12],以及微软的MPI[7](编程库部分),以及许多process-management框架,包括MPICH2的内部process-mana
5、gement(Hydra,MPD,SMPD,Gforker,Remshell),外部process-management,如SLURM[15],OSCmpiexec[9],OSUmpirun[13](process-management部分)。虽然非常成功,PMI-1有一些局限性,特别是当应用于现代HPC系统。这些限制包括涉及到的问题有大量核心在单个节点上的可扩展性,MPI和线程混合编程模型的高效交互,其他。基于我们PMI-1的经验,我们最近设计了一个二代接口(PMI-2),克服PMI-1的缺点。该本文的第二部分介绍了描述了在新的MPICH2proc
6、essmanagement架构(叫Hydra)中PMI-1和PMI-2的参考实现。我们也通过阐述大约6000进程规模上的性能测试结果,比较PMI-2同PMI-1以及其他processmanagement接口的能力。2process-management接口需求在这个部分,我们提供了一个简要概述来描述在大规模系统中可扩展的并行程序管理的processmanagement接口。2.1解耦ProcessManager和Process-Managementinterface在我们的模型中,过程管理包括三个主要部分:(1)并行编程库(例如MPI),(2)PMI
7、库,和(3)processmanager。这些组件就是在图1中举例示,不同的MPI库,PMI库和processmanagers。进程管理器(processmanager)是一个逻辑上中心进程(但往往实际上是分布式的一组进程),用于管理(1)进程启动(包括启动/停止进程中,为每个进程提供的环境信息,标准输入/输出/ERR转发,传播信号)和(2)信息在并行应用程序之间传递(例如,建立交流信道)。几个可用的processmanagers(例如,PBS[8],SUNGridEngine[14],andSSH),已经提供这样的能力。PMI库提供了PMIAPI。
8、然,PMI库的实现,可能依赖于系统本身。某些情况下,诸如用于IBMBlueGene/L(BG/L)[3],P
此文档下载收益归作者所有