ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:32.69KB ,
资源ID:5922707      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5922707.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(并行计算通信库测试方法研究及实践.docx)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

并行计算通信库测试方法研究及实践.docx

1、 并行计算通信库测试方法研究及实践 熊玉庆1 张云泉2 (中科院计算所, 100080, 北京)1 (中科院软件所, 100080, 北京)2 本文完成于中国科学院软件研究所并行软件研究开发中心,并得到国家863计划资助。 摘要 并行计算通信库的测试在并行计算系统中起一个极其重要的作用。一般对通信库的测试都是通过设计一些测试程序对库的各个或几个部分分别单独隔离测试。但是许多库中的错误是这种隔离测试方法测不出来的,只有当库的多个部分以某种复杂的,有机的方式组合运行时才会暴露出来。这种复杂有机的组合方式,从设计库的测试角度很难形成。本文提出二

2、个新的测试方法,这二方法是根据通信库结构的分层特性,利用可移植的上层库的测试程序来测试下层库。上层库的测试程序也可看作是下层库的应用程序,但与一般的下层库应用程序不同,它几乎覆盖了下层库的各个部分,且有机地将它们组合起来,运行时形成某种复杂的形态,而仅用下层库的测试程序往往达不到这种形态。这样逃过下层库测试程序的错误就可能暴露出来。 关键词 并行计算,通信库,测试方法,MPI,BLACS Study and Practice of Testing Approaches of Communication Libraries for Parallel Computing X

3、iong Yuqing1 Zhang Yunquan2 (The institute of Computing Technology, Chinese Academy of Sciences, 100080, Beijing)1 (The institute of Software, Chinese Academy of Sciences, 100080, Beijing)2 Abstract Testing of communication libraries for parallel computing has an important role in parallel

4、computing systems. In general, testing of communication libraries is done by some testers designed to test every or several parts of the libraries separately. However, many errors of libraries not tested by the separate methods can be exposed when many parts of libraries are running by combination o

5、f them in term of a kind of complicated and organic ways. But it is rather difficult that the complicated and organic combinations result from the design of library testers themselves. This paper proposes two new testing approaches, which are based on the feature of layered library architectures and

6、 tests lower libraries by portable testers of upper libraries. The testers of upper libraries can also be regarded as application programs of lower libraries, but they are different from general application programs of lower libraries. They almost cover very parts of lower libraries, combine them or

7、ganically, and form a complicated situation in run time, which can not be easily obtained only by testers of lower libraries. In this case, the errors may be exposed which can escape from testers of lower libraries. Keywords: parallel computing, communication library, testing approach, MPI, BLAC

8、S 1 引言 并行计算通信库的测试对并行计算系统至关重要,因为一个正确的通信库是并行计算系统的基础。对通信库的测试,一般是对库的各个或几个部分分别隔离测试[1][2]。虽然也有所谓的系统测试,但也往往只是考虑到有限的方面。然而,库中的许多错误是在多个成分以某种有机的方式组合起来相互作用时才暴露出来,而人们很难从测试角度有意识地构造出这种情形。 本文根据通信库的结构特性,提出二个新的测试方法。一般地,通信库结构都是分层的。例如,用于线性代数计算的通信库BLACS[3] (Basic Linear Algebra Communication Subprograms) 是建立在MPI[

9、4]和PVM[5]等通信库上的,而MPI的一个实现MPICH[6]又是建立在P4[7]上的。这二个新的测试方法就是利用某平台上正确的上层通信库的可移植测试程序来测试另一平台上的下层通信库。上层通信库测试程序也可看作下层通信库的应用程序,但是由于上层库的实现一般覆盖了下层库的各个部分,上层库的测试程序又覆盖了上层库的各个部分。因而与一般的下层库应用程序不同,上层库的测试程序也覆盖了下层库的几乎所有部分,且将它们有机地组合起来,在运行时,它们形成一种对下层库来说极复杂的情形。这种复杂的情形从下层通信库测试角度很难人为地构造出来。在这种情形下,许多下层库测试程序不能测的错误就可能暴露出来。 本文以

10、成功地在Hitachi SR2201和曙光2000上运行的,建立在MPI和PVM上的BLACS的测试程序来测试其他并行计算系统(在本文中我们统称它们为X系统)上已通过MPI测试程序测试的MPI系统为例,证明本文提出的测试方法的可行性。 2 通信库测试新方法原理 测试方法一:设LC是一个在平台上的要测试的通信库,UC是建立在LC上的可移植通信库(如图1)。TEST_UC是UC的一个测试程序,在另一平台上TEST_UC成功地通过对UC的测试。因而在平台上TEST_UC的正确性被确保。为了对上的LC库进行测试,把TEST_UC在上运行。由于UC是可移植的,因而如果上的LC是正确的话,TE

11、ST_UC应该与在上一样成功通过;若不能,则应该可以判定是上的LC或其下层库有错误。 UC LC 图1 通信库UC的结构(对于方法一) 测试方法一只能确定LC或其下层库有错误。如果需要准确确定错误位置,则可应用下面的测试方法二。 测试方法二:设LCa和LCb是二个在平台上的要测试的通信库,它们是建立在另一较低层通信库LLC上。UC是建立在LCa和LCb上的可移植通信库(如图2)。TEST_UC是UC的一个测试程序,在另一平台上TEST_UC成功地通过对UC的测试。因而在平台上TEST_UC的正确性被确保。为了对上的LCa和

12、LCb库进行测试,把TEST_UC在上运行。由于UC是可移植的,因而如果上的LCa和LCb是正确的话,TEST_UC应该与在上一样成功通过;若不能,则⑴若对建立在LCa上的UC,TEST_UC不能通过而对建立在LCb上的UC,TEST_UC能通过,则应该可以判定是上的LCa有错误;⑵若对建立在LCb上的UC,TEST_UC不能通过而对建立在LCa上的UC,TEST_UC能通过,则应该可以判定是上的LCb有错误;⑶若都不能通过,则上LLC有错误的可能性比LCa和LCb都错的可能性大。 UC UCUC LCb LCa LLC

13、 图2 通信库UC的结构(对于方法二) 在上述二个测试方法中UC的可移植性很关键,否则的话,当TEST_UC在上不能通过时,就不能判定是上的LC(对方法一)或LCa或LCb或LLC(对方法二)有错误。因为这时候的错误可能是UC不可移植带来的。 测试方法一比测试方法二简单,快捷。但测试方法二可更准确地定位错误。当用测试方法一确定LC或其下层库有错误,但很难确定错误的准确位置时,可用测试方法二。若满足测试方法二中⑶的条件,则错误出在LC下层库的可能性很大。这时,可将注意力集中在LC的下层库中进行排错。 3 BLACS,BLACS测试程序及MPICH测试程序 BLAC

14、S是一个面向线性代数计算的,可移植的通信库,它是建立在MPI和PVM等较低层的通信库上的。在并行计算系统X上BLACS的结构如图3所示. BLACS系统基本上由二部分组成:通信子程序和支撑子程序。通信子程序由点到点通信,广播通信和组合操作组成。支撑子程序主要由系统初始化,退出系统及逻辑进程网格信息获取组成。建立在MPI和PVM上的BLAC的这些部分几乎涉及MPI和PVM的各个部分。 图3 通信库BLACS在系统X上的结构 BLACS测试程序对BLACS的上述各个部分分别进行测试,重点对通信子程序,尤其是广播通信和组合操作测试较多,对各种矩阵的形状,大小,各种数据类型,各种逻辑进

15、程网格形状,及群通信时数据在进程之间的流向等进行多种组合测试。 MPICH是MPI的一个著名实现[1]。MPICH测试程序也是对MPICH的各个部分分别进行测试。这些测试是由很多小的测试程序来执行的。它们分成下面几类: ⑴ 测试各种点到点通信子程序; ⑵ 测试各种群通信子程序; ⑶ 测试通信上下文(context)操作; ⑷ 测试环境子程序; ⑸ 测试拓扑子程序; ⑹ 一些其他的测试程序。它们进行一些所谓的系统测试,但考虑的情形很简单。 由此可看出,MPICH的测试程序并没有对MPICH的各个部分进行复杂的混合的测试。事实上,很多复杂的情形从测试程序的设计角度,也很难构造出来。

16、 BLACS测试程序虽然是为测试BLACS而进行设计的,考虑的情况是有限的。然而它对于下层的MPI来说,却是一个极复杂的应用程序。由于BLACS几乎涉及MPI的各个部分,而BLACS测试程序又完全覆盖了BLACS的所有部分。因而与一般的MPI应用程序不同,它几乎覆盖了MPI的各个部分,且将它们有机地组合在一起,运行时呈现出一个极其复杂的状态,这种状态是MPICH测试程序达不到的。这样,逃过了MPICH测试程序的错误可能这时就暴露出来了。基于这一情况利用第2节的方法,我们用已经在曙光2000和Hitachi SR2201上顺利运行了的BLACS测试程序来测试新的并行系统上的MPI实现。

17、4 BLACS测试程序对X系统上的MPI的测试 X系统上的MPI(其实现是MPICH)已经通过MPI(即MPICH)测试程序的测试。但运用上述测试方法及BLACS测试程序,我们发现这些系统的MPI的下列问题: ⑴ MPI同步及进程挂起问题。由于BLACS测试程序提供了输入参数的组合测试(数据精度,实现算法(逻辑拓扑),进程网格,消息长度),使得用户很容易通过修改输入文件参数改变测试的组合数目及测试模式。改变了原有MPI软件包中同一种通信模式多次重复测试的做法使得整个测试具有动态的效果。由于有些系统在实现MPI的同步时,为了提高同步速度,采用硬件实现所有进程的同步。但未考虑到只有部分进程

18、参与同步时的情况。这导致部分进程同步时的挂起现象。这种情况在原有MPI软件包单一重复的测试情况下,是不可能查出来的。而运用前述的测试方法一和BLACS测试程序,通过不断改变参与同步的进程数目,使该问题暴露出来。 ⑵ 消息处理器与MPI通信 buffer之间的Cache一致性问题。MPI软件包在进行正确性测试时,只选取小规模问题进行测试,这就使得系统的某些关键参数不能受到充分的测试。而这些关键参数正是消息系统设计时的分支点(重新判断分包及buffer重用等操作),极易发生意想不到的问题。由于BLACS测试程序可以很容易地产生大量不同类型和长度的消息传递测试。我们运用测试方法一和BLACS测试程

19、序,在消息量大,buffer出现重用时,发现了有的系统消息处理器与MPI通信buffer之间的Cache一致性问题。 ⑶ 更底层库中出现的问题:利用方法一,找到MPI的上述Cache一致性问题后,我们没有在MPI上发现问题所在。于是又利用测试方法二。由于BLACS是建立在MPI和PVM等底层通信库上的,而且PVM和MPI版的BLACS测试程序都在Hitachi SR2201和曙光2000上成功通过。因而可利用上述的测试方法二。在前面⑵中提到的Cache一致性问题,由于在MPI层上不能确定问题所在,为了更准确定位错误的位置,我们运用测试方法二,将PVM版的BLACS测试程序也进行同样的测试,结

20、果也发现类似的问题。由于当出现测试方法二中的情形⑶时,就可将错误更精确地定位在MPI和PVM的下层库。这样我们可将问题定位在MPI和PVM的共同下层库LLCx上。实事证明判断是正确的。 在上面⑵的测试中,我们只能将问题定在MPI及其以下的库上。由于在MPI层却很难找到问题所在。于是采用测试方法二,将问题更准确地定位。从上面的⑵和⑶,可看到如何将测试方法一和测试方法二结合起来查错。 ⑷ MPI_Isend ()的问题:运用测试方法一和BLACS测试程序,我们发现MPI_Isend ()对各种不同长度的长消息连续大量发送处理上的问题。如果消息长度变化不是足够大,这个问题是很难发现的。 ⑸ 消

21、息流Send/Recv不同组合(个数,顺序,长度)产生的问题:由于BLACS中的群通信采用大量的不同算法。这些算法能测试到Send/Recv的大量不同组合,能发现一些不易发现的问题。应用方法一,当BLACS测试程序测试分裂环(split ring)(如图4)广播算法时出现问题。经检查问题出在MPI中。排除该问题后,BLACS测试程序测试该广播算法时,顺利通过。MPI中的这种问题只用一般的Send/Recv组合是很难发现的。 图4 分裂环拓扑结构 5 总结 通过用BLACS测试程序对并行系统上的已经通过MPI测试程序测试的MPI进行测试,测试结果表明本文对通常测试方法缺陷的分

22、析是正确的,所提出的新的测试方法是可行的,有实用价值的。目前,我们已经应用上述二种测试方法,将BLACS测试软件作为测试新的并行计算系统上的MPI和PVM等通信库的重要辅助工具。 致谢 本文完成于中国科学院软件研究所并行软件研究开发中心,并得到该中心孙家昶研究员的帮助和指导。在此,向他表示诚挚的谢意。 参考文献 [1] Bridges P, Doss N, Gropp W, Karrels E, Lusk E, Skjellum A. Installation Guide to mpich, a Portable Implementation of MPI, 19

23、95. Available via world wide web from URL=http://www.mcs.anl.gov/mpi/mpich/index.html. [2] Whaley R C. Installing and Testing the BLACS, 1995. Available via world wide web from URL=lib.org/blacs/Blacs.html [3] Dongarra J, Whaley R C. A User's Guide to the BLACS v1.0. Technical Report UT CS-95-281,

24、 LAPACK Working Note #94, University of Tennessee, 1995. [4] M. P. I. Forum, MPI: A message passing interface standard, International Journal of Supercomputer Applications and High Performance Computing, 1994,8(3/4), Special issue on MPI [5] Geist A, Beguelin A, Dongarra J, Jiang W, Manchek B, Su

25、nderam V. PVM: Parallel Virtual Machine – A User’s Guide and Tutorial for Network Parallel Computing. Cambrige, MA, MIT Press, 1994 [6] Gropp W, Lusk E, Doss N, Skjellum A. A high-performance, portable implementation of the MPI message passing interface standard, Parallel Computing, 20 (1994):789-828 [7] Butler R, Lusk E. Monitors, messages and clusters: The p4 parallel programming system. Parallel Computing, 20(1994):547-564.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服