当前位置:文档之家› 高性能计算集群Beowulf

高性能计算集群Beowulf

(en ti ti es )( 包ห้องสมุดไป่ตู้括例 程 、 常 数 和类型等)都以MP工_开头。
. M P工 例 程 和 返 回值:所有 MPI例程 (函数或子程序)在 C或Fortran 调用 中 都 返 回 一 个 整 型 值 , 用以确定 MPI调用的退出状态。
. MP I句 柄 : M PI 定义了自己的用于通讯的数据结构,我们必须通过句
号给另一个节点上的进程,这使得一切都在用户所指定的范畴内运行·
2.3M PI和 PVM
在集 群 上 开发并行代码的关键是各个节点之间的通信,一种常用的办法是在 处理器之间使用消息传递技术,该技术用于早期本地内存并行机的设计,一个消
息非常简单,它包括一些数据和一个目标处理器,公共消息传递 AP工s是 PVM或 MPI,消息传递可通过使用线程有效地实现,当线程在某地使用数据时消息需要
的方法。同PVM相比,MPI只是一个支持并行计算的程序库,并不是一个并行操
作系统。
2、 提 出 MPI的目的是创建一种标准的消息传递接口,设计的关键是速度, 因此MPI速度比 PVM快。MPI尽量利用本地的硬件支持,如直接利用硬件提供的 广播机制,但和无此机制的其它机器通信就会有问题。而 PVM工作围绕“虚拟机” 思想展开,考虑了可移植性、容错和异构性,它的通信要根据对目标机的判断来
Beo wu lf 集群上的节点资源只为这个集群自身所用,每个独立节点的性能不 受外部因素影响,这有助于平衡负载。同时,由于这样互联的网络和外部网络是 隔绝的,网络负载情况只受到在集群上运行的程序影响,这可减轻在工作站网络 中由于意外延迟而造成的影响。所有在集群上的节点在集群的管理权限内运行, 这样集群网络对于外部是不可见的。另一方面,Beowulf的软件提供一个全局的 进程 ID。这就启动了这样一套机制:在系统一个节点上的进程能够传送一个信
第二章 高性能计算集群— Beowulf
运行于 WindowsN T操作系统上。由于 WindowsNT操作系统本身在稳定性、大 型并行计算上与 UNIX系统存在较大差距,所以目前主要在中小型系统上应用。
九十 年 代 末期,Linux操作系统不断走向成熟,它的健壮性也不断增强,并 且提供了GNU软件和标准化的PVM.M PI消息传递机制,最重要的是 Linux在 普通 PC机上提供了对高性能网络的支持,这样就大大推动了基于 Linux的集群
第二章 高性能计算集群一一-Beowulf
中, 句 柄 则是一个整型数,例如 MPI一。MMW ORLD.
令 MPI数据类型:参考 C和 Fortran中的基本数据类型,MPI提供了自
拷贝数据,消息被拷贝的等待时间和速度是使用它的模型的限制因子。消息在 SMP的处理器之间和集群的节点之间运行效果非常好。相对于线程而言,在一个 SMP机器上使用消息的优势在于如果决定将来使用集群则非常容易增加机器和扩
展应用。
第二章 高性能计算集群一一Beowulf
基于 消 息 传递的并行编程模式是集群环境中最常用、最简单的编程环境,PVM
柄 引用 这 些 数 据 结 构 , 这 些 句柄由各个 MPI调用返回,并可能再次 用于 其 他 的 M PI 调 用 。 在 C 语言中,句柄是指向特定的数据类型的
指针 (由 C 中 的 ty pe de f机 制 创建),它是一个MPI多omm类型 (一 个代 表 所 有 处 理 器集 合 的 通 讯 子)的一个对象,而在 Fortran语言
和 MPI是最常用的消息传递并行编程环境。
I, P V M和 MPI都给用户提供了消息传递库,但其基本框架有着很大的区别: PVM除消息传递库外,还提供了为一个或多个 PVM程序创建集群环境的标准方法, 这种集群被称为并行虚拟机;此外它还提出了在并行程序开始前和运行时任务到
物理处理器的分配机制。而 MPI是消息传递标准的一种规范,由一组库函数完成 并行任务之间点到点消息传递通信和集中式通信,而且 MPI还没有指定任务分配
基于 以 上 讨论,在开发HT-7U等离子体位形实时反馈控制系统的核心计算程 序时,我们选择使用 MPI。下面我们简单的介绍如何在 MPI中编写、调试并行程
序。
一个标准的MPI程序由以下部分构成: 今 头 文 件 :对 于 C 程序,必须包含 mpi.h 头文件,而对于 Fortran程
序, 则 包 含 m pif .h o . MP I 命 名 约 定: 为了避免与语言的命名冲突,约定所有的 MPI实体
系统的发展。 Beo wu lf 是 Linux集群的一种,对它的研究是由美国国家航空航天局 (NASA)
于 1994年上半年发起的。从分类上讲,它属于高性能计算集群。在 Linux操作 系统中并没有一个包叫做 Beowulf,实际上它是一个术语,适用于在 Linux内 核上运行的一组公共软件工具,其中包括流行的软件消息传递 API,如消息传递 接口 (MPI)或并行虚拟机 (PVM),对 Linux内核的修改,以允许结合几个以太 网接口、高性能网络驱动器 ,对虚拟内存管理器的更改,以及分布式进程 间通信 (DIPC)服务。公共全局进程标识空间允许使用 DIPC机制从任何节点访问任何 进程,Beowulf还在节点间支持一系列硬件连通性选件。 组成Beowulf的侮一 台个人计算机或工作站叫做 Beowulf的一个节点,它们有各 自的本地内存,通过 消息互相通信,通常 Beowulf集群只有一个节点与外界相连,也就是说,从外界 的角度来看,Beowulf集群就是一台高性能的计算机。
决定通信方式,并且 PVM是一种比较完整的自含式系统,具有很强的进程控制功
能,有丰富的资源控制函数,可随时增删处理机节点,有很强的动态特征,允许 应用程序和计算环境直接打交道;而且在一个发送消息的任务失败时,接收消息 的任务可得到一个任务失效通知,接着会采取相应措施。但是MPI的语义更精确。 作为一种消息传递界面标准,MPI没有严格要求底层的通信协议,它只是应对于 应用程序的通信程序库,至于下层的硬件、协议完全由厂商自己决定。
相关主题