分布式多处理机的并行模拟测试

2012-07-02 13:21黄海生
上海电力大学学报 2012年5期
关键词:模拟器消息流量

刘 辉,黄海生

(1.上海电力学院计算机与信息工程学院,上海 200090;2.华能太仓电厂,江苏太仓 215424)

在高性能计算机的设计过程中,需要对各个功能部件分别进行测试和评估,以改进性能,但是对各个已经生产出来的功能部件进行测试的成本太大,故需要进行模拟测试.本文主要介绍参与多处理器的全系统模拟的组成部件,即互联网络模拟和评估环境,以及两个模拟器之间的接口方法,分析了全系统模拟时遇到的问题以及在模拟精度和模拟时间之间找到平衡的方法.

1 模拟环境

1.1 IN接口和计算单元

本文是在并行系统分布式内存的内部互联网络中进行模拟的,该网络允许计算结点以高吞吐量、低延迟的方式互换信息,这种方式可以高效运行并行应用程序.

本文的模拟环境是基于分布式内存并行机制,并且用模拟环境来评估互联网络模拟和评估环境(InterconnectionNetworkSimulationand Evaluation Environment,INSEE)结构下网络互联(Interconnection Network,IN)的功能.模拟环境包括FSIN和TRGEN.FSIN是一个时间驱动的、权重小的,功能灵活齐全的IN模拟器[1],该模拟器可以模拟几千个由不同的拓扑结构构成的、分布式内存的并行计算机节点;TRGEN模块可以使用人工合成的消息流量来进行全系统模拟,可以在集群上利用MPP技术实现模拟结果.

IN模拟器的一个实例可以模拟通过网络的信息包流量,而全系统模拟的多个实例可以模拟计算单元的操作细节.具体操作包括硬件设备的模拟、操作系统、支持库,以及并行应用等.

(1)NIC(NetworkInterface Card,网络接口卡)组件,负责与IN设备通信,这是个软件层次上的模块;

(2)驱动器,这是NIC的驱动程序,是模拟器的核心部分;

(3)堆栈协议,提供对IN部件的高层次访问,在模拟器的核心部分;

(4)支持库,提供并行计算的MPIAP接口和必需的运行时间支持,位于堆栈协议的顶部;

(5)并行应用进程.

此外,模拟环境还包括一个同步模块——使所有的模块提前同步,一个信息流量管理模块——允许信息在结点和IN模拟器之间互换信息,如果需要还要完成信息的翻译.

1.2 网络阻塞控制机制

当IN系统中资源的使用情况达到其极限时,就会发生网络阻塞,阻塞会引起网络吞吐量的下降和延迟的增加.阻塞控制机制通常在网络刚出现阻塞信号时就立即限制信息包的发送.通常探测阻塞信号和避免阻塞的方法有多种,基于全局知识的如RECN,基于本地路由缓冲信息的如LBR.IBM的原环形网络使用的机制是传送中的消息优先[2],我们称之为IPR.

本文使用的两种阻塞控制机制为IPR和LBR,两者都基于本地可用的信息,具有良好的执行性能和最小的实现代价.在使用IPR时,优先权赋予正在传送中的消息,以数字P表示优先权的大小.在这些周期中,一个新的消息包只有在确认不会与当前网络中已有的消息发生竞争时才发送新的信息,P的值可以从零变化到1,取零值表示没有限制,取1表示正在传送的流量有绝对的优先权.当地缓冲限制LBR机制主要用于特定的自适应路由来避免逃逸网络中死锁的发生,LBR将冒泡规则扩充到所有新产生的到达网络的信息包[1].因此,一个消息包只有在发送操作可以确保与虚拟通道相关的传送缓冲区有B个消息包空间的情况下,才能发送到自适应虚拟通道.参数B是预留给传送中的流量的缓冲区数目,换言之,处理阻塞的效果是通过缓冲区利用率来评价的.

1.3 同步机制

模拟器的各个不同的模拟部件有不同的模拟时钟,有不同的时间单元,并且有可能有不同的机制来使用这些时钟.例如,Simics是事件驱动的,并且在每一个CPU时钟周期内都要探测时间;INSEE是周期驱动的,而且时间单元是循环的[3].因此,需要制定一套机制来协调和同步不同部件的时钟,这套机制可以协调模拟器在同一个空间中的计算部件和IN部件,就像使用同一个全局时钟一样.模拟环境中的同步模块就用来实现该功能.

同步模块的第一种工作模式是串行地进行模拟操作.计算单元的模拟器在给定的时间片内提前执行,然后停下,而IN模拟器开始操作,然后模拟相同的时间,再停下,然后计算单元模拟器重新开始模拟操作.该模拟器不会并行工作,若计算单元上产生了一个消息,它会加上时间戳后存储在接口队列上.然后IN模拟器会在相同的时间片内开始模拟,先对接口队列进行处理,当IN模拟器探测到有消息传送到计算单元时,它就会将这个时间存储在接口队列中[2].计算单元不会对过时的消息进行处理,因此所有在给定时间片内接收的消息只在下一个时间片的起始时刻进行处理.换言之,消息的处理需要等待,等待时间从零到一个时间片的间隔不等.

同步模式的第二种工作模式是计算单元和IN模块并行工作.在一个时间片内,两个单元同时处理各自的任务,处理完成后两个模拟器互换事件队列,计算单元模拟器将在一个时间片内产生的消息传送给IN模拟器,IN模拟器把到达目的计算单元的消息传送给计算单元[4].该模式达到了并行的目的,但引进了两个人为的延迟:信息的进入要延迟到下一个时间片的开始;消息传送延迟的影响依赖于时间片的长短.此外,消息进入IN模拟器的方式是以突发的形式在下一个时间片的开始时刻进入的,这可能会引起不必要的资源竞争.

在这两种模式中,时间片越短小,精确性越高,但在执行的过程中要不断地暂停模拟器的操作.时段较长的时间片可以提高实验速度,但会引入人为的延迟,这些延迟将影响实验结果.

1.4 实验环境

测试系统由64个计算节点通过环形网络连接起来.所有的同步时间片是10 000∶200,即200个INSEE周期与10 000个simics周期相等,这个同步时间片可以产生128 Mb/s的带宽,大致与快速以太网的速度相当.

在实验中,假定P=1(最大权限的优先权),B=3(这表示只有在队列是空或者基本为空的情况下才向自适应通道发送消息).本实验使用的应用程序是NAS并行标准A类的一个子集,该子集经常用来作为对多处理器性能进行评估的并行应用程序.为了便于描述,我们只集中讨论BT,CG,IS 3个基准.BT是偏向于计算性的基准,它可以演示网络层次是如何不会影响执行时间的,而CG和IS是专供通信的基准,利用它们很容易看到网络的变化对实验结果的影响.

2 多处理器的全系统模拟的实现

本文利用simics来模拟计算节点的工作,而计算结点是通过网络来交换信息包的.交换信息包的方式采用重用协议堆栈和NIC驱动程序.这种方式可以增加与流管理模块的交互能力[5].同步机制采用网络模拟器和simics,以锁定步骤的模式并行工作.模拟环境使用8个simics实例,每个实例模拟8个节点,共有64个模拟节点.每个节点运行的操作系统是red hat 7.3,系统配置MPI并行接口函数,由于我们使用的是类以太网的NIC,故可以在低端协议堆栈上使用TCPI/IP或UDP/IP协议.

在多处理器上将一个消息传送到另一个进程需要几个步骤.首先,消息被分割成网络帧,这些帧根据使用的协议堆栈来封装不同的消息头部.接着,这些帧被传送到NIC驱动器上,然后送往IN模拟器,不是送到真正的IN模拟器,流量产生器把帧从模拟的硬件NIC分离开来,然后送往INSEE.流量产生器负责发送和接收从INSEE的TrGen模块来的帧.就像我们使用集群来模拟多处理器一样,流量产生器将消息帧发送至计算机来执行[6].

TrGen负责分配FSIN的工作负载,FSIN是INSEE的IN模拟器核心[7].TrGen接收的消息帧进一步被分割成消息包,然后送到FSIN路由器的接收队列中.当同步服务器发送消息告诉FSIN开始工作时,TrGen就开始模拟消息包是如何在网络之间传送的,以及如何把它们送到目的地的.一旦一个帧的所有消息包都到达目的地后,TrGen就将消息包组合成一个消息帧,然后再将这个消息帧送至对应的目的结点的流量产生器中.

流量产生器将到达的消息帧送往模拟硬件NIC,同步消息使simics重新启动,到达的消息帧会使模拟硬件发生中断.然后,对消息帧进行处理,即去掉协议堆栈的头部,重组消息,并将其送至应用程序进程.

若要在每个simics中运行几个计算结点,则要求有两个不同的同步机制,第一个同步机制用来协调所有的simics内的计算结点[8],即每个节点运行一定数目的周期,然后下一个结点开始运行,如此以时间片轮转的形式循环执行;第二个同步机制用来协调计算节点和INSEE,在INSEE中有一个同步服务器,在simics实例中有一个同步客户机.当所有的simics实例中的节点有一个完整的时间片时,不同客户机就停止那个实例,然后发送一个时间戳信号到同步服务器,请求运行下一个时间片.在一个运行时间片内,所有已经产生的网络流量信息就在接收队列中等待.

当同步服务器接收到来自所有的simics实例的时间戳信号后,INSEE就同意FSIN来运行一个时间片,并把接收到的信息包路由到目的FSIN路由器[9].当FSIN结束自己的时间片后,就发送一个多点传送的时间戳信号至所有的同步客户机,允许它们重新开始一个新的计算节点的运行.

3 实验和结果的讨论

本实验共重复了10次,表中只显示10次的平均值.

3.1 网络层次的阻塞控制机制的效果评估

在MPICH环境中,在使用没有任何网络阻塞控制的实验情况下,应用程序的执行时间受到TCP误估时间间隔的负面影响,因为它触发了重新传送协议并持续触发了慢启动协议,这就使得饱和网络中的整个执行时间被延长.而在执行IPR或LBR时,TCP可以自行决定时间间隔,这有助于减少重新传送的次数,可以减少慢启动的发生.因此,IPR和LBR有两个相近的效果:一是在多数应用程序中,通过网络的消息包的流量可以加速进行;二是在所有的情况下,IPR和LBR可以帮助TCP让应用程序达到更高的吞吐量.实验的结果如表1所示.

表1 使用阻塞控制机制LBR和IPR时的模拟执行时间 ms

3.2 阻塞协议和网络速度

一旦端到端节点与网络阻塞控制机制之间的接口建立起来后,就可以用实验来评估这些阻塞控制机制对不同的网络速度的影响.我们模拟了网速分别是128 Mb/s和1 280 Mb/s的实验,结果如表2所示.

表2 不同网速下的模拟执行时间

若无阻塞控制机制,则提高网速可使TCP平台性能下降;若网上信息的流量不是很大而网速很快,则TCP可以正确地计算其计时器,并以高吞吐量传送流量.然而在这个阶段,若出现争夺网络资源的情况,则消息包的传送就会变慢,甚至有些消息包会丢失,但这并不是真正的丢失,仅是从TCP的角度来看,消息到达得太晚了.延迟到达的消息会触发TCP的流量控制和错误恢复机制.而这种触发机制会降低网络性能.

3.3 模拟速度和精度之间的折中选择

在连接两个不同的模拟器时,必须选择合适的同步机制,而时间片间隔不仅影响精度,还影响模拟的性能.时间片越长,延迟就越大,导致精度降低.此外,每当模拟器进行同步时,就会引起延迟.因此,时间片间隔长,启动模拟器的实际时间减少,模拟性能就好;时间片间隔越短,模拟性能越差,但可以提高模拟精度.

4 结语

全系统模拟是一个非常复杂的工作,若模拟的不是一台电脑而是网络中的多个计算机时,复杂性会增加,尤其在模拟的网络和接口与传统的LAN网络设备不同时更加复杂.

本文对IN进行了全系统模拟,该模拟需要很多的部件,有时需要重用模拟环境.重用机制可以减少工作量和错误的发生,但是也会带来一些风险,如精度的降低和模拟结果的无效等.模拟环境的各个部件之间的同步也需要认真设计,这样可以找出模拟精度和运行时间之间的折中点.通过实验结果可知,协议堆栈、MPI的实现、驱动程序和同步模型等因素都会影响实验结果.

[1]RIDRUEJO Fco Javier,JOSE Miguel-Alonso,JAVIER Navaridas.Full-system simulation of distributed memory multicomputers[J].Cluster Compute,2009,12(1):309-322.

[2]PFISTER G F.Aspects of the Infini Band(tm)architecture[C]//Third IEEE InternationalConference on ClusterComputing(CLUSTER’01),2001:369-377.

[3]BINKERT N L Dreslinski.The M5 simulator:modeling networked systems[J].IEEE Micro,2006,26(4):52-60.

[4]BODEN N J Cohen.A gigabit per second local area network[J].IEEE Micro,1995,15(1):29-36.

[5]GARCÍA P J Quile.Scalable congestion management for interconnection networks[J].IEEE Micro 2006,26(5):52-66.

[6]IBM.IBM full-system simulator for the cell broadband engine processor[CP/OL].[2011-12-1]http://alphaworks.ibm.com/tech/cellsystemsim.

[7]SKLAVOS N,KOUFOPAVLOU O.Architectures and VLSI implementations of the AES-Proposal rijndael[J].WEEE Transactions on Computers,2002,51(12):1 454-1 459.

[8]SMITH T F,WATERMAN M S.Identification of common molecular subsequences[J].J.Molecular Biology,1981,2(1):195-197.

[9]AMZA C,COX A,DWARKADAS S.Shared memory computing on networks of workstation[J].IEEE Computer,1996,29(2):18-28.

猜你喜欢
模拟器消息流量
冰墩墩背后的流量密码
了不起的安检模拟器
张晓明:流量决定胜负!三大流量高地裂变无限可能!
盲盒模拟器
划船模拟器
寻找书业新流量
一张图看5G消息
动态飞行模拟器及其发展概述
消息
消息