(电力系统及其自动化专业论文)pc机群环境下电力系统mpi并行潮流计算的研究.pdf_第1页
(电力系统及其自动化专业论文)pc机群环境下电力系统mpi并行潮流计算的研究.pdf_第2页
(电力系统及其自动化专业论文)pc机群环境下电力系统mpi并行潮流计算的研究.pdf_第3页
(电力系统及其自动化专业论文)pc机群环境下电力系统mpi并行潮流计算的研究.pdf_第4页
(电力系统及其自动化专业论文)pc机群环境下电力系统mpi并行潮流计算的研究.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文第ll 页 a b s t r a c t t h e p a r a l l e lp o w e rf l o wc a l c u l a t i o ni s a ni m p o r t a n tm e t h o dt oe n h a n c et h es p e e do f m u l 6 p l e d a t a p o w e rf l o wo p e r a d o n ,a n di t i s t h el o w c o s t , h 谚h e f f i c i e n c yp r 0 j e c t p r o c e e d e di nac l u s t e ro fp c s t h i sp a p e rf i r s d yi n t r o d u c e dt h eb a s i ct h e o r yo fp a r a l l e l a l g o r i t h m s ,a n dt h e nd i s c u s s e dt h ed u s t e ro fp c ss y s t e ma n dm p i a c c o r d i n gt ot h i s t h e o i t ,a na p p r o p r i a t el a b o r a t o r ye n v i r o n m e n t ,as i m p l e c l u s t e ro fp c sb a s e d0 1 1 w i n d o w s 2 0 0 0a n dm h w a se s t a b l i s h e d t h e r ea t e g r e a td i f f e r e n c e sb e t w e e nt h e n e w l yd e v i s e dm p ip r o g r a m m i n gm o d ea n dt h et r a d i t i o n a lo n e s e c o n d l y ,t h i sp a p e r d i s c u s s e dt h em e t h o dh o wt op r o c e e dt h em p i p a r a l l e lp r o g r a m i n g i nc l u s t e re n v i r o n m e n t a n dh o wt oi m p l e m e n tt h ei e e e 一3 0a n di e e e 一118n o d e sp o w e r s y s t e mm p ip a r a l l e l p o w e r f l o wc a l c u l a t i o n t h e6 m ed i f f e r e n c e sb e t w e e np a z a u e lp o w e rf l o wa n dt r a d i t i o n a l o n ew e r ea n a l y s e da f t e rt h i s p r o g r a mw a st e s t e d i na d d i t i o n ,t h e e f f e c t so fp a r a l l e l e f f i c i e n c yc a u s e db yn e t w o r kc o r r l t n u n i c a t i o ni np a r a l i e lp o w e rf l o wa n dt r a d i t i o n a lo l l e w e r ea l s o c o m p a r e d f i n a 3 j y , f r o mt h et h e o r e t i ca n dp r a c t i c a ls t u d y , t h ef e a s i b i l i t y o f p r o c e e d i n gp a r a l l e lp o w e rf l o wc a l c u l a t i o ni nc l u s t e ro fp c sw a sd i s c u s s e da n ds o m e m e a n i n g f u l c o l l d u s i o n sw e r ea l s oa c h i e v e d k e y w o r d s :c l u s t e ro fp c s ;m e s s a g ep a s s i n g ;m p i ;p a r a l l e la l g o r i t h m s ;p o w e rf l o w c a l c u l a 曲n 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 由于高性能计算机的发展以及其应用的目益广泛,对科学技术以至整个人类 社会都产生了巨大影响。人们越来越清楚地认识到,计算机己经成为理论分析和 实验并歹0 的第三种科学研究手段,并且充当着越来越重要的角色。同时,计算机 数值模拟与辅助设计对计算机的性能提出越来越高的要求。为了满足发展的需 要,除了提高元器件的速度之外,系统结构也必须改进,特别是在现有的元器件 速度达到极限时,改进计算机系统的系统结构,跳出元器件速度的物理限制,就 显得更加必要。现阶段,计算机系统结构的改进主要i 羽绕着并行处理技术展开, 即增加同一时闻间隔内的操作数量,这样一来,单处理器计算机系统就很难满足 高性能计算的需求。此时,研究发展并行计算就显得尤为重要。使用并行处理技 术,在并行计算机上设计求解问题的方法称之为并行计算。并行技术主要用于有 大规模、高性能计算的应用领域。 1 1 国内外机群计算发展现状 当今硬件技术( 包括处理器技术、存储技术以及网络方面的技术) 的发展, 使得构建机群系统的性能价格比得到进步提高,从而使得机群系统的应用也 得到进一步的发展。 2 0 0 3 年1 1 月的国际t o p 5 0 0 超级计算机排名中,由机群组建的超级计算机 占总数的4 1 6 。( 图1 - 1 是国际t o p 5 0 0 排名前1 0 的超级计算机的基本情况, 排名第3 第7 和第1 0 的都是机群并行系统。) 也就是说,国际上机群在很多领 域已经取代了昂贵的大型计算机来做并行计算。 在国内,机群系统也得到了一定程度的应用。比如清华大学所组建的清华机 群系统,主要应用在以下四个方面:1 作为网络服务器2 动态信息监测3 天气预 报4 湍流场计算。目前清华大学正在研制组建清华机群系统2 代。 目前国内外机群计算的应用:首先是科学计算,各种物理化学仿真和模拟, 生物制药的分子动力学模拟基因排序,大量科学数据的处理等等不胜枚举。其次 西南交通大学硕士研究生学位论文第2 页 是关系刭国计民生抟方面,有石漓勘探。天气预报,汽车飞机设计,大型溺站事 务处理,电信或无线,多媒体制作等行业。 序计算机僵用君五用领域基准性瞧峰值性能 1日奉地嶂漠拟器 日本地球模拟中心气霉与环境 ,s8 6 4 09 6 2 美国h p “a q美国l a n l 国家实验室核武器 1 38 8 2 0 4 8 3 美国d u g t e rv i r g j n i a t e p ,则称该条件下,该算法具有超线性加速比。 ( 4 ) 可扩展性。可扩展性是设计高性能并行计算机和并行算法所追求的另个 重要目标。由于并行系统的性能与系统规模、问题规模、算法内在并行性以及由 于通信、同步和进程创建等引起的系统开销等因素有关,而这些因素对并行系统 的结构和应用程序的可扩展性都有影响,因此可扩展性也是衡量并行系统性能的 一个重要度量指标。衡量系统可扩展性的方法有很多,一般采用等效率度量方法。 所谓等效率是指系统规模增加时,测量增加多少运算量会保持效率不变。 2 8 并行算法设计应注意的问题 根据并行化的特点分析,无论采用什么方法进行设计并行算法,以下几点都 是决定并行效率的重要因素湖f 卅: 第一,挖掘并行性。针对一个具体问题设计其并行算法时,可根据求解该问 题的串行算法出发,分析其明显的并行性,加以并行化,并应该利用相关知识, 深刻挖掘问题内在的可并行性。 第二,并行算法依赖并行的环境。并行算法与进行并行运算的环境密切相关, 同一个并行算法在不同的并行系统上运算的差别很大。所以说,要根据并行运算 的环境有针对性的设计并行算法。 第三,考虑通信开销。通信开销是一个必须考虑的因素,因为有时通信在整 个算法中占用时间的比例很大,特别是在分布存储的并行环境下,要尽量减少通 信开销,才能设计出高效率的并行算法。 西南交通大学硕士研究生学位论文第13 页 第3 章p c 机群系统及m p i 消息传递 3 1p c 机群系统 可扩展并行p c 机群1 5 1 1 4 3 是目前进行超级计算的一种解决方案,也是目前最好、 最经济的一种方案。机群系统是利用高速通用劂络将一组高性能工作站或高档p c 机,统一调度,协调处理,实现高效并行处理的系统。其基本计算节点可以是普 通微机,而分布式操作系统和计算软件是开放的,可以免费下载。 从结构和结点间的通信方式来看,它属于分布存储系统,主要利用消息传递 方式实现各主机之间的通信,由建立在一般操作系统之上的并行编程环境完成系 统的资源管理及相互协作,同时也屏蔽工作站及网络的异构性。对程序员和用户 来说,机群系统是一个整体的并行系统。机群系统中的主机和网络可以是同构的, 也可以是异构的。目前己实现和正在研究中的机群系统大多采用现有商用工作站 和通用l & n 网络,这样既可以缩短开发周期,又可以利用最新的微处理器技术。 大多数机群系统的并行编程环境也是建立在一般的u n i x 操作系统之上,尽量利 用商用系统的研究成果,减少系统的开发与维护费用。 从应用的角度看,r t s c 技术、网络技术和并行编程环境的发展使得机群系统 这一新的并行处理系统形式正成为当前研究的热点 6 1 1 7 1 。 由于r i s c 技术的发展,使得微处理器的性能不断提高。高档芯片的运算能 力平均每年增长3 0 ,价格不断降低,直接使用商用工作站或p c 机作为运算结 点的机群系统在结点性髓上能够同处理器的发展保持同步增长。 网络技术的进步使得松散耦合系统的通信瓶颈逐步得到缓解。网络传输速度 的提高,有效地提高了应用程序之间的通信带宽。快速以太网的速率为1 0 0 m b p s , a t m 局域网的带宽达到1 5 5 m b p s ,6 2 2 m h p s 的产品也已经研制成功。而开关技术 的发展则大幅度地降低了传输延迟,使得许多高速局域网能和m p p 中的专用互 连网络的性能相当。 并行编程环境的开发使得新编并行程序或改写串行程序更为容易。并行应用 程序的开发和不同系统之间的可移植性一直是传统并行系统能否广泛应用的 个关键。由于机群系统的发展,近年来出现了多个并行程序开发及运行系统,比 西南交通大学硕士研究生学位论文第14 页 如p v m ,m p i ,e x p r e s s ,n n d a ,p 4 等。这些系统的适应平台非常广,应用程序 在这些系统上的可移植性较好。特别是p v m 和m p i ,由于其开放性,受到许多 大学和研究机构的广泛重视,并在这些环境下开发了许多应用程序。 运用机群系统进行并行运算的研究,主要原因是它与传统的并行处理系统相 比有以下几个明显的特点: ( 1 ) 系统开发周期短。由于机群系统大多采用商用工作站和通用l a n 网络, 使结点主机及系统管理相对容易,且可靠性高。开发的重点在通信和并行编程环 境上,既不用重新研制计算结点,又不用重新设计操作系统和编译系统,节省了 大量的研制时间,缩短了开发周期。 ( 2 ) 系统价格低。由于生产批量小,传统巨型机或m p p 的价格都比较昂贵, 往往要几百万到上千万美元。而构成机群的工作站或高档p c 机是批量生产的, 因而售价较低。由近十台或几十台工作站组成的机群系统可以满足相当多应用的 要求,且价格较低。 ( 3 ) 节约系统资源。由于机群系统的结构比较灵活,可以将不同体系结构,不 同性能的工作站连在一起,这样就可以充分利用现有设备。从使用效率上看,机 群系统的资源利用率也比单机系统要高得多。u cb e r k e l e y 汁算机系1 0 0 多台工作 站的使用情况调查表明,一般单机系统的使用率不到1 0 ,而机群系统中的资源 利用率可达到8 0 左右嘲。另一方面,即使用户设备更新,原有的一些性能较低 或型号较旧的机器在机群系统中仍可发挥作用。 ( 4 ) 系统扩展性好。从规模上说,机群系统大多使用通用网络,系统扩展容易; 从性能上说,对大多数中、粗粒度的并行应用都有较高的效率。 3 2 机群环境并行算法的设计 对于相同的计算模型,可以有多种不同的并行算法来描述和刻画。由于并行 算法设计的不同,可能对程序的执行效率有很大影响i s l g l i l o l 。 并行算法基本是随着并行机的发展而发展的。不同的并行算法是根据问题类 别的不同和并行机体系结构的特点而设计的。一个好的并行算法既要很好的匹配 并行计算机硬件体系结构的特点,又要反映求解问题内在的并行性。 对于机群环境,设计并行算法的思路相比传统计算环境的设计思想有了很大 的不同。一个很重要的原则就是设法加大计算时间相对于通信时间的比重,减少 西南交通大学硕士研究生学位论文第15 页 通信次数。这是因为对于机群系统,一次通信的开销远远大于一次计算的开销, 因此要尽可能的降低通信的次数,或将几次通信合并为一次通信。 图3 - i 简单描述了机群系统s p m d ( s i n g l ep r o g r a m m u l t i p l ed a 曲并行算法设计 的一般模式。 通信 或 等待 通信 或 等待 图3 - 1 机群系统s p m d 并行设计模式 前面已经分析得出,机群系统的效率主要受通信开销所制约。如果能实现计 算和通信的重叠,将会大大提高整个程序的执行效率。图3 。2 描述了计算与通信 重叠的s p m d 并行算法的设计模式。 计算气 通信 计算 。 计算 通信 j _ + 了叶 i 计算与通信的重叠部分 图3 - 2 计算与通信重叠的s p i v l d 并行计算模型 西南交通大学硕士研究生学位论文第16 页 3 3 消息传递机制 消息传递是并行编程模型的一种重要模式。所谓消息传递就是指并行执行的 部分之间通过消息传递来交换信息、协调步伐、控制执行。消息传递般是面向 分布式存储结构,但是它也可以适用于共享存储的并行机。消息传递为编程者提 供了灵活的控制手段和表达并行的方法,灵活性和控制手段的多样性,也是消息 传递并行程序能提供高的执行效率的重要原因。 在编程设计的级别方面,消息传递机制属于低级别的设计模型。这是因为, 消息传递模型一方面为编程者提供了灵活性,另一方面,它也将各个并行执行部 分之间复杂的信息交换和协调、控制的任务交给编程者,这在一定程度上增加了 编程者的负担。 虽然如此,消息传递的基本通信模式是简单和清楚的,学习和使用并不困难。 在目前,大量的并行程序设计使用的都是消息传递并行模型。 3 4m p i 系统简介 并行程序日益增强的简易性和灵活性增加了它对于科学家或工程师的吸引 力。在众多的并行程序库中,应用较广泛的有消息传递接口( m p i ) 标准和并行虚拟 机( p v d 环境。p v m 是o a kr i d g e 美国国家实验室和t e r m e s s e e 大学在1 9 8 9 年开 发出来的;m p i 诞生于数年之后,是由美国几所大学和美国国家实验室出于创建 消息传递库标准的目的共同开发成功的。 对m p i 的定义1 2 6 1 1 2 n 2 8 1 ,可从以下三个方面来认识: f 1 ) m p i 是一个库,而不是门语言。m p i 库可以被f o r t r a n 或c 语言 调用,它遵守调用语言语法中对过程或函数的调用规则。 ( 2 ) m p i 是一种标准或规范的代表,而不特指某一个对它的具体实现。现 在,几乎所有的并行计算机制造商都提供对m p i 的支持,可以在网络中免费得到 m p i 在不同并行计算机上的实现。一个正确的m p i 程序,可以不加修改地在所有 并行机上执行。 ( 3 ) m p i 是一种消息传递编程模型,并成为这种编程模型的代表和事实上 的标准。m p i 虽然很庞大,但是它的最终目的是服务于进程间通信这一剐示。 西南交通大学硕士研究生学位论文第17 页 m p i 的标准化开始于1 9 9 2 年4 月。在1 9 9 2 年1 1 月推出了m p l l 。并在1 9 9 3 年2 月完成修订版本。1 9 9 5 年6 月推出了m p i 的新版本m p l l 。对原来的m p i 作 了进一步的修改、完善和扩充。1 9 9 7 年7 月,在对m p i 做了重大扩充的基础上, 又推出了m p i 的扩充部分m p i 一2 ,而把原来的m p i 各种版本称为m p i 一1 。m p i 1 目前已经基本成熟稳定。m p i 一2 目前己经出现实验测试性版本f 如m p i c h 2 ) ,但 还没有完整的正式版本。 m p i 的特点概括来说有三方面:较高的通信性能;较好的程序可移植性;强 大的功能。具体来说,包括以下几个方面: ( 1 ) 通用性:m p i 是可移植的标准平台,其通信单元包含上、下文和组的信息, 以保证消息传递的安全性。 ( 2 ) 点对点通信:m p i 能有效地管理消息缓存区,具有结构化缓存、扩充数据 类型及异构性,m p i 异步执行时能保护用户的其它软件不受影响,能实现完全的 异步通信。立即发送与接收可完全与计算重叠进行。 ( 3 ) 数据汇集方式:具有内定和用户自定义的数据汇集操作方式,可对大量数 据进行整体传输,可直接或依拓扑结构定义子组。 f 4 ) m p i 的实现方式多样化,同一编程界面可有多种开发工具,具有面向应用 的信息传递拓扑结构:内定支持网格和图拓扑结构。 ( 5 ) 良好的操作环境:具有差错控制功能。m p l 2 在i o 、主动消息、进程启 动、动态进程控制等方面有进一步增强。m p i 还有在x 窗口下运行的m p i c h 版 本。用户可以在x 窗口下用u p s h o t 或n u p s h o t 直观地考察m p i 应用程序运行过 程中各处理器之间的同步、计算、消息发送、接收等情况,从而为程序的修改提 供依据。 3 5m p i 的通信模型 分布存储环境下,消息传递是多个并行任务之间沟通的桥梁。m p i 消息传递 的灵活性也体现在通信机制方面。并行程序设计者可以根据通信需求,选择合适 的通信方式,实现高效率的消息传递。i v f p i 提供了点到点通信和全局通信两种通 信形式”。 西南交通大学硕士研究生学位论文第18 页 3 5 1 点到点通信 对于源和目的任务之间的直接通信,m p i 提供了点到点的发送和接收函数。 负责发送的任务将数据放入到发送缓冲区,发送给接收数据的特定目标任务,后 者有相应的接收缓冲区。点到点的通信有两种发送和接收方式:阻塞和非阻塞。阻 塞发送的完成意味着数据已拷贝出缓冲区,即通信缓冲区可重新分配。阻塞接收 的完成意味着到来的消息已拷贝入用户接收缓冲区,即接收方已可以使用。但是, 发送的完成并不意味着个匹配的接收已发生,发送的消息可能被缓存在系统的 缓冲区中。这样,发送可在匹配接收发生之前完成。非阻塞操作可以使得计算与 通信重叠( 必须有系统硬件支持) ,m p i 的非阻塞操作立即返回一句柄,这不意味 着数据已经拷贝出发送缓冲区( 或数据已拷贝入用户接收缓冲区) ,该旬柄可用来 在适当的时候完成( m p i w a m 或检测f m p i t e sd 对应的非阻塞操作。 m p i 提供具有以下语义的阻塞和非阻塞发送: 标准发送:发送可以在相应接收前后发生,发送完成则发送者缓冲区可用; 就绪发送:发送仅在相应接收发生后才能发出,其完成则发送者缓冲区可用: 同步发送:发送可在相应接收前后发生,但仅在接收完成后才返回f 完成) 。 图3 - 3 描述了点到点通信的一般形式。 阻塞发送 数据发送 阻塞接收 1 数据 返回返回 非阻塞发送 非阻塞接收 数据未接收 数据 返回返回 图3 - 3 m p i 中点到点通信 西南交通大学硕士研究生学位论文第19 页 3 5 2 通信器 m p i 的一个关键特征就是通信器。其以对象形式存在,作为通信操作的附加 参数。通信器为开发消息传递程序提供了模块化支持,从而强有力进支持开发并 行库和大规模代码。通信器的概念来自于z i pc o d e 和c c l 的全局通信。在m p i 中,进程以组内的相对r a n k 来标识,通信器参数则说明所涉及的进程组,使用该 通信器的通信操作限制在该进程组的进程之间。这样,一组进程集上的库代码被 用于另一组进程集时,库代码无需改动,而只要重定义描述该进程集的通信器。 每一个通信器定义了一个唯一的进程组通信上下文。由上f 文和区别消息的t a g 一起来进步区别不同迸程上下文的具有同一个标识的消息。上下文由系统严格 管理,对用户是透明的,有力地保证了库代码的消息通信互不干扰。m p i 提供了 各种机制用于创建和管理通信器。在初始化时预定义一个通信器 ( m p i c o h l m - w o r l d ) ,相应的进程组包含了初始化时存在的所有进程。 3 5 3 全局通信 m p i 有一组丰富的全局通信函数,包括b a r r i e rs y n c h r o n i z a t i o n ,b r o a d c a s t , s c a t t e r ,g a t h e r 和各种规约操作。通信器用来标识参与全局通信的进程组,这样全 局通信可以包括任意预定义的进程子集。 3 6m p i 语言绑定 由于m p i 是一个库而不是一门语言,因此对m p i 的使用必须和特定的语言 结合起来进行。f o r t r a n 是科学与工程计算的领域语言,而c 语言是目前使用 最广泛的系统和应用程序开发语言之一,所以在m p i 规范中,m p i 与f o r t r a n 和c 都做了绑定,目前c + + 也得到了支持2 9 。 蘑南交通大学硕士研究生学位论文第2 0 页 3 7i v l p ! 数据类型 m p i 引入消息的数据类型( d a t a t y p e ) 属性的目的有两个:一是支持异构系统计 算;二是允许消息来自不连续的或类型不一致的存储区。例如,可以传送数组的一 列,或传送一个结构值,而该结构的每个元素的类型不同。d a t at y p e s 定义了消 息中不连续的数据项及其可能不同的数据类型。d a t at y p e 由应用程序在执行时通 过基本的数据类型创建。对于c 和f o r t r a n ,m p 均预定义了一组数据类型r 虫口 m p i f i o a t ,m p i c h a r 等) ,这些与语言中的数据类型相对应。另外,用户可 自定义其它的数据类型,如多维向量或类c 语言中的结构。m p i 还允许发送和接 收不同的数据类型,使得数据重映射方便灵活。 3 8m p i 的主要实现【3 0 】 m p i 处于讨沦阶段时,就已经出现了m p i 的模型实现;m p i 标准发布后,国 际上已有许多m p i 实现,其中以自由软件形式发布的l a m 和m p i c he 1 4 1 较为流 行。 l a m ( l o c a l a r e am a c h i n e ) 是o h i o 超级计算中心开发的基于异构网络机群的并 行程序支撑环境,向用户提供m p i 编程界面及一个完整的运行调试环境。l a m 的结构是开放的、高度结构化的。其运行代码f 1 3 - - 部分组成:d a e m o n 、接口库及 维护调试工具( 蚴命令) 。l a m 启动后,在虚拟机的每一个节点上运行一个 d a e m o n ,用户通过l a m 的加载命令以s p m d 或m p m d 形式将任务加载到指定 的节点上运行,用户通过调用库接口完成消息传递。l a m 支持动态进程组及虚 拟机的动态扩充。 m p i c h 是由a t g o r m e 美国国家实验室和密西西比州立大学伴随m p i 制定的 过程联合开发的一个可移植的m p i 实现。在此过程中,i b m 也做出了自己的贡献。 其主要目标是实现一个可移植性好而且高效的m p i 接口。 m p i c h 含三层结构,最上层是n f p i 的a p i ,基本是点到点通信和在点到点 通信基础上构造的集群通信( c o l l e c t i v ec o m m u m c a t i o n ) :中间层是a d i 1 ”层( a 6 s t r a c t d e v i c ei n t e r f a c e ) ,其中d e v i c e 可以简单地理解为某一种底层通信库,a d i 就是对 西南交通大学硕士研究生学位论文第2 1 页 各种不同的底层通信库的不同接口的统一标准;下层是具体的底层通信库,例如 工作站机群上的p 4 通信库等。 西南交通大学硕士研究生学位论文第2 2 页 第4 章构建基于w in d o w s 和胛i 的p c 机群 4 1 典型的机群系统结构口巧池3 机群是一种并行或分布式处理系统,由很多连接在起的计算机组成,像一 个单独集成的计算资源一样协同工 乍。计算机节点可以是p c 或者工作站,拥有 内存、i o 设备和操作系统。节点可以是在起的( 例如多c p u 主机) ,也可以 是物理上分散而通过, a n 连结在一起的。一个连接在一起的计算机机群系统对 于用户和应用程序来说像一个单一的系统,通过消息传递机制实现节点之间的互 相通信,并提供上层的a p i 接口方便用户编程。这样的系统可以提供一种价格合 理的并可获得所需性能和优势的解决方法。典型的机群系统的结构如图4 _ 1 所示。 图4 - 1 机群体系结构参考图 西南交通大学硕士研究生学位论文第2 3 页 4 2 机群硬件环境 我们利用现有的计算机资源,将5 台如下配置的p c 机,通过网线集中到交 换枫上,从而组建了一个小型的机群,为并行程序的运行建立了一个硬件平台。 硬件基本配置为 主要部件配置 屯 c p u 赛扬6 0 0 n 机 内存1 2 8 m k i n g m a x 硬 件 硬盘m m 2 0 g 网络适配器1 0 1 0 0 me t h e m c tn i c 网络交换设备 1 0 0 mf a s te 出e m e ts w i t c h 4 。3 配置软件环境 4 3 1 操作系统的选择 目前,机群系统中的微机操作系统绝大部分选用u n i x 、l i n u x 、w i n d o w s n t 2 0 0 0 x p 三类微机操作系统之一。它们都具有很强的网络支持功能和可靠 性。其中l i n u x 作为著名的开放操作系统,可以在i n t e r n e t 上免费下载,被现 有大多数机群系统作为操作系统。但考虑到w i n d o w s 更为用户熟悉,支持w i n d o w s 的软件种类和数量也远多于其他操作系统,因此作者决定在节点微机上安装 w i n d o w s 2 0 0 0 操作系统。 安装好操作系统之后,对操作系统进行网络配置。在所有的节点微机上安装 t c p i p 网络协议,并将所有的节点微机设置为同一工作组,节点微机定义不同的 网络名以便区分。再将节点微机上计划安装m p i 软件和存储并行程序的硬盘分区 或文件夹设置为共享。 西南交通大学硕士研究生学位论文第2 4 页 4 3 2m p i c h 的配置 m p i c h 是m p i 的一种具体实现形式,在第三章中已对m p i c h 作了简要介绍。 m p i c h 是共享软件,可以从网络上免费下载。 在文献 1 5 卜 1 7 的指引和在反复实践中,本文总结出以下步骤,可以方便 快捷地完成w i n d o w s 2 0 0 0 环境下m p i c h 软件包的配置。具体步骤如下: ( 1 ) 下载m p i c h 软件包 可从h t t p :w w w m c s a n l g o v m p i m p i c h 下载相应的m p i c h 软件包。此处 采用的软件包是m p i c h n t l2 5 e x e 。 ( 2 ) 安装 以管理员的身份登录每台主机,在所有主机上建立一个同样的账户( 当然也 可以在每台机器上使用不同的用户名和账户,然后再建立一个配置文件,使用命 令行的方式运行程序) ,然后,运行下载的安装文件,将m p i c h 安装到每台主 机卜。 打开“任务管理器”中的“进程”选项卡,查看是否有一个m p d e x e 的进程。 如果有的话说明安装成功。以后每次启动系统,该进程将自动运行。 ( 3 ) 注册与配置 安装好m p i c h 之后还必须对每台计算机进行注册和配置才能使用。其中注册 必须对每台计算机都要进行,而配置只要在主控计算机上进行就行了。 注册的目的是将先前在每台计算机上申请的帐号与密码注册到m p i c 1 中去, 这样m p i c h 才能在网络环境中访问每台主机。 配置方法:运行“m p i c h m p d b i n m p i r e g i s t e r e x e ”,首先会提示输入用 户帐号,然后会提示输入两遍密码,之后会问你是否保持上面的设定。如果选择 是,则上面的信息将写入硬盘,否则仅保存在内存中,重启后就不存在了。 为了让程序在多台主机上执行,而不需建立配置文件来给出相应的各个主机 的信息,主控机必须知道当前可用的主机的信息。这时就需要运行m p i c h 的配置 程序来进行配置了。 m p i c h 提供的配置程序是一个图形界面的程序,可以从“开始一 程序 一 m p i c h m p d 一 m p i c hc o n f i g u r a t i o nt o o l ”启动。启动之后的整个界面分为三 栏,在第一栏中点击s e l e c t ,然后在跳出的对话框中选择安装了m p i g h 的主机名。 之后在第一栏的编辑框中会显示出所有选择的主机。检查无误后,点击第二栏的 西南交通大学硕士研究生学位论文第2 5 页 a p p l y ,这时下方的进度条会显示对各主机核查的情况,如果没问题整个进度条 会变为蓝色。最后点击0 k 。整个配置就完成了。 按照以上步骤,构造出个由5 台p c 机组成的,通过1 0 0 me t h e rs w i t c h 连接的,基于w i n d o w s 2 0 0 0 m p i c h 1 2 5 的小型机群并行平台,并将其作为本 论文中论及相关程序的实验环境。 西南交通大学硕士研究生学位论文第2 6 页 第5 章m p i 并行程序设计 5 1 i v l p i 并行程序的两种基本模式 对等模式和主从模式堤:m p i 并行程序的两种最基本的设计模式【1 s 。火部分 的m p i 程序都是这两种模式之一或二者的组合。掌握了这两种模式,就掌握了并 行程序设计的主线。n i p i 程序一般是s p m d 程序,当然也可以用m p i 来编写 m p m d 程序,但是所有的m p m d 程序都可以用s p m d 程序来表达,二者的表达 能力是相同的。s p m d 程序有很强的表达能力,s p m d 只是形式上的表现,其内 容是很丰富的。本论文中涉及的m p i 程序均是s p m d 程序。 5 1 1 对等模式 以下以j a c o b i 迭代为例来描述m p i 对等模式的并行程序设计。 j a c o b i 迭代是一种比较常见的迭代方法,简单说i a c o b i 迭代就是用某点四周 相邻数值点的平均值替代该点的值。它的局部性很好,可以取得很高的并行性, 是并行计算中常见的一个例子。 假设需要迭代的数据在( n + 1 ) * ( n + 1 ) 的二维数组af n + 1 ,n + 1 1 中,i a c o b i 迭代的串行算法描述如下( 程序1 ) 旧: 程序1 串行表示的j a c o b i 迭代( 边界值在迭代中是不变的) d o u b l ea 阿+ 1 】时+ 1 】 b i n + 1 i n + 1 ;参考文献中没有给a 先赋值 f o r 。陋t 产1 0 + + j = n 一1 ) f o r 陋t 仁1 妒+ j = n 一1 ) b 脚d = 0 2 5 8 ( a 扛一1 田+ a b + 1 】d + a 四d 一1 】+ a i d + 1 ) ; f o r ( i n tj _ 1 0 十+ ;j = n 一1 ) f o r t i - 1 十+ j = n 一1 ) a 【i 即= b 四d 】; j a c o b i 迭代的串行算法就是依照矩阵行列,按先后顺序计算每个元素的四邻 域的平均值,最后得出迭代结果。 西南交通大学硕士研究生学位论文第2 7 页 为了并行求解,在对等模式下,将参加迭代的数据进行按列进行近似等分分 割,并假设共有4 个进程同时并行运算。并行运算的模型如图5 - 1 所示。 发送接收发送 接收发送接收 图5 - 1j a c o b i 迭代的数据划分与对应进程 按列划分 3 两边各增加 1 列存放通 信数据 由于在迭代的过程中,边界点的新值的计算需要相邻边界其他块的数据,因 此在每一个数据块的两侧又各增加1 列的数据空间,用于存放从相邻数据块通信 得到的数据。进程0 和进程3 的数据块只需扩大一块即可满足通信的要求,但这 里为了编程的方便和形式的一致,在两边都增加了数据块。计算中的每一个新迭 代点的值都是由相邻点的旧值得到的。 5 1 2 主从模式 主从模式下,一组进程中的一个进程为主进程,负责从进程的生成、初始化, 并分配负载给从进程。从进程完成计算后,将结果传送给主进程,最后由主进程 收集计算结果并合并后输出。 以下以矩阵向量乘c = a * b 为例子介绍主从模式。实现方法:主进程将向量b 广播给所有的从进程,然后将矩阵a 的各行依次发送给从进程,从进程计算一行 和b 相乘的结果,然后将结果发送给主进程。一旦主进程将a 的各行发送完毕, 西南交通大学硕士研究生学位论文第2 8 页 则每收到一个结果,就向相应的从进程发送结束标志,从进程收到结束标志后退 出执行。主进程收集完所有的结果后也结束。分解过程如图5 - 2 所示。 送 回 结 果 图5 - 2 矩阵向量乘的主从并行分解 5 2m p i 基本编程技术 主进程 从进程 m p i 由一组库函数组成,并行程序的各任务通过这些函数进行通信。一个 m p i 并行程序由m p i 任务组成,这些任务可以相同也可以不同。每个m p i 任务 在使用m p i 库之前必须在m p i 环境中登记。一旦m p i 任务在m p i 环境中登记, 就可以和其他m p i 任务进行通信。其本身和目标任务之间可以采用原始的点到点 通信,一组中的所有成员则可以采用集中式通信方式。 m p l l 标准基于静态加载阿,即所有进程在加载完以后就全部确定,直至整个 程序结束才终止,在程序运行期间没有进程的创建和结束。一个m p i 程序的所有 进程形成一个缺省的组,这个组被m p i 预先规定的c o m m u n i c a t o r m p i _ c o m m _ w o r l d 所确定。在m p l 2 标准中,增加了动态生成进程的功能, 但是m p l 2 目前还没有具体的实现版本。 m p i 环境的初始化和结束流程如下:在调用m p i 例程之前,各个进程都应该 执行m p ii n i t ,接着调用m p ic o m ms i z e 获取缺省组 o u p ) 的大小,调用 m p i _ c o m mr a n k 获取调用进程在缺省组中的逻辑编号湫0 开始) 。然后,进 程可以根据需要,向其它节点发送消息或接收其它节点的消息,经常调用的函数 是m p i _ s e n d 和m p i _ r e c v 。最后,当不需要调用任何m p i 例程后,调用 m p i _ f i n a l i z e 消除m p i 环境,进程此时可以结束,也可以继续执行与m p i 无 关的语句。 西南交通大学硕士研究生学位论文第2 9 页 上面提到的六个函数:m p _ i n i t ,m p _ c o m ms i z e ,m p tc o m m r a n k , m p i 二s e n d ,m p i _ r e c v ,m p i _ f i n a l i z e 实际上构成了编写一个完整的m p i 程序所需例程的最小集。 5 3m p i 程序基本框架 m p i 程序以c 或f o r t u n e 程序为载体,所以其程序的基本框架与c 或 f o r t u n e 程序基本相同,m p i 程序的构成如图5 - 3 所示。 相 引 程头关程 文 变序序 量开结 件说始束 明 图5 - 3 ,i 程序的框架结构 5 4m p i 程序的执行 m p i 程序的执行步骤9 q 般为: f 1 ) 编译源程序得到m p i 可执行程序; 对于在同构的系统上执行,则只需编译一次。若系统是异构的,则需要在 每一个异构的系统上都对m p i 源程序进行编译; f 2 ) 将可执行程序拷贝到各个结点机上; ( 3 ) 通过m p i m n 命令( 即运行可执行程序m p i r u n e x e ) 并行执行该m p i 程序。 图5 ,4 描述了m p i 程序的执行过程。 西南交通大学硕士研究生学位论文第3 0 页 图5 4m ,i 程序的执行过程 西南交通大学硕士研究生学位论文第3 1 页 第6 章串行潮流计算及其实现 潮流计算是电力网络设计及运行中最基本的计算。,对电力网络的各种设计 方案及各种运行方式进行潮流计算,可以得到电网各节点的电压,并求得网络的 潮流及网络中各元件的电力损耗,进而求得电能损耗。 6 1 潮流计算问题 6 1 1 潮流方程 对于n 个节点的电力网络( 地作为参考节点不包括在内) ,如果网络结构和 网络元件参数己知,则网络方程可用 y u = , ( 6 一1 ) 表示。式中y 是n x n 阶节点导纳矩阵,d 为n 1 维节点电压列矢量,是n x1 维节点注入电流列矢量。 电力系统计算中,给定的运行变量是节点注入功率,而不是节点注入电流, 这两者之间有如下关系: e 1 ;s ( 6 2 ) 式中,;是节点注入复功率的共轭,是n x l 维莉矢量。三:d i a g 侈a 是由节 点电压的共轭组成的n x n 阶对角线矩阵,由( 6 - 1 ) 式和( 6 2 ) 式,我们可以 写出潮流方程如下: s ;e y u ( 6 - 3 ) 这是n 维非线性复数代数方程组。将上面的方程写成 只一q ;= 移。罗d ,i = 1 , 2 ,n ( 6 4 ) q 。 由于节点导纳矩阵的第i 行只在与节点i 有支路相联位置才有非零元素,故上式 西南交通大学硕士研究生学位论文第3 2 页 的求和号只列出所有和i 相联的节点j ,包括j - - i ,用j i 表示。 若用极坐标表示则有 只一,q 。j u ,( 一q ) 善慨+ j b q ,印, 2 e 弘知“p ,( c o s o o - j s i n o t i ) 故有: ( 6 - 6 ) 式是用极坐标表示的潮流方程。 6 1 2 节点类型的划分 ( 6 6 ) 在潮流计算中,对某节点进行计算的条件是该节点的复功率和电压相量,即 p 、q 、u 、e ,中的两个是已知或给定的,而余下的两个则作为未知数来处理。 在潮流计算中根据原始数据给定的方式,可将电力系统中的节点分为三种类型: ( 1 ) p q 节点:这类节点的负荷功率与电源出力均已确定,从而该节点( 以 i 表示其节点号) 的注入有功、无功功率p ,、q ,均为已知。但该节点的复电压( 电 压幅值v 。和相角0 。) 需经潮流计算后方能确定。系统中的负荷节点和有功、无 功出力都已固定的电源节点均属这类节点。 ( 2 ) p v 节点:这类节点的节点注入无功功率q 。是按照满足节点电压值的要 求调整的,其值需经潮流计算确定。同样,节点电压的相角0 。也需经潮流计算 确定。系统中无功出力有一定储备的电源节点及有可调无功功率补偿装置的负荷 节点均属此类节点。 ( 3 ) 平衡节点:电力系统中电源总出力应随时等于系统负荷与网络损耗之 和。作潮流计算前,网络损耗是未知的,因此不能将电力系统所有电源出力都事 先确定。为达到功率平衡的目的,应有一电源节点的出力是不定的,其值在潮流 计算后,由系统中功率平衡条件确定,这就是平衡节点。潮流计算中还需有电压 基准点,以利于计算。通常就将平衡节点选作基准点,即将此节点( 以b 表示其 节点号) 的电压v n 、o 。选定为某一定值,一般e 。选为零度,因而它也被称为v0 节点。在电力系统计算中,平衡节点是必不可少的。平衡节点可根据有利于计算 j”1 曲 瞄 嘞 + 一 办爵 | ; 咖 嘛 f 留孓僧 阢u = = 只q 西南交通大学硕士研究生学位论文第3 3 页 的原则自由选择,为了与系统实际运行情况相对应,透常将较大容量的调频电厂 选作平衡节点。 综上所述,对于n 个节点的电力系统,选其中第n 个节点为平衡节点,剩 下n 个节点(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论