MPI的三个主要目的
1 较高的通信性能;
2 较好的程序可移植性;
3 强大的功能。
MPI为自己制定了一个雄心勃勃的目标,总结概括起来,它包括几个在实际使用中都十分重要但有时又是相互矛盾的三个方面,具体地说,包括以下几个方面:
提供应用程序编程接口。
提高通信效率。措施包括避免存储器到存储器的多次重复拷贝,允许计算和通信的重叠等。
可在异构环境下提供实现。
提供的接口可以方便 C 语言和 Fortran 77的调用。
提供可靠的通信接口。即用户不必处理通信失败。
定义的接口和现在已有接口(如PVM,NX,Express,p4等)差别不能太大,但是允许扩展以提供更大的灵活性。
定义的接口能在基本的通信和系统软件无重大改变时,在许多并行计算机生产商的平台上实现。接口的语义是独立于语言的。
接口设计应是线程安全的。
MPI提供了一种与语言和平台无关,可以被广泛使用的编写消息传递程序的标准,用它来编写消息传递程序,不仅实用、可移植、高效和灵活,而且和当前已有的实现没有太大的变化。
MPI的产生
许多组织对MPI标准付出了努力,它们主要来自美国和欧洲,大约有六十几个人,分属四十几个不同的单位。这包括了并行计算机的多数主要生产商,还有来自大学、政府实验室和工厂的研究人员。
有关的工作及其组织包括 Venus (IBM) 、NX/2 (Intel) 、Express (Parasoft) 、Vertex
(nCUBE) 、P4 (ANL) 、PARMACS (ANL) ,还包括Zipcode (MSU) 、Chimp (Edinburgh
University) 、PVM (ORNL, UTK, Emory U.) 、Chameleon (ANL) 、PICL (ANL)等。
MPI的标准化开始于一九九二年四月二十九日至三十日在威吉尼亚的威廉姆斯堡召开的分布存储环境中消息传递标准的讨论会,由Dongarra,Hempel,Hey和Walker建议的初始草案于一九九二年十一月推出,并在一九九三年二月完成了修订版,这就是MPI
1.0。为了促进MPI的发展,一个称为MPI论坛的非官方组织应运而生,该论坛对MPI的发展起了重要的作用。
一九九五年六月推出了MPI的新版本MPI1.1,对原来的MPI作了进一步的修改、完善和扩充。但是当初推出MPI标准时,为了能够使它尽快实现并迅速被接受,许多其它方面的重要但实现起来比较复杂的功能都没有定义,比如并行I/O,当MPI被广为接受之后,扩充并提高MPI功能的要求就越来越迫切了。
于是在一九九七年的七月,在对原来的MPI作了重大扩充的基础上,又推出了MPI的扩充部分MPI-2,而把原来的MPI各种版本称为MPI-1。MPI-2的扩充很多,但主要是三个方面:并行I/O,远程存储访问和动态进程管理。
讲解:
MPI的成功和MPI的产生过程以及MPI为自己制定的目的是密切相连的。功能强、高效、可移植是在实际使用过程中必须强调的几个方面,也是一个系统成败的关键,因此,虽然这几个目标实现起来并不容易,虽然这几个目标有相互矛盾的地方,但是MPI还是坚定地坚持了这三个目标,同时从其产生过程中不难发现它特别强调实用,它吸收了多种前期的消息传递系统的优点,因此才才能够在很短的时间内迅速发展,并成为一种标准。
|