《小型微型计算机系统8).pdf》由会员分享,可在线阅读,更多相关《小型微型计算机系统8).pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、收稿日期!#$%&%&基金项目!国家自然科学基金项目(#)*#&+,#*#*#&-资助.作者简介!胡明昌,男,&/)0年生,博士,高级工程师,主要研究方向为并行计算1机群高性能通信技术和芯片设计2史岗,男,&/)0年生,博士,副研究员,主要研究方向为计算机系统结构1机群高性能通信技术及应用2尹宏达,男,&/+&年生,硕士,主要研究方向为机群高性能通信技术2蔡飞,男,&/)/年生,博士研究生,主要研究方向为并行计算和芯片设计.支持共享存储的千兆机群网络的实现胡明昌,史岗,尹宏达,蔡飞(中国科学院 计算技术研究所,北京+#-3%45 6 7!8 49:6 9;.5 9.9?AB,它不但提供高性
2、能的消息传递,而且对共享虚拟存储提供一些低层硬件支持,包括基于虚地址的?C A读写操作和D E F自动更新.设计了一种定制的用户级通信协议,大幅度降低系统和协议开销.设计并实现了基于输入缓冲输出分布式调度的交叉开关的原型交换机和支持四种数据传输方式的网络接口,改进了虫洞交换并在一个时钟周期内完成带初始值的轮循调度.测试表明,?AB网络在各个层次获得良好的性能,带宽利用率在同类系统中最高,应用程序并行性能与与AG H 6 I;和J K L相当,在某些情况下比它们更好.关 键 词!互连网络2交换机2网络接口2?C A2用户级通信协议2调度中图分类号!D B*/*文献标识码!文 章 编 号!%&
3、#(#)-#&%#0%#)M N O P Q R ST U Q R S V W U U R V Q X R Q Y W S Z O W S Q U _ S R abR cW S def A6 g%9 8 5 g,J eL h 5 g,iL jek I 6(m n o p q p r p s t uv t w x r p q n yz s|n t t y ,v|q n s o s!#s w t u$q s n s o,%s q&q n y+#,v|q n -(P Q S V Q!9)*;k 4 8 6 g 8%+I H,k H 45 9 I9 7)*;I H I;-k H.?AB(5*;?I
4、 4k;I9 9 I*5 lAI*5 g IB 5*6 g-6*l I*6 g I l6;8 6*+5+I H.L;k;k 7 G+H k/6 l I*,5*;4I*5 g I+5*6 g,0);5 7*kg 6/I*8 5 H l-5 H I*)+k H;*,k H*8 5 H I l/6 H;)5 7 4I 4k H G,6 9 7)l 6 g?C A 5?AB I;-k H.)*I*I 1 8 5)*;I l9);%;8 H k)g 8*-6;9 8 6 g6 4+H k/I l,H k 4-k H 48 k 7 I*-6;9 8 6 g,*7 5 9.,7 k-9 k ;H k 7 7
5、 6 g,*k)H 9 I%0 5*I l H k);6 g 5 l*G 9 8 H k k)*l 5;5;H 5 *,I H.9)*;k 4)*I H%7 I/I 7+H k;k 9 k 76*6 4+7 I 4I ;I l,-8 6 9 8g H I 5;7 GH I l)9 I*;8 Ik/I H 8 I 5 lk,+H k;k 9 k 7 5 l2J.D 8 I+H k;k;G+Ik,5 6 +);%3)I)I ll 6*;H 6 0);I l%*9 8 I l)7 6 g9 H k*0 5 H*-6;9 86*l I*6 g I l5 l6 4+7 I 4I ;I l,-8 6 9
6、89 k 4+7 I;I*5H k)l%H k 0 6*9 8 I l)7 6 g6?ABjL K+H k/6 l I*,k)Hl 5;5;H 5 *,I H4k l I*!B L 2 4I*5 g I*,C A 4I*5 g I*,?C A-H 6;I*5?AB I;-k H.5 9 8 6 I/I*g k k l+I H,k H 45 9 I.48 I k0 7 k 9.6?ABB L 7 5;I 9 G6*$.$)5*.D 8 I4I*5 g I0 5?ABB L 6*&$AF+*,-8 6 9 85 9 8 6 I/I*/0 6 I,6 9 6 I?AB?C A-H 6;I6*).&$
7、5*5 l;8 Ik I,k HH I 5 l6*+.#5*.D 8 I*8 5 H I l/6 H;)5 74I 4k H G*G*;I 4 8 L 8 L 6*4k l 6,6 I l5 l6 4+7 I 4I ;I lk?AB I;-k H.D 8 H k)g 85+7 6 9 5;6 k;I*;6 g,6;6*,k)?AB I;-k H.5 9 8 6 I/I*9 k 4+5 H 5 0 7 I+I H,k H 45 9 I;kAG H 6 I;5 lJ K L 5?AB I;-k H.8 5*0 I;I H+I H,k H 45 9 I-8 I*45 7 7 4I*5 g I*8 5
8、/I0 6 gH 5;6 k6 5+7 6 9 5;6 k *.9R dY W S a P!6 ;I H 9 k I 9;6 k I;-k H.*2*-6;9 8 2 jL K 2 9 k 44)6 9 5;6 k+H k;k 9 k 7*2?C A2*9 8 I l)7 6 g5 7 g k H 6;8 4:引言机 群 互 连 网 络 的 成 熟 产 品;&6 0 H I K 8 5 I 7 14+jI;1AI 4k H G K 8 5 I 7 1J G ,6 6;G 1J I H/I H jI;1 h 6 g 5 I;9 E j1 eL B B L 1千 兆 以 太 网1 AG H 6 I
9、;1J K L;*1=)5 l H 6 9*;0 1 L ,6 6 F 5 l;$等.在这些互连网络中,性能比 较 高 的 网 络 是 千 兆 以 太 网1 h 6 g 5 jI;9 E j1 eL B B L 1AG H 6 I;1 J K L 1=)5 l H 6 9*和L ,6 6 F 5 l,它们的最大理论带宽都超过&h 0+*(h 6 g 50 6;*+I H*I 9 k l-,其中后$种网络的性能相对 更好.这些机群互连网络要么价格偏高,例如=)5 l H 6 9*1AG H 6 L B协议,采用分层协议.在层次协议结构中,下层协议需要对上层协议进行封装,分层越多,增加的协议头部越
10、大.在发送端,一层一层地封装最初的消息和进行必要的计算,而在接收端,一层一层地剥掉头部直至得到有用的数据并进行校验.在机群系统中这些操作的时间相对传输时间不能忽略,而且随着网络带宽的增大这些问题变得非常尖锐;.传统以太网为了传输距离和兼容性考虑,十兆和百兆以太网的帧长度必须大于 0字节(至少需要传输$5*-,千兆以太网帧长度必须大于$&字节(至少需要传输0 5*-.当一个消息不足以填满最小帧时,需要填充无用的图案,而大量的请求和响应消息仅包含很少的数据,故这些帧包含很多无用填充,增加了小消息延时.传统网络消息处理的系统开销和协议开销非常大,在实际系统中测得的延时如表&所示;),+L B协议后消
11、息延时明显增大,并且在;+小型微型计算机系统8 k)H 5 7 k,K 8 6 I*IK k 4+);I HJ G*;I 4*#)年&月 第&期?k 7 +jk.)!协议和系统开销超过#$%&曙光(上的)*+,-./采用半用户级通信协议0其协议开销比1 2 3!低得多&表4不同硬件环境和不同通信协议下的小消息延时5单位6$%0微秒71 8 9:.4;8/.-%?8:?.%8 .%A,/BC,.+.-/B 8+C A8+.8-CD+=/=:环境网络协议节点间延时节点内延时 2机群百兆以太网E 2!环1 2 3!上的)!4(4F(&4)G!H上的)!#I&(F&底层)G!HJ#&KI&KE 8
12、:,)!#&J曙光()*+,-./)!I I&L LF&F M底层N 2;4 K&JI&M 传统的1 2 3!网络采用中断方式进行消息到达通知0中断开销是很大的0例如0我们测得采用超微公司的 M(O;P主 板和!-/.:M(2 Q的 2微机的网卡中断开销为F&K$%0采用!-/.:E P M#(4 2 RI主板和S.=-I&J T5超线程72 Q的机器的百兆以太网接口中断开销约为J&F M U#&J$%0这些数据表明中断开销跟四个节点组成的E 2!环形网络5采用O=:D B,-的O (网卡7的)!延时相当5见表4 7 0因此需要尽量减少或者避免中断&为了减小通信开销和对共享虚拟存储提供支持0本
13、文尝试设计一种机群互连网络0它不但提供高性能的消息传递0而且对共享虚拟存储提供一些硬件支持0包括V O)H读写操作和1;N自动更新0同时在价格上维持较低的水平&W X Y Z 互连网络总体设计我们的目标是为 2机群设计并实现一个专用网络0在这个专用网络上不但能进行普通的消息传递0而且还支持远程内存读写访问0从而更加有效地实现和支持虚拟共享存储0提高 2机群上的虚拟共享存储的并行性能&在设计和实现机群互连网络时采用的原则是简单和高效0从而使网络的延迟大幅度降低0即目标是实现一个快速远程访问和消息传递的互连 网 络0我 们 称 之 为 V H)5 8%/V.?=/.H .%8-C).%8 .8%,
14、-7互连网络0相应的交换机和网络接口称为 V H)交换机和 V H)网络接口5或网卡7&W&数据交换方式分组交换是一种可靠的交换方式0然而网络延时随着中间节点的增多而线性增加0因此我们决定采用更高效的穿透5 2 _/B+=_ B 7交换&穿透交换方式指中间节点5交换机7在接收到分组的头部信息后立即进行路由0若发现没有冲突则直接转发分组0不需要先缓冲整个分组&穿透交换有三种常见的方式6虚穿透交换a L bc虫洞交换a 4(b和介于两者之间的混合交换a 4 4 b&虚穿透交换遇到阻塞时将整个分组缓冲到中间节点d虫洞交换发现阻塞时将分组e冻住f 0不让往前传输d混合交换根据分组头部一个域变量的值和分
15、组前进的情况决定缓冲分组还是让分组e冻住f&在各种穿透交换方式中虚穿透交换硬件成本非常高0混合交换次之0虫洞交换最低&我们对虫洞交换进行改进0称为尽量穿透交换a 4 I b0其特征为6g只要分组的头部进入中间节点0若发现目的端口可用0分组直接从目的端口输出0就像从输入端口穿透到输出端口0这点与所有的穿透交换一样dh当遇到阻塞时0若发现中间节点的缓冲区还有可用空间0则分组继续向前传输0直到用完e缓冲区空间f 5缓冲区中有一部分空间是用来进行流量控制的0不包括这部分空间7 0因此发生阻塞时0尽量穿透交换方式占用的链路数目一般情况下比虫洞交换少0但比虚穿透交换多&尽量穿透交换方式的特点是在不增加硬件
16、成本的前提下提高网络资源的利用率0同时又不会发生缓冲区溢出0从而达到较高的链路和缓冲区利用率&它比虚穿透交换节省硬件成本0链路利用率比虫洞交换高0也是一种介于这两者之间的折衷交换&W&W流量控制和路由由于采用可靠的网络传输芯片0传输出错率极低0从精简通信协议的角度出发0对于可靠的网络应该采用简单的协议0减少协议分层0采用简单的流量控制机制0因此在链路上我们采用只有一级的流量控制机制0不进行复杂的二级以上的流量控制&一级流量控制采用水线流量控制方法a 4 I b6当缓冲区中内容多于设定的上限时让相连的对应端口停止传输数据0直到当缓冲区中内容少于设定的下限时才让相连的对应端口继续传输数据&路由指消
17、息到达中间节点5或路由设备7后如何选择输出端口0按照表示方式的不同可以分为源路由和目的路由两种方式&源路由指源节点在消息的头部填充经过的各个中间节点的输出端口选择0每经过一个中间节点直接根据消息头内容选择输出端口0然后丢弃消息头中该节点的路由信息d目的路由指消息的头部仅包含目的地址0当消息到达一个中间节点后0中间节点根据目的地址进行路由查找0选择相应的输出端口0从而完成该节点的路由&源路由时源节点需要有系统的拓扑映射0消息头部较大0中间节点不需要进行路由查找0也不需要维护路由表d目的路由时源节点只需要分组头部加入目的节点地址0不需要有系统的拓扑映射0中间节点进行路由查找&由于机群系统本身规模较
18、小0经过的中间节点也不多0因此我们采用源路由方式0直接在消息的头部包含中间节点的输出端口选择&W&i传输链路链路层的主要功能为6完成帧的传输d帧定界和帧同步d对帧的收发顺序的控制d差错检测和恢复等&链路是帧传输的物理通道0其传输性能c可靠性和传输方式会直接影响通信协议的设计和网络的实现&V H)网络传输链路的实现特点如下6j采用并行传输方式&V H)系统是在 )kl I位的 2!总 线 上 实 现 的0总 线 的 带 宽 约 为4 T 9 D%5 T,89,/%D.+%.=-C 7 0为了控制方便采用并行传输方式0用多位数据线和控制线进行传输&j采用同步传输方式&虽然异步传输方式控制简单0但异
19、#I4期胡明昌 等6支持共享存储的千兆机群网络的实现步传输延时大!无法提高传输频率!传输距离也很受限制!因此#$%&系统采用同步传输方式!它将数据和时钟一起传送!接收端根据时钟信息获得完整的数据!提高传输距离和速度(链路电缆采用差分传输方式虽然同步传输比异步传输提高部分性能!但它们都采用单端传输)一根导线代表一个信号*!这种传输方式的缺点是在高频率时信号噪声大!电磁干扰厉害!信号稳定性较差+同时电平转换时压差大!转换时间较长!从而降低传输频率并增大功耗差分传输能很好地解决此问题!采用,-./)低电压差分信号*传输技术0 1 2 3可以使传输频率很高!同时解决了交换机上引腿过多的问题4 5通信协
20、议#$%&网络不采用传统的6 7&8 9&协议!而是采用一种定制的轻量级通信协议!其特点是:用户进程直接访问网卡!减少系统调用开销+尽量减少数据拷贝!远程数据读写不进行数据拷贝!普通消息只进行一次数据拷贝)从用户队列拷贝到系统队列或相反*+减少中断处理次数!采用多线程进行通信+合并网络层和链路层!采用两层协议结构!减少组包拆包次数+采用链路级流量控制和错误检测!减少上层协议流量控制和数据校验开销+丢弃分组中的无用填充!减小帧的长度!减小传输时间4 ;分组和帧格式为了减少数据位数转换开销!#$%&分组格式采用与&7 9数据等宽的2 位数据宽度!详细的分组格式如图1所示分组头部的2 位数据包含了大
21、部分控制信息:有效数据的长度=分组的类型=源节点对应的端口号和目的节点对应的端口号紧跟在第一个2 位后面的三个地址域不是必须的!不同类型的分组包含不同的地址域具体来说!对于普通消息分组!由于不进行地址转换!所以就没有地址域!紧跟在第一个2?1&A B C D E F G H D F E#$%&I J I D H#$%&帧与#$%&分组大致相同!这样减少了一次封装和解开封装的开销两者的不同之处在于:帧的数据宽度是2 K位!而分组的宽度是2 位!帧是在分组的基础上增加L位宽度的数据+这L位数据分别是1位帧尾标记和2位校验码当一个帧的数据是帧尾时在标记位上置1!平时置M 产生校验码的方法:在数据将要
22、送入缓冲区的同时分别产生高1 1位=中1 1位和低1 1位的校验码!跟随数据一起送入缓冲区在接收端!从缓冲区读数据的同时进行数据校验!若发现校验出错!产生中断!报告数据校验出错N O P Q RS原型交换机核心交换模块的组成包括:T个输入端口=T个输出端口=交换结构=调度仲裁器和一定数量的缓冲器!如图所示图?D A Y为了达到链路的带宽要求!传输的数据一般是并行的!即多位数据一起传输图中带虚线的缓冲器表示该处的缓冲可能没有!根据需要而定交换结构负责把数据从输入端口或输入缓冲器交换到输出缓冲器或输出端口调度仲裁器根据调度算法将输出端口与输入端口建立连接为了简化设计和调试!原型#$%&交换机只有L
23、个输入输出端口交换机除了核心结构Z交换和调度部件以外!还需要一些外围部件!例如时钟产生器=电源模块=&$写入模块和端口控制器等!如图2所示图2 L个端口交换机的总体结构?2 6 Y CF C G W W G A Y D C A D V G CF E L F G D I X D A Y#$%&分组交换过程为:每个输入端口的数据进入双时钟同步 9 _进行缓冲!同时完成时钟转换+译码器根据帧头进行端口译码!向输出端口发送输出端口使用请求+输出端口调度部件根据输入端口来的请求进行仲裁!确定哪个输入端口得到响应!选通多路开关的对应开关!并向输入端口回传响应信息+得到响应的输入端口向数据总线发送数据!数据
24、经过连通的交叉开关到达相应的输出端口!完成一次数据传输在整个传输过程中!由控制逻辑进行流量控制一个有T个输入端口的交换机有个不同的输入时钟!而一个调度部件只能依据一个时钟进行操作!因此必须进行K小型微型计算机系统 M M a年时钟切换!采用双时钟同步先进先出存储器作缓冲器缓冲器的写时钟为输入端口时钟读时钟为板上全局时钟这样就解决了时钟隔离与切换!采用先进先出存储器实现了输入缓冲功能并利用存储器的使用情况对输入端口进行水线流量控制!这种流量控制机制比异步数据传输的交换机提高了链路的利用率和加快传输速度!由于输入数据从写入#$#%到从#$#%读端口看到数据写入只需要三个时钟周期这样在传输时比虚电路
25、仅增加极小的延时但获得了便利的控制实现了尽量穿透传输方式实现了分组的流水传输使交换机级联扩展变容易!调度算法的目标是在输入与输出端口之间找到一个匹配即输入队列的队列头与输出端口之间找到一个匹配!由于采用纯#$#%缓冲和输出端口分布式调度可以非常方便地实现定长分组交换和非定长分组交换我们在这里采用非定长分组调度因此输入队列的传输单位是分组是非固定长度的!为了减小调度时间采用分布式仲裁部件进行调度!为了进一步加快调度速度我们实现了在一个时钟周期内完成带初始值的轮循&()*+(,-*.调度缩短了交换延时提高了交换效率!由于每个输入端口只有一个队列作缓冲输出没有缓冲虽然共有/个调度器但每个调度器占用的
26、逻辑很少因此硬件成本维持在较低的水平!0 1 2 3 45网络接口网络接口&或网卡.负责把消息从主机发送到网络和将消息从网络接收到主机它是主机节点和网络的桥梁其性能直接影响机群系统的并行性能是机群系统不可缺少的重要部件!#678网卡支持四种数据传输方式9小消息发送和接收大消息发送和接收远程:76读和远程:76写!这些传输方式实现如下9&;.小消息发送9检查发送通道的状态如果可以发送则通过直接8$%写方式将消息写到发送#$#%进行发送&=.大消息发送9检查发送通道的状态如果可以发送则通过直接写要发送的消息头部到发送#$#%然后主机通知网络接口由网络接口启动:76将消息体数据从主存读出写到发送#$
27、#%写完#$#%后网络接口往主机内存的某个位置&发送描述符的一个标记位.置上完成标志.消息接收9从接收#$#%中取得帧头信息确定是普通消息后直接从接收描述符中取得接收缓冲区的物理地址网卡启动:76将消息数据写入主存写完之后往主机内存的某个位置&接收描述符的一个标记位.置上完成标志&?.远程写9在发送端按大消息方式发送接收方在收到该消息后在网络接口上进行 A B查找若 A B命中则直接获得物理地址若不命中则产生中断由 A B更新逻辑从主机上获得物理地址最后由:76写操作逻辑通过:76方式将数据写入主存&C.远程读9在源节点按小消息方式发送该远程读请求目的节点的网络接口接收到该请求后根据请求分组中
28、的远程虚地址信息由 A B查找和更新逻辑获得物理地址从而由目的节点的网卡直接从该物理地址起始的空间中读取指定大小的数据发送回源节点远程读数据返回到请求方&源节点.网 卡后由 A B查找和更新逻辑获得物理地址由:76读操作逻辑将数据写回到请求方的主存并向主存中的一个远程读完成通知队列中置上本次远程读完成标志标志的设置根据请求描述符的$:号来识别&D.A B查找和更新9;.查找在网卡上的一小块 A B中进行虚地址查找若找到匹配项则直接返回物理地址否则进行下一步=.更新 A B不命中后产生中断驱动程序获得不命中的虚地址然后通过系统函数调用获得物理地址最后主机以8$%方式写入网卡网卡更新 A B表项并
29、同时返回物理地址!图?#678网卡的总体设计#-E!?F GHI J(KI K L F-M G L M)K G(N#678*G M O(K PL I K+#678网卡的总体逻辑设计如图?所示该图的左边表示主机的8 Q$总线与8 Q$总线相连的是网卡的8 Q$接口控制器!8 Q$接口控制器还有一条局部&或本地.总线局部总线连接着网卡上的大部分逻辑和芯片例如消息传递操作逻辑R:76操作逻辑R虚实地址转换逻辑R帧头分析逻辑R控制寄存器逻辑和#$#%缓冲器!网卡有两条大的数据通道分别是数据发送和接收通道!数据发送通道起始于主机内存经过主板桥接设备和8 Q$总线到达网卡的8 Q$接口控制器通过局部总线进
30、入发送缓冲器然后由发送逻辑将数据从缓冲器中读出送到发送驱动设备由驱动芯片将数据送入互连网络!接收通道的数据传输方向相反它由接收驱动器从网络接收数据并完成格式转换接收逻辑将这些数据写入接收缓冲区经过帧头分析和获取局部总线控制权有效数据通过8 Q$接口控制器被写入主机节点内存!图C#678系统底层硬件在8$%和:76传送方式下的消息延时#-E!C 7G S S I E GT I M G*L U(N 8$%I*+:76H(+G S(*#678F I K+OI K G#678网卡主要的组成部分是9一个功能强大的#8 V 6W=;期胡明昌 等9支持共享存储的千兆机群网络的实现芯片!一个#$%&(接口控制
31、器!两个)*+,-&.$./缓冲器!一个0 1%(3,4+0 1发送器!一个0 1%(3(4+0 1接收器!.5 6写入逻辑及2/7!电源和时钟产生器及一些辅助电路8网卡.5 6采用69:;?&.#(3(A?B?(C8网 卡.5 6的主要功能是完成大小消息的发送和接收D实现2 0 76写和读D E 4 F查找和更新及总线仲裁8网卡的本地总线是复用的8当许多设备争用一条共同的总线时D便会产生冲突D因此需要对总线进行调度和仲裁8为了使各种设备都能 使用总线并得到快速调度D我们采用轮循G 2 H I J K A 2 H L M J N调度8为了提高调度的效率D我们采用并行实现D即在一个时
32、钟周期内完成一次仲裁调度8O P Q R ST网络的性能测试对机群通信系统的性能评价可以在三个层次上进行D分别是U硬件性能D通信硬件能够提供给底层通信软件的性能V底层通信库的性能D即底层通信6$G应用程序编程接口N的性能V构筑在底层通信6$上的并行应用程序的性能D这是通信系统的最终目标8这里对.2 67网络的性能在各个层次上进行测试和评价8O 8 W P Q R ST低层硬件性能.2 67交换机的无阻塞交换延时大约为?*个时钟周期D在,7XY的工作时钟下D其大小约为,-&纳秒D这比传统表*各种交换机的交换延时E=L 9;*1 ZM:M J 9=:;J H _:;ZM:;交换机型号,#H a百兆
33、以太网5 M =J;:4 6b&7 MJ;:A?*3&.2 677E 1*(&A*(X0 7A*(3=4 M J c2 H I:;dI=K 9 M:;,交换延时G J N&3&,-&*&?&(&,的计算机网络交换机要快得多8我们测得,#/7公司的快速以太网交换机的延时约为&纳秒D这比.2 67交换机要慢 得 多V同 时7 M J;:A?*3&交 换 机 的 延 时 约 为&纳 秒D5 M =J;:4 6b&交换机的延时为3&纳秒D都比.2 67交换机慢8链路单向速度为?&5 L e 的$F 6交换机7E 1*(&A*(和X0 7 A*3(&的交换延 时 分 别 为*&和?&纳 秒D比.2
34、67交换机稍快8#=4 M J c路由器和dI=K 9 M:;,交换机的交换延时分别为(&和,纳秒D它们比.2 67交换机快很多D原因是它们采用快速的61$#实现D它们的工作频率都是*&7XY D是.2 67交换机工作频率的-倍8这些交换机的交换延时如表*所示B?*C8.2 67网络接口到网络接口的数据传输延时与数据长度有关D数据长度越大传输延时也越大8其测试过程为U数据从一个.2 67网络接口流出D经过一个.2 67交换机D然后送到另一个.2 67网络接口8测试数据显示.2 67网卡到网卡的数据传输延时非常小D其最小值为?8,%微秒G在消息大小为3个字节时取得N D比dI=K 9=J,网卡到
35、 9=J,网卡的延时f*8*微秒小B?*CD说明.2 67网络采用的传输协议简单有效D其网络延时性能非常好8图-.2 676$函数的传输延时.M 8-7;=;9=:;J H _.2 676$_ I J :M H J 下面所用的测试环境为U一个(g(的.2 67交换机D两台微机D每台微机有一个.2 67网卡D通过交换机将两个测试节点组成一个测试系统8微机硬件和软件配置U采用$J:;91 )&?#h*主板D有两个$J:;9 i;H J*8(5处理器D有?*7F0 0 2内存D操作系统是2;K X=:)8*D相 应 的 内 核 为4 M J I jc;J;9*8(8?3 A,ae 8我们在.2 67
36、网卡上实现了$/传送方式和0 76传表,6$函数在各种传输方式下的带宽G单位U 7F k NE=L 9;,6$_ I J :M H JL=J K ZM K:I J K;K M _ _;J:=J _;aH K;函数方式不同传输长度G单位U字节N-(?*3*-?*?&,*&,*(&3&3?%*?-,-,*(*3_ =aeA;J KAL M e M J A e H J e M J A e M J;j =J ;%8?(?)8&),&8?*(3 8)-)?8?)%*8,?&)8,)?)8&,?*?8%?*(8%-?&8(?%8*%,8 *,8(*)-8?-%-8?,?8,?3 8-(?*8)?*8,-?
37、3 8*%,*8&?8*&),8?(%,8 3&?&%8 3(?*&8&?*(8?*?*8)3?*8 3*_ =aeA K a=AZ M:;e M J A e M J%8 3%?)8?(,&8*(3 8%&)?8,*%&8(,?&3 8 3%?)8%*?*?8 3?*(8%3_ =aeA K a=A;=Ke M J A e M J 3 8&?(8*3 8(-8 -3 8 3&3 3 8,?&)8,)?)8&,?*?8?*(8)*送方式D也分别称为小消息和大消息传送方式D同时还实现了2 0 76写和2 0 76读D这些方式的延时如图所示8从中可以 看出D当消息长度很小时D$/方式消息延时比0 7
38、6方式小D但$/方式消息延时增长非常快D当消息长度大于*3字节时D 0 76方式的延时比$/方式小V 2 0 76读操作比2 0 76写开销大D同时两者的延时都随着存取数据的增多而增大8从图 中 可 以 得 到D在 传 送(个 字 节 数 据 时D$/方 式G M J H J N!0 76方式G M J H J N!2 0 76写G M J H J N和2 0 76读G#9 M;J:1;l;N的延迟分别为,8)m !8&m !(8)m 和 8%m D即$/方式效率最高D接着是2 0 76写D然后是0 76方式D 2 0 76读操作最费时间D总体上说D这些操作完成非常快D都小于-m 8O 8 n
39、 P Q R STR T o性能.2 67项目的目标是实现一个高性能的虚拟共享存储3*小型微型计算机系统*&)年系统!#$%&网络和其$&为上层软件提供快速的通信和方 便 的 编 程 接口(#$%&$&函数主要有四个!分 别 为)*+,-./0 1 2 3/0-,4 4 5*+,-./0 1 2 3/6 7 8 5*+,-./+3-,/9+7:1和*+,-./+3-,/+1,3!各自对应&;方式5%$方式5#%$写方式和#?6.0左右的典型系统的消息延时和带宽,6 4 1=%1 0 0,8 14,:1 2 A B,2 36,2 3 97 3:CD*:B.7 A,4 0 B 0:1-0系统#$%
40、&驱动级#$%&$&E&%B F$?7 8,2 1:F$延时G微秒HI(JK(K J=(II L M I带宽G兆字节N秒H O K(P J O K(I Q O QJ Q(OJ (L带宽利用率P=(J RP=(O RJ L(L R K J(I RK I(L R#$%&$&延时如图Q所示S O T(从图Q中可以看出)H$&延时很小!在消息非常小的时候各种方式的延时在L U 0以内VO H*+,-./0 1 2 3/6 7 8 5*+,-./+3-,/9+7:1和*+,-./+3-,/+1,3的延时分别为K(K J U 0 5 Q(K I U 0 5 J(K U 0和L(M M U 0 VI H$&
41、延时比底层硬件稍大!主要是由线程间两次通知G我们测得一次通知的时间开销为M(I I U 0 H和多次函数调用引起的开销!但增加的量很小!说明#$%&上层协议效率也很高(*+,-./0 1 2 3/6 7 8 5*+,-./+3-,/9+7:1和*+,-./+3-,/+1,3函数在各种传输方式下的带宽数据如表I所示S O M T(从表K中可以看 出!*+,-./0 1 2 3/6 7 8的W X A C,2 8 1方 式 带 宽 最 高!*+,-./+3-,/+1,3带宽最低!*+,-./0 1 2 3/6 7 8的&7 2 8&D 2 8和&7 2 8&7 2 8方式及*+,-./+3-,/9
42、+7:1的带宽比较接近!总体来说各种传输方式的带宽都很高(根据Y D 8?&模型S K T中大消息带宽的定义!我们取*+,-./0 1 2 3/6 7 8&7 2 8&7 2 8方式在I O=O L字节时获得的带宽作为#$%&系统的实测带宽!即#$%&带宽为 O K(I Q%E.0!&Z 总线的利用率达到 O K(I Q N I I P=R(表K高性能机群网络的#%$+7:1延时和带宽,6 4 1K%1 0 0,8 14,:1 2 A B,2 36,2 3 97 3:CD*#%KQ(MO(MO(I K带宽G兆字节N秒H O K(I I O=(P LL I MI O Q=#$%&网络和与之接近的
43、网络的性能比较如表=所示(从中可以看出!#$%&$&的延时比E&S Q T稍差!这是由于#$%&$&在多线程环境下进行测试!如果去掉线程通知开销和引入的其他开销!则比E&性能稍好V#$%&$&的延时比%B F$G采用%B+7 2 1:/O L M HS J T和?7 8,2 1:F$S L T要小得多!分别是后两者的 N J和 N L!主要原因是后两个系统采用 Z&N&协议的F$实现!虽然该实现比传统的 Z&N&高效!但是协议开销还是非常大!7 2 3 D 90 O M M M环境的开销尤其大(#$%&网络的带宽稍低于E&!但#$%&网络的链路利用率比E&高(#$%&的带宽比%B F$和?7
44、8,2 1:F$分别高Q=R和J=R!这说明 Z&N&协议对带宽的影响也非常大(从上述比较可以看出在相同或相近接口的同类系统中#$%&的带宽利用率最高!延迟也非常小(表Q高性能机群网络的#%$#1,3延时和带宽,6 4 1Q%1 0 0,8 14,:1 2 A B,2 36,2 3 97 3:CD*#%O=(=O O=(L J有少量的高性能机群网络还实现了#%$+7:1功能!表K给出#$%&网络与这些机群网络的#P T!_ Z 的数据来自我 们 自 己 组 装 的 机 群S O T(从 表K可 以 看 出!#$%&的#%$写延时与 2*7 2 7 E,2 3比较接近!但是比,3+7 A 0和_
45、 Z 大!,3+7 A 0和_ Z 的#%$写延时较小的原因)链路频率高!&Z 总线的频率也高!而#%$写延时主要取决于硬件!因此写延时非常小(#$%&的#%$写带宽比后三者小!但是带宽利用率比它们高G后三者的带宽利用率分别为L I R!J P R和J P RH(#$%&网络还实现了#%$读功能!其他机群网络G除了_ Z H一般没有该功能(表Q给出了#$%&与_ Z 的#%$读性能比较(_ Z 采用_ A,4 7公司提供_ _ Z 接口进行测试!该接口读写的带宽性能相差较大(从表中可以看出!#$%&的#O T(a应用程序在b c d ef网络上的性能应用程序在#$%&网络上获得了良好的并行性能
46、!其在#$%&5%B+7 2 1:和_ Z 上的两个进程加速比如图J所示S O T(从图J中可以看出!当应用程序的消息量不大或大消息较多时!#$%&与%B+7 2 1:和_ Z 性能相当!而当应用程序小消息占的比例较大时!#$%&表现出良好的性能!甚至图J应用程序在#$%&5%B+7 2 1:和_ Z 上的两个进程加速比 7 8(J 9D/.+D A 1 0 00.1 1 3 .D*.,+,4 4 1 4,.4 7 A,:7 D 297:C#$%&5%B+7 2 1:,2 3_ Z 7 2:1+A D 2 2 1 A:比%B+7 2 1:和_ Z 都好!例如I P R(g结论本文设计并实现了一
47、种机群互连网络h#$%&!它不但提供高性能的消息传递!而且对共享虚拟存储提供一些低层硬件支持!包括基于虚地址的#期胡明昌 等)支持共享存储的千兆机群网络的实现本文详细设计了!#$%网络&包括交换方式路由流控机制通信协议帧格式和链路规范等&提出了尽量穿透交换方式&它没有采用更多的硬件&但是提高了链路利用率(设计并实现了!#$%原型交换机&它是一个)*)的用!%+#实现的高速交换机&采用输入纯!,!-缓冲输出分布式调度的交叉开关结构穿透交换带初始值的轮循调度和水线流控方法(设计并实现了!#$%网卡&它支持四种数据传输方式.%,-方 式 消 息 发 送 和 接 收&/$#方 式 消 息 发 送 和
48、接 收&/$#读和/$#写(!#$%网络在无阻塞情况下交换机的交换延时网卡到网卡延时底层硬件消息延时和#%,消息延时分别为0(1 2 3 4 5(1 6 3 4 1(7 8 3 4和9(9 7 3 4&!#$%网络的延时和带宽水平达到国内和国际在1 8位1 1$:;的%?4和5 8)(7 8$?4(我 们 在!#$%网 络 上 实 现 了 虚 拟 共 享 存 储 系 统,#,#&通过测试发现.!#$%获得与$A B C D E F和G -_ P(S F F?.S Q UE(F R a 4 F S a (W E b C Z c Y 4 D U?Q W E D&/a D D A -_P(S F F
49、?.XXX(W Q?S C D C R 4(R Q U(O)P!a e B C;C Q%E F B C D C&h S D Z E D VW Q Z A:Q C 4 C E&E F a (i S Ej a W B C R 4 D E F XQ B Y fk4 dE F g.S C V S?E B Z Q B Ua D R E R 4 F E B C D VF E R S D Q Q V A O P(,$C R B Q&8 0 0 8&8 8 f 5 g.)2 9 7(O9P d,a D W&-_P(S F F?.XXX(4 F E ;D E B(R Q U%/!d,C D F B QF Q
50、C D Z C D C e a D W(?W Z(O2P a B a Y#&+C W E B Ua D,&$E F B C Y,(%E B Z Q B Ua D R E Q Z F S ER Q UU D C R a F C Q D a A E B 4 Q Z i%,%XC F SF S E UA B C D E F V C V a e C F _#dO P(Q U?F E B Q UU D C R a F C Q D 4&5 6 6 6&8 8.6=6 6 6 7(O7P:$C D V R S a D V&:hE C X&i a D V l S C D UC D(%E B Z Q B Ua