小型微型计算机系统8).pdf
《小型微型计算机系统8).pdf》由会员分享,可在线阅读,更多相关《小型微型计算机系统8).pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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、仅增加极小的延时但获得了便利的控制实现了尽量穿透传输方式实现了分组的流水传输使交换机级联扩展变容易!调度算法的目标是在输入与输出端口之间找到一个匹配即输入队列的队列头与输出端口之间找到一个匹配!由于采用纯#$#%缓冲和输出端口分布式调度可以非常方便地实现定长分组交换和非定长分组交换我们在这里采用非定长分组调度因此输入队列的传输单位是分组是非固定长度的!为了减小调度时间采用分布式仲裁部件进行调度!为了进一步加快调度速度我们实现了在一个时钟周期内完成带初始值的轮循&()*+(,-*.调度缩短了交换延时提高了交换效率!由于每个输入端口只有一个队列作缓冲输出没有缓冲虽然共有/个调度器但每个调度器占用的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 微型计算机 系统
限制150内