基于集群下的并行计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
·基于分布存储的并行处理系统(MPP) ·共享存储的多处理机(sMP) ·一致缓存不一致内存访问(cc—NuMA) ·分布式系统 ·集群 近年来,使用集群建立原形、调试、运行并行应用程序,成为代替昂贵并行计算机平台的发 展趋势. 1.2并行计算模型 对算法进行理论分析时,需要一种理想化的计算模型,如著名的图灵机就是串行机的模
并行编程环境的开发。使编制并行程序更为容易.在分布式并行计算机系统中,都通过消息 传递的通信机制来完成各处理机之间的数据传递.近年来出现很多基于消息传递的并行程序开 发及运行系统,如PvM、MPI、EXpress、Linda、P4等.其中PvM和MpI是两个在Linux环境下最 流行的软件平台.下面介绍本系统中所用的PVM编程环境.
PvM(Parallel vircual Machine)[2】是一个在网络上的虚拟并行机系统的软件包.PvM支持用 户采用消息传递方式编写并行程序,它提供了跨越异构平台的可移植性和互操作性,
PvM有庞大的函数库。实现各种通信函数.由于提供了一个命令台.用户可以手工增减主 机、任务。启动、停止、监控PvM程序.PvM任务可以动态派生其他任务.尤其在主从模式中,一 般都是由主任务派生若干个一模一样的从任务.PvM还可以动态的增减节点。来调整整个系统 的负载情况.PVM的主要特点可归纳如下:
·支持多用户及多任务运行. ·易于编程。并支持多种并行计算模型,使用传统的c语言和Foman语言. ·实现一个任务向多个任务发消息,以及阻塞和无阻塞收发消息等功能. ·支持异构计算机联网构成的并行虚拟计算机系统。且易于安装、配置. PVM系统由两部分组成:一是PVM守护进程,它留驻于虚拟机中每台计算机上:二是 PVM库函数,该库与用户应用程序相连,用作进程管理,消息传递和虚拟机管理.
关并行计算软件.讨论了集群系统下的一些概念和需要解决的一些问题.
关键词:集群系统:并行算法;计算模型;消息传递;编程环境
中图分类号:TP302 文献标识码:B
文章编号:1009—8445(2004)02一()019一04
1引 言
计算机发展到今天,已深入应用到各行各业,随着应用需求的不断提高,对计算提出了极 高的具有挑战性的要求.如作数值气象预报时,为了提高气象预报的准确性,估计在经度、纬度、 和大气层方向上至少要取200×loo×20=40万个网格点,需要大规模的高精度的计算,一般计算 机上的传统计算方法已无能为力.大规模科学计算的常用方法是并行计算.由于集群系统具有 性能价格比好,费用低等优点,我们在教学和科研中用普通计算机联接成网络,构成集群系统 实现并行计算. 1.1并行计算机发展
6 结束语
本文提出了校园网系统建设中无线局域网技术与有线局域网络技术相结合,优化校园网络使 用环境的基本方案,它基本涉及了各类校园实际环境对网络建设的要求,在校园网建设中具有很强 的实用性.可以预测,作为局域网络技术的新宠,随着技术的成熟和性价比的提高,无线局域网络技 术必将得到广泛地应用,校园网中无线局域网与有线局域网的结合是局域网发展的一个重要方向.
万方数据
群是一个系统.用户面对的是一台计算机而不是多台计算机,就如同使用一台超级汁算机一 样,运行程序时用户感觉不到多计算机的存在.ii)单一文件层次:进入系统后,用户看到的是一 个文件系统,而不是同一文件系统在多个节点上的拷贝,对文件的使用就如同它们在同一个文 件系统内一样.此时用户也感觉不到多节点的存在.NFs、AFs以及solaris Mc都是实现单一文 件层次的方法.iii)单人口点:用户使用一套显示器、键盘、鼠标等通过单一虚拟主机接口登录、 使用、管理或控制集群,与系统打交道的感觉与使用一台Pc机或服务器一样,包括提交程序运 行.系统能够透明地在多节点上分布用户的登录和连接请求等.iv)单一内存空间:用户使用集群 时能够感觉到他可以使用的内存空间比在使用其Pc机时要大得多,但感觉不到这样的内存是 分布在多个节点上.v)位置透明:用户不关心究竟是哪个节点提供了相应的服务、资源的物理位 置等,就如同其在使用自己的Pc机.其它诸如单一I/o、单一互连网络、单点控制、节点对称 性、单一用户接口、单一作业管理等也都是单系统映像所应具有的特征.对用户来说。其目的就 是使用户感觉不到群机的存在.并行文件系统是其一个方面.单系统映像对群机系统来说至关 重要,没有它。即使是一堆互相连接起来的节点机也构不成能完成并行计算的具有高性能的群 机系统.
自20世纪70年代初到现在,并行计算机出现了各种不同类型。包括向量机、单指令多数据 流机sIMD(sin西e Instmcdon Multiple—Data)、多指令流多数据流机MIMD(Mul邙le—Instmction Muldple—Daca).随着计算机的发展,曾经风行一时的向量机和sIMD计算机已退出了历史舞台, MIMD类型的并行机占了主导地位.最常见的系统包括:
(5)选择网络接口卡(NIc).根据确定的互连网络选择相应的网卡,如有必要,也可能需选 择智能网卡(smart NIC).
(6)选择集群中间件,包括单系统映像(ssI,sin斟e system Image)和可用性基础设施(AI. AVailabilicy In&astmccure)等‘3|.单系统映像对用户提供以下特征:i)单系统:对用户来说,整个集
图1 Pc集群计算环境结构图
21
万方数据
3 串并行算法比较
对于任意两点的最短路径问题.Dijkscra算法【4]是一常用的方法. 有向图G=(v,E),v是G的顶点集,E是G的边集.顶点个数是n,一个加权矩阵w标明 每个边的权重. 要求对任意两个顶点,确定其间的最短路径.结果用n×n的矩阵表示,^代表i到j的最短 路径.如图2所示,两个顶点a和b之问有三条路径,其最短路径是(a,d,c,b).
2 构造集群计算环境
在搭建集群系统时,首先要确定构造集群的目的、侧重点以及性能要求等.并从以下几方面 考虑:
(1)控制节点(即前端机)的设置.可以将一个计算节点同时用作控制节点.也可以单独设置 一个控制节点.在搭建小规模独立集群系统时可以不单独设置控制节点.
(2)选择计算节点配置,根据应用目的确定节点机及其配置,比如高性能pc、服务器、工作 站等.本系统采用Pc机作计算节点.
(7)可用性基础设施可根据应用需要进行配备,如电子表格、系统管理工具等.在时间关键 的应用中需要考虑全局时间同步,主要是所有计算节点时间同步的问题.
(8)并行编程环境,例如编译器、PVM、MPI、Linda、jpvM、jMPI等,在有软件实现DsM情况
百度文库时可能需要ope洲P.
(9)并行程序设计语言,例如Fortran 90、HpF、pc++、cc++、HPc++、】AvA(需要jPvM或 jMpl支持)等.
4 结束语
集群系统这一新的并行处理系统形式正成为当前研究的热点.由于时间和条件(下转34页)
22
万方数据
(如宿舍、实验室、教室和办公室、会议室等),应该铺设有线网络线路作为网络主干线路.由于各种 原因学校会出现下面不便于铺设有线线路的教学管理区域或单元.如下面情况:环境条件问题无法 铺设有线网络线路场所,不经常使用网络资源场所,流动性、临时性需要使用网络资源场所,处于变 动时期或即将需要改建搬迁的场所等等.这些地方可以以有线线路作为主干线路,利用无线网络作 为辅助线路。构建有线无线混合型的校园网络系统,优化校园网络使用环境,达到满足校同仟何区 域都可以方便地使用校园网络资源,又避免浪费、节省经费的目的[4-5|.
(3)确定互连网络.互连网络可以采用Fast Ethernet/S谢cch、ScI、HiPpI、SAN、ATM或直接进 行点对点连接构成超立方体或mesh网等结构.典型的集群连接带宽超过10MB/s(即80Mb/s). 延迟小于10微秒.
(4)确定节点机操作系统.根据计算的性质确定,可以是分层或微内核结构.比如Linux、 NT、solaris、unix、AIx等.本系统采用LinuX操作系统.
(10)节点监控和管理软件.它主要用于监控各节点的状态,如正常工作与否、电压、温度、风 扇是否运行正常、资源利用情况等,也包括对节点的资源进行用户级的有效管理软件.以达到较 高的利用率,比如作业管理软件可以提供批处理、负载平衡等功能.作业管理系统有LsF (Load sharing Facilicy)、DQS(Distribuced Queuing s弘tem)即cocline和Condor等.
(11)快速通信协议和服务.在并行计算环境中,通信效率极为关键,高性能计算与高可用性 服务都需要快速通信协议.标准的Tcp/IP协议提供了应用的简单性,但一般额外开销 (oVedoad)较高,其效率可能满足不了高性能集群的要求,因此,一般都需要提供底层通信支持. 以改善通信性能.目前已有的支持集群系统的底层通信有:精简协议、活动消息、快速消息、内存 通道、虚拟内存映像通信、sP2用户空间协议等.具有单独控制节点的Pc集群计算环境结构如 图1所示.
2、并行F10yd算法解决任意两点的最短路径,需要将任务进行划分、处理机分配,和消息传 递.在pvM下的主从模式中,主任务为从任务指定一个标识符,并将相应的矩阵w的sTRIPE 传递给各从任务.
(1)p=任务数. (2)用n除以p,分配给各个子任务,余数分给第一个子任务. (3)For k=0 to(n一1),执行4—5步 (4)如果第k列归我处理,则将其广播给其他任务,否则等待从其他任务处接收. (5)根据F10yd算法更新元素. 可以看出串行程序设计与并行程序设计的方法有很大的区别.在串行程序设计中.考虑的 是第一步做什么,第二步做什么,前后步骤之间如何传递数据,整个过程符合人们的逻辑思维. 而并行程序设计时,需要考虑数据在存储器中的划分,计算的划分,处理机的划分及消息传递等 问题,这就要求对各个处理机统筹安排,分工合作.在编程过程中会涉及到串行程序设计中不会 遇到的问题,如不确定性、通信、同步、数据划分、负载平衡、容错、异构、共享、死锁以及竞争条 件等.这些对软件开发人员提出了新的重大挑战.
收稿日期:2003—04—04 作者简介:杨族(1963一).女.重庆江北人。贵州大学计算机科学系讲师。
19
万方数据
型.对于并行计算模型有PR AM.BsP,Lo妒等.其中Lo妒模型是一种分布存储的点到点通信的 多处理机模型,这个模型充分表明了网络的性能特点,又不涉及具体的网络结构.Lo妒模型…主 要由4个参数描述:L(Latency):表示消息从源到目的地的延迟;o(overhead):表示处理器发送/ 接收一条消息所需的额外开销;g(Gap):表示处理器可连续发送或接收消息的最小间隔;P (Processor):表示处理器数目.LogP模型用参数L、o、g和P刻画了并行机的主要瓶颈,足以反映 并行算法设计时的主要实际问题,因而是一种较接近实际的计算模型. 1.3并行编程环境
图2演示最短路径计算
1、用F10yd顺序算法解决该问题,需要5步: (1)A为一矩阵,代表任意两点之间的距离,初始化为w. (2)For k=o co(n一1),执行3~5步. (3)For i=0 to(n一1),执行4~5步. (4)For i=o co(n一1),执行5步.
(5)If Aij>(Aik+心),then舢=越k+竭
参考文献: [1】Jim Geier王群等译.无线局域网[M].北京:人民邮电出版社。2001.3—12. [2]牛伟.无线局域网[M].北京:人民邮电出版社,2003.19—91. [3]Tara M.swalninatha、charles R.Elden王超译.无线安全与保密[M].北京:清华大学出版社,2003.23—36. [4]黎连业.网络综合布线系统与施工技术[M].北京:机械工业出版社,2003.228—277. [5]王友贵.无线局域网技术在校园中的应用[J].安庆师范学院学报,2003,(2).
第25卷第2期 全鲤璺垒堡星
肇庆学院学报
V。l·25 N。·2
JQ蚁!些业圣堂Q垡巡_型匦巡竖L—一——————』匹垡鲤
基于集群下的并行计算
杨旗
(贵州大学计算机科学系,贵州贵阳s50025)
摘 要:大规模科学计算的常用方法是并行计算,从性能和费用等方面考虑,优先选择的系统应是集群
机——即将一群PC机用网络以某种结构互连起来,统一调度、协调处理以实现高效并行计算.芩文介绍了相
相关文档
最新文档