专利名称:一种基于树状架构的初始化方法
技术领域:
本发明涉及一种基于树状传输架构的初始化构建方法,特别是一种用来实时聚集不同节点的性能数据的树状传输架构的初始化构建方法。
背景技术:
为了满足科学计算大规模和长时间运行的需求,以及有效减少高性能计算领域软硬件不断扩大的差距,传统的静态和事后性能监测和分析技术逐渐被在线的可扩展的监测方法所取代,从而改进并行程序的性能并充分利用现有的计算资源。进而,传统的l-η架构由于其缺乏可扩展性,已经逐渐被树状传输架构所取代。在性能监测领域比较典型的架构为模型,其原型实现MRNet通信库在该领域受到广泛的使用。该架构是基于进程的,其构建过程可以并行执行,根节点通过系统配置文件来生成其各个子节点,子节点进而链接其父亲节点,并获得其子树的配置信息,从而最终并行生成该通信树。而对于性能监测工具来说,若想利用该树状传输架构,则需要使用附加模式,先构建内部通信树,然后监测进程附加到内部通信树的叶子节点,从而初始化整个树状传输结构。然而,其前提条件就是应用进程要事先了解其需附加内部树叶子节点的相关信息,比如ΙΡ,端口等等。虽然MRNet提供了灵活的接口,而信息识别、内部进程放置、辅助进程触发等等仍然需要手工设计和实现,本专利就是用于解决以上问题,适用于典型的集群系统,可用于基于其上的在线性能监测工具的数据汇聚。之前对于传输架构的初始化构建问题的研究主要分为两类1)不以MRNet为基础的进程启动方法,包括LaunchMON,LIBI以及TDP ;2)基于MRNet的性能工具,比如TAU, Extrae, DPCL, Open | SpeedShop,等等。上述LaunchMON,LIBI以及TDP项目的共同目的都是构建一个通用的架构来启动工具的守护进程和应用进程,但是由于其依赖于RM (资源管理器)从而增加了复杂性。另夕卜,LIBI在先前的方法 不可用的情况下,提出了另一种策略,那就是在每个节点内使用进程代理来负责执行节点级的进程实例化(负责该节点内的所有进程)和通信服务。然而,代理本身就会增加额外的开销并且当代理失效的时候会造成更多应用进程无法连接,错误恢复时间也会加长。基于MRNet的典型性能工具的传输网初始化方法描述如下。DPCL和MRNet/XT侧重于改变原有的网络构建方法来适应其各自特定的系统架构BG/L和Cray XT。TAU的MRNet传输网的构建机制要求用户在源码中加入TAU_ONLINE_DUMPO来自定义汇聚位置,通常需要设置在同步点、迭代点等处。这种方式对用户要求较高,增加了用户负担。另外,不适用于没有源码的情形,且只能对轮廓数据进行汇聚分析,限制了其应用范围。TAU是通过MPI机制本身来构建传输网络。该方法要求所有参与传输的节点(包括汇聚节点和计算节点)启动mpd程序。首先按照事先计划的总进程数(包括汇聚进程,通信进程和监测进程)使用MPI启动probe工具,通过该工具纪录节点和其上运行的进程信息(保存于文件);然后再使用监测进程(计算进程)数通过MPI启动probediff,并利用该工具记录本次使用的节点和进程信息,并在第一次记录的节点和进程信息表中减去监测进程所使用的进程信息,剩余的节点和进程则用来构建MRNet内部传输网,进而使监测进程挂载于内部树叶子节点,传输网构建完成。这种网络初始化构建方法,对于汇聚进程和计算进程在节点级没有清晰分离,不利于系统维护和资源的合理利用,也不利于系统结构的改变。比如随着分析任务的增加,单个节点已经不能满足需求,这时需要将分析节点扩展为分布式集群(分布式数据库)或者采用新型的分布式处理架构,比如Hadoop等,由于监测进程和汇聚进程交织在一起,现有机制实现起来就比较复杂,缺乏灵活性。另外,该机制每一步都使用文件来保存信息,开销较大,并且没有考虑内部传输进程放置策略。其他工具比如Open I SpeedShop,Extrae,等虽然使用MRNet作为其传输架构,但其构建方法缺乏通用性。比如Extrae中传输网初始化构建机制只支持将中间内部通信进程放置于额外主机节点。
发明内容
本发明引入了一个传输架构的初始化构建机制并实现其原型系统来辅助开发人员快速构建在线性能工具。该机制的特性描述如下。I)该机制设计简单,对于典型高性能集群系统具有较好的通用性,它可应用于不同的插桩方法(源码级、二进制级、库级等)进行数据采集以及不同的测量方法包括轮廓和踪迹;2)它提供了内部进程的分配策略和监测进程BE的附加方法,从而达到合理的利用昂贵计算资源之目的;3)辅助服务进程能够伴随着程序监测被触发,从而可以采集全面的信息辅助进行并行应用的性能分析; 4)该机制配置灵活,对用户透明并具有较好的效率。本发明旨在提供一种集群系统的树状传输架构的初始化构建方法,该树状传输架构在逻辑上包括汇聚节点、通信节点和计算节点,其中,计算节点承担计算任务,监测进程也作用于其上,汇聚节点用于汇聚性能数据;该汇聚节点包括前端进程FE,该前端进程FE负责数据汇聚和存储;树状传输架构的通信节点包括通信进程集合,其负责数据汇聚和过滤;其特征在于该初始化方法包括如下步骤步骤一所述前端进程FE轮询监听从而利用TCP/IP协议收集监测进程集合BE的信息,并根据拓扑配置文件生成通信进程集合CP的拓扑,所述监测进程集合BE发送所述信息给所述前端进程FE,根据系统配置文件触发辅助服务进程集合AP协同监测进程集合BE 一起将所述信息发送给所述前端进程FE,生成内部树状拓扑,进而所述监测进程集合BE附加于内部树终端进程集合IBE,从而建立起树状传输架构,用以传输性能数据;步骤二 所述监测进程集合BE通过相应的采集监测技术收集并行程序的性能数据,并实时提交给该树状传输架构;步骤三所述通信进程集合CP接收并转发所述性能数据;步骤四所述钱端进程FE接收该树状传输架构的所述性能数据,并将其存储于数据存储载体,进行可视化展示,以实现实时和/或事后性能分析。步骤五树状传输架构自动销毁,结束在线数据传输收集过程。本发明的初始化构建方法,其特征在于,在通信节点和计算节点不区分的情况下,通过内部通信进程的放置策略生成拓扑配置文件进而生成所述通信进程集合CP的拓扑,所述内部通信进程的放置策略,通过尽力而为的平均策略或综合分配策略来实现,而将监测进程集合BE附加于内部树终端进程集合IBE,通过附加策略来实现。本发明的初始化构建方法进一步包括,其中,所述尽力而为的平均策略的目标是保持总进程数nt在各个主机间平均化分配,该策略包括如下步骤步骤一首先将TS容器清空;步骤二 使用sum除以m求得商quo和余数rem ;步骤三将商quo赋值给TS容器中每一个元素TSiQ e [O··· m_l]);步骤四如果rem不等于O,则将TS中的前rem个元素依次加I ;步骤五比较OS容器和TS容器中相应位置的元素,如果存在OS容器中的元素大于TS容器的情况,将OS容器中的该元素替换TS容器中相应位置的元素,并将其放入RS容器,并且sum减去该元素的值;步骤六如果RS容器不为空,则循环执行步骤七,直到RS容器的大小不再改变为止;相反,如果RS容器为空,或者RS容器大小经过步骤七不再改变了,则直接执行步骤八;步骤七计算sum除以m与RS容器的元素个数的差,所得到的商quo和余数rem ;遍历TS容器中的每一个元素看其是否包含在RS容器中,如果不在,则相应的元素赋值为商quo ;此时,如果rem不等于0,则需要选择TS容器中rem个值最小的元素分别增加I ;然后再次比较OS容器和TS容器中的元素,如果仍旧存在OS容器中的元素大于TS容器相应位置元素的情况,将OS容器中的该元素替换TS容器中相应位置的元素,并将其放入RS容器,并且sum减去该元素的值;
步骤八比较TS容器和OS容器的元素,如果存在TS容器的元素大于OS容器相应位置的元素的情况,则将该位置TS容器的元素减去相应位置OS容器的元素之差赋予AS容器;其中OS容器包括CN的列表以及其上所包含的BE数目;AS容器展示了每个cn所包含的cp的数目,TS容器用来记录中间临时分配结果;RS容器用来存储排外的结果,η表示cp的数目,m表示cn的数目,sum初始值为be和cp的总数,容器指存放相关数据的空间,CN是计算节点集合,cn为计算节点,cp为通信进程,be为监测进程。本发明的初始化构建方法进一步包括,其中,所述综合分配策略包括步骤步骤一建立因素集U= [U1, U2,U3,...,Unf],其表征nf个评判因素,这里设定为主机的特性指标;步骤二 建立评判集V= [ υ υ 2, U3,..., Unif],其表征mf个评判,这里设定为可以人为识别的评判;步骤三为了评估Ui (i e [l...nf]),其对于Oe [l...mf])的隶属度是进而对于该因素的模糊集表示为A = [rn, ri2, ri3,. . . , rimf],即f (Ui) = ri;在对因素集进行评估之后,可得模糊评估矩阵如下所示
权利要求
1.一种集群系统的树状传输架构的初始化构建方法,该树状传输架构在逻辑上包括汇聚节点、通信节点和计算节点,其中,计算节点承担计算任务,监测进程也作用于其上,汇聚节点用于汇聚性能数据;该汇聚节点包括前端进程FE,该前端进程FE负责数据汇聚和存储;树状传输架构的通信节点包括通信进程集合,其负责数据汇聚和过滤;其特征在于该初始化方法包括如下步骤 步骤一所述前端进程FE轮询监听从而利用TCP/IP协议收集监测进程集合BE的信息,并根据拓扑配置文件生成通信进程集合CP的拓扑,所述监测进程集合BE发送所述信息给所述前端进程FE,根据系统配置文件触发辅助服务进程集合AP协同监测进程集合BE —起将所述信息发送给所述前端进程FE,生成内部树状拓扑,进而所述监测进程集合BE附加于内部树终端进程集合IBE,从而建立起树状传输架构,用以传输性能数据; 步骤二 所述监测进程集合BE通过相应的采集监测技术收集并行程序的性能数据,并实时提交给该树状传输架构; 步骤三所述通信进程集合CP接收并转发所述性能数据; 步骤四所述钱端进程FE接收该树状传输架构的所述性能数据,并将其存储于数据存储载体,进行可视化展示,以实现实时和/或事后性能分析。
步骤五树状传输架构自动销毁,结束在线数据传输收集过程。
2.如权利要求1所述的树状传输架构的初始化构建方法,其特征在于,在通信节点和计算节点不区分的情况下,通过内部通信进程的放置策略生成拓扑配置文件进而生成所述通信进程集合CP的拓扑,所述内部通信进程的放置策略,通过尽力而为的平均策略或综合分配策略来实现,而将监测进程集合BE附加于内部树终端进程集合IBE,通过附加策略来实现。
3.如权利要求2所述的树状传输架构的初始化构建方法,其中,所述尽力而为的平均策略的目标是保持总进程数nt在各个主机间平均化分配,该策略包括如下步骤 步骤一首先将TS容器清空; 步骤二 使用sum除以m求得商quo和余数rem ; 步骤三将商quo赋值给TS容器中每一个元素TSi (i e [O... m-1]); 步骤四如果rem不等于O,则将TS中的前rem个元素依次加I ; 步骤五比较OS容器和TS容器中相应位置的元素,如果存在OS容器中的元素大于TS容器的情况,将OS容器中的该元素替换TS容器中相应位置的元素,并将其放入RS容器,并且sum减去该元素的值; 步骤六如果RS容器不为空,则循环执行步骤七,直到RS容器的大小不再改变为止;相反,如果RS容器为空,或者RS容器大小经过步骤七不再改变了,则直接执行步骤八;步骤七计算sum除以m与RS容器的元素个数的差,所得到的商quo和余数rem ;遍历TS容器中的每一个元素看其是否包含在RS容器中,如果不在,则相应的元素赋值为商quo ;此时,如果rem不等于0,则需要选择TS容器中rem个值最小的元素分别增加I ;然后再次比较OS容器和TS容器中的元素,如果仍旧存在OS容器中的元素大于TS容器相应位置元素的情况,将OS容器中的该元素替换TS容器中相应位置的元素,并将其放入RS容器,并且sum减去该元素的值; 步骤八比较TS容器和OS容器的元素,如果存在TS容器的元素大于OS容器相应位置的元素的情况,则将该位置TS容器的元素减去相应位置OS容器的元素之差赋予AS容器;其中OS容器包括CN的列表以及其上所包含的BE数目;AS容器展示了每个cn所包含的cp的数目,TS容器用来记录中间临时分配结果;RS容器用来存储排外的结果,η表示cp的数目,m表示cn的数目,sum初始值为be和cp的总数,容器指存放相关数据的空间,CN是计算节点集合,cn为计算节点,cp为通信进程,be为监测进程。
4.如权利要求2所述的树状传输架构的初始化构建方法,其中,所述综合分配策略包括步骤 步骤一建立因素集U = [U1, U2,U3, ...,Unf],其表征nf个评判因素,这里设定为主机的特性指标; 步骤二 建立评判集V= [U1, υ2, U3,... , u μ],其表征mf个评判,这里设定为可以人为识别的评判; 步骤三为了评估Ui (i e [l...nf]),其对于e [l...mf])的隶属度是1^.,进而对于该因素的模糊集表示为A = [rn,ri2,ri3,...,rimf],即MUi) =ι>在对因素集进行评估之后,可得模糊评估矩阵如下所示
5.如权利要求2所述的树状传输架构的初始化构建方法,其中,所述附加策略包括步骤 步骤一遍历可用的监测进程集合BE和内部树终端进程集合IBE并将其进行匹配,其中内部树终端进程集合IBE的分支fanout的计算是通过计算监测进程be的数目除以内部树终端进程ibe的数目获得; 步骤二 为了保证监测进程集合BE附加方法的适应性,当监测进程be的数目等于内部树终端进程ibe数目的整数倍时,所得的商为分支fanout ;若整除结果有余数,则分支fanout等于所得的商加1,从而可以确保内部树终端进程ibe和监测进程be数目关系不相互依赖,所有的监测进程be都可以附加于该传输架构; 步骤三内部树终端进程ibe和监测进程be的匹配策略使位于同一主机的进程具有匹配优先级,在监测进程集合BE附加于内部树终端进程集合IBE之后,传输网就构建成功。
6.如权利要求1所述的树状传输架构的初始化构建方法,进一步包括,辅助服务进程集合AP的附加方法,其可通过节点内某一进程的触发机制实现。
7.如权利要求1所述的树状传输架构的初始化构建方法,其特征在于汇聚节点包括汇聚数据的存储模块及可视化和分析模块。
全文摘要
本发明提供一种树状传输架构的初始化方法,步骤一前端进程FE轮询监听并利用TCP/IP协议收集监测进程集合BE的信息,并根据拓扑配置文件生成通信进程集合CP的拓扑,BE发送信息给FE,根据系统配置文件触发辅助服务进程集合AP协同BE一起将所述信息发送给FE,生成内部树状拓扑,进而BE附加于内部树终端进程集合IBE,从而建立起树状传输架构,用以传输性能数据;步骤二BE通过采集监测技术收集并行程序的性能数据,并实时提交给该树状传输架构;步骤三CP接收并转发性能数据;步骤四FE接收该树状传输架构的性能数据,并将其存储于数据存储载体,进行可视化展示,以实现实时和/或事后性能分析。步骤五树状传输架构自动销毁,结束在线数据传输收集过程。
文档编号H04L12/44GK103051509SQ20121027468
公开日2013年4月17日 申请日期2012年8月3日 优先权日2012年8月3日
发明者胡凯, 丁毅, 赵祯龙, 吴恺 申请人:北京航空航天大学