已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)并行机互连网络仿真系统ins的设计和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 并行计算机作为解决高性能计算需求的一种有效途径之一,广泛应用于天气 预报、基因分析等多项科研领域。互连网络作为并行计算机的重要组成部分, 是决定并行计算机整体性能的关键因素之一,因此成为并行计算机领域的研究 重点。仿真作为一种对系统进行动态模拟研究的方法,可以有效降低风险和提 高效率,成为互连网络研究领域的一种重要方法。模拟仿真的应用促进了多种 互连网络仿真系统的出现,但这些仿真系统多数针对特定研究目的研发,难以 通用于不同的互连网络研究,因此开发一款具有通用性的互连网络仿真系统成 为当前研究的热点。 本文通过对多种互连网络仿真系统的研究总结,设计了一种新的互连网络仿 真系统i n s ( i n t e r c o n n e c t i o nn e t w o r ks i m u l a t o r ) ,采用组件化方式封装系统并交付 使用。i n s 系统为互连网络模拟提供了统一硬件仿真平台,分为仿真内核和用户 接口两部分。仿真内核采用面向对象方式开发,可以运行于不同的编译器,具 有良好的可移植性。系统各个模块之间功能划分清晰,具有较低的耦合度,易 于进行系统功能扩展。 i n s 系统通用于多种互连网络结构设计。运用通用网络描述语言t o d ,可以 仿真各种拓扑结构的互连网络;路由器模型中路由功能单元提供统一编码接口, 可以支持多种用户自定义路由算法;交换机制以数据包交换为基础,可实现对 存储转发、虚拟直通和虫蚀三种机制的简单选择;通过产生概率、目的地址和 消息长度三个因素决定网络消息的产生,可以生成多种网络通信情况;通过批 处理和实时动态两种运行模式,可以提供多种网络性能观测。多种仿真测试证 明,实验数据和理论分析结果相符合,i n s 系统可用于多种互连网络研究。 关键词:通用性扩展性合成负载实时动态 a b s t r a c t a b s t r a c t a s 锄e f f e c t i v es o l u t i o nt om e e tt h eh i g h - p e r f o r m a n c ec o m p u t i n gn e e d s ,p a r a l l e l c o m p u t e r sa lew i d e l yu s e di nav a r i e t yo fs c i e n t i f i ca r e a s a sa ni m p o r t a n tc o m p o n e n t o ft h ep a r a l l e lc o m p u t e r , i n t e r c o n n e c t i o nn e t w o r ki sak e yf a c t o rt od e t e r m i n et h e o v e r a l lp e r f o r m a n c e ,s oi tb e c o m e saf o c u si nt h i sf i e l d a sac o s t e f f e c t i v ea n d f l e x i b l er e s e a r c hm e t h o d ,s i m u l a t i o ni sw i d e l yu s e di nt h ei n t e r c o n n e c t i o nn e t w o r k a r e aa n dm a n ys i m u l a t o r sa p p e a r t h e s es i m u l a t o r sa r eu s u a l l yu s e df o rs p e c i f i cs t u d y a n dh a r d l yg e n e r a l l yu s e d ,s oi t sn e c e s s a r yt od e s i g na g e n e r a l l y - u s e ds i m u l a t o r b a s e do ns t u d y i n gav a r i e t yo fi n t e r c o n n e c t i o nn e t w o r ks i m u l a t o r , t h i st h e s i s d e s i g n s an e wc o m p o n e n t - b a s e di n t e r e o n n e c t i o nn e t w o r ks i m u l a t i o n s y s t e m , i n t e r e o n n e c t i o nn e t w o r ks i m u l a t o r ,a n dd e l i v e r si tt oa p p l i c a t i o n t h ei n ss y s t e m p r o v i d e sau n i f i e dh a r d w a r es i m u l a t i o np l a t f o r m ,a n di sd i v i d e di n t ot h ek e r n e la n d t h eu s e ri n t e r f a c e d e v e l o p e db yo b j e c t o r i e n t e da p p r o a c h , t h ek e r n e lc a nr u ni n d i f f e r e n tc o m p i l e r sa n di sp o r t a b l e t h es y s t e mm o d u l e sh a v ec l e a r l yd e f i n e d f u n c t i o n sa n da r el o wc o u p l e d ,s ot h es y s t e mc a nb ee a s i l ye x t e n d e d t h es y s t e mi sa v a i l a b l ei nav a r i e t yo fi n t e r c o n n e c t i o nn e t w o r ka r c h i t e c t u r e d e s i g n a p p l y i n gt h eg e n e r i cn e t w o r kt o p o l o g yd e s c r i p t i o nl a n g u a g e ,t o d ,i tc a nb e u s e df o ra l lk i n d so ft o p o l o g i e s t h er o u t i n gu n i tp r o v i d e sau n i f i e dr o u t i n gi n t e r f a c e , s oi tc a ns i m u l a t em a n yu s e r - d e f i n e dr o u t i n ga l g o r i t h m s b a s e do nm e s s a g e p a s s i n g s w i t c h i n g ,i tc a nb ee a s i l yc h o s e nb e t w e e ns t o r e a n d - f o r w a r d ,w o r m h o l ea n dv i r t u a l c u t - t h r o u g h t h em e s s a g ei sd e t e r m i n e db yt h ep r o b a b i l i t y , a d d r e s sa n dm e s s a g es i z e , s oav a r i e t yo fc o m m u n i c a t i o nt r a f f i cc a nb eg e n e r a t e d r u n n i n gi np a t c ha n d r e a l t i m em o d e ,aw i d er a n g eo fo b s e r v a t i o nd a t ai sp r o v i d e d av a r i e t yo fs i m u l a t i o n t e s t sp r o v et h a tt h ee x p e r i m e n t a ld a t aa c c o r d sw i t ht h e o r e t i c a la n a l y s i sa n dt h ei n s s y s t e mc a nb eu s e df o rav a r i e t yo fi n t e r c o n n e c t i o nn e t w o r ks t u d i e s k e yw o r d s :g e n e r a l l y - u s e d ,e x t e n d i b i l i t y , s y n t h e t i ct r a f f i c ,r e a l - t i m ea n i m a t i o n 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:张刚 捌彦年占月) 专日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月 日 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:张( 锄 洲3 年具) 弓e l 第一章引言 第一章引言 随着科学技术的迅速发展和计算需求的不断增长,大规模并行计算机作为解 决高性能计算需求的有效途径之一,被广泛地应用于石油勘探、地震预测、天 气预报、生物遗传和基因分析等科研领域【l 】。并行机互连网络作为并行计算机的 核心部件之一,直接影响并行计算机的整体性能和系统规模,成为并行机领域 的研究重点。 仿真作为一种对系统进行动态模拟研究的科研方法,可以有效降低风险并能 提高效率,成为互连网络研究领域的一种重要方法。随着对互连网络研究的深 入,建立一种通用的可灵活支持多种互连网络结构的并行机互连网络仿真系统 成为当前研究的热点。本文的目的是通过对多种互连网络仿真系统的研究总结, 设计一种具有通用性和灵活性的互连网络仿真系统,为互连网络模拟提供统一 硬件仿真平台,并通过多种互连网络功能仿真测试验证该系统可用于多种互连 网络研究。 第一节并行计算机和互连网络 并行计算机是计算机实现高性能计算的必然趋势,因此从大型高性能计算机 到服务器的研制开发,都在优先考虑并行技术。并行计算机由一组处理单元组 成,这组处理单元通过相互之间的通信进行协作,以更快的速度协同完成一项 大规模的计算任务【2 】。因此并行计算机两个最主要的组成部分是计算节点和节点 之间的通信与协作机制。 目前主要的并行计算机系统结构分为对称处理机、大规模并行处理机、机群 和分布式共享存储多处理机四类。在这些体系结构中,系统主要由处理器一存 储器节点、网络接口和互连网络三部分组成。处理器一存储器节点,简称节点, 主要为并行任务的完成提供计算功能,负责本地任务处理、协作请求、启动终 止数据传输等;网络接口将处理器存储器节点连接到互连网络,负责组织网 络消息格式、构造路由信息等。互连网络是按照一定拓扑结构和控制方式将多 个处理器一存储器节点连接而成的网络,为处理器一存储器节点之间信息交互 第一章引言 提供通信子系统。 完成计算、存储功能的节点和连接各个节点的互连网络共同决定了并行计算 机的系统性能。并行计算机体系结构的发展主要体现在网络节点计算性能的提 高和互连网络通信技术的改进两个方面。由于设计周期长和开发成本高,处理 器一般采用商品化产品。商品化通信子系统大多为计算机网络而设计,无法满 足并行计算机对传输速度、结构规则性等要求,因此为保证各节点之间的快速 通信和高效协作,互连网络必须提供高效通信系统,因此互连网络成为区别不 同并行计算机系统结构的重要标志之一。 互连网络作为组成并行计算机系统的核心部件之一,直接影响系统的同步和 通信速度,决定了并行计算机系统的性能、易编程性、可靠性和物理布局实现 复杂性等多种重要特性,对整体系统的效率起着举足轻重的作用,成为决定并 行计算机系统整体性能的关键部件。因此互连网络的各种设计必须进行互连网 络的性能评价,以衡量设计方案的可行性。 第二节互连网络性能研究方法 互连网络的性能是决定并行计算机系统结构设计是否成功的一个关键因素。 面对不同实际应用问题的设计方案要求对互连网络性能进行分析和研究。常见 的性能研究方法主要有系统测量、模型分析和模拟仿真 4 】三种。 系统测量利用软件监视器或者硬件监视器监控硬件实现的互连网络,对感兴 趣的系统性能进行数据采集、数据分析和结果输出。监视器是一种系统行为监 控工具,分为软件监视器、硬件监视器和混合监视器三种。监视器消耗一定的 系统资源,消耗多少取决于系统监控信息的精确度,监控信息的细节越多,消 耗资源越多。系统测量能够获得网络性能的真实数据,但监控运行在实际互连 网络之上,硬件实现成本较高,容易造成资源浪费;软件监视器和硬件监视器 的性能测量方案都针对具体互连网络设计,难以实现测量方案的移植。 模型分析对互连网络进行数学建模,运用数学工具对系统模型进行理论分 析。系统模型可分为确定性模型和概率性模型两种。确定性模型各种数据确定, 具有可再现性;概率性模型部分数据不确定,具有随机性。模型分析是对互连 网络性能进行数学分析的一种有效方法,实现成本较低,但建模过程基于过多 的系统简化和前提假设,性能测量结果更接近理论值,具有较低的准确性【5 】。随 2 第一章引言 着互连网络的设计深入和细节加入,数学模型会变得过于复杂,难以进行数学 分析。数学分析无法对互连网络的工作过程进行建模。 模拟仿真对互连网络进行系统抽象建模,运用互连网络仿真软件模拟互连网 络的整个动态运行过程,得到网络性能的相关数据。通过模拟仿真,可以对互 连网络的整体设计或者部分设计进行性能测量,便于系统性能调整;可以对不 同的网络设计方案进行比较,选择合适的设计实现;可以在互连网络建立之前 通过改变仿真模型结构和调整参数来优化系统设计;可以重复使用仿真软件, 减少开发成本。 在互连网络性能研究的三种方法中,模拟仿真通过仿真软件对系统进行模 拟,仿真软件可重复使用,易于修改系统模型设计和系统参数设置,具有比系 统测量低的实现成本;模拟仿真既可以模拟复杂的互连网络模型,又可以模拟 互连网络的动态运行过程和工作过程中难以预料的随机事件,而这些是模型分 析无法做到的。因此随着对互连网络研究的深入,模拟仿真成为一种越来越重 要的研究方法【6 】,并广泛应用于互连网络的不同研究阶段,特别是初期研究阶段。 模拟仿真方法在互连网络研究领域的应用促进了多种互连网络仿真软件的 出现。目前国内外存在多种互连网络仿真系统软件,这些仿真系统多数针对特 定研究目的研发,从底层开始对并行计算机的整个工作过程进行模拟,要求随 着目标系统的硬件变化对仿真系统进行大量软件修改,无法实现软件复用。系 统软件研发工作的重复进行,浪费了大量人力、时间,也延长了研究进程。本 文拟通过对国内外多种仿真系统的研究总结,设计一种具有良好通用性、灵活 性和可扩展性的互连网络仿真系统,为互连网络研究提供了统一硬件仿真平台, 仿真并行机互连网络的工作过程,采用一致的处理方法获取互连网络的性能仿 真结果。仿真系统可以仿真不同互连网络结构设计,从而适用于不同的互连网 络研究。 第三节论文导读 本论文通过对多种互连网络仿真系统的总结分析,设计实现了一种具有良好 通用性和可移植性的互连网络仿真系统i n s ,采用组件化方式封装仿真系统并交 付使用。 第一章介绍了互连网络在并行计算机中的重要作用,通过对三种互连网络性 3 第一章引言 能研究方法的比较和常见仿真系统不足的介绍,引出了本文的研究目的。 第二章主要研究了互连网络的分类和性能指标,分析了几种具有互连网络仿 真系统的缺点,总结了互连网络仿真系统的主要仿真功能和软件设计要求。 随后运用面向对象和面向组件等思想对系统整体架构进行了设计,划分了仿 真系统每个模块的功能,按照软件系统的工作流程介绍了系统参数的配置和目 标系统的建立,并介绍了该仿真系统的功能和特征。 在清晰划分系统模块接口的基础上,第四章对系统的各个功能模块进行了详 细设计,实现了通信负载、路由算法、交换机制、拓扑结构、数据流控制、性 能测量等系统仿真功能。 在软件系统编码实现后,第五章对i n s 系统进行了功能测试、可移植性测试 和封装测试,并通过多个仿真实验的设计验证了系统对拓扑结构、路由算法、 交换机制和网络负载等仿真功能的支持。 最后对本文所做工作进行了总结,并指出了互连网络仿真系统的研究重点和 开发方向。 4 第二章互连网络仿真系统概述 第二章互连网络仿真系统概述 计算机仿真是对系统模型进行动态实验的一种方法,具有灵活性高、实现成 本低等特点,因此成为互连网络研究领域广泛采用的一种重要方法。本章将对 互连网络仿真的相关知识进行介绍,然后对国内外多种仿真系统进行研究总结。 2 1 1 直接网络 第一节互连网络理论 随着并行计算机系统结构的发展,互连网络的实现方式逐步多样化。近年来 互连网络分类标准倾向于可扩展性。“可扩展互连网络 指互连网络能够根据 处理器节点数目对网络规模等进行有效调整和扩展 r l 。按照可扩展性可将互连网 络可分为共享介质网络、直接网络、间接网络和混合网络四类。 其中,直接网络( 又称点对点的网络) 包括一组节点,每个节点与网络中的一 部分节点直接连接,节点之间的连接固定,在并行计算机的整个运行过程中保 持不变。互连网络中两个相邻节点能够实现直接通信,非相邻节点之间的通信 则必须经过中间节点的协助才能完成。 直接网络的每个节点由处理器、存储器、外围设备和路由器组成,可看作一 个可编程计算机。路由器是节点的公用部件,负责节点之间通信消息的发送和 接收。每个路由器都和相邻路由器直接相连。为提高各个节点计算和通信的并 行度,高性能计算机系统中大多采用专门路由器。随着节点的增多,系统的通 信带宽、存储器带宽和计算能力也会相应增加,因此直接网络具有良好的网络 扩展性,成为构造大规模并行计算机最流行的互连方式。很多研究提出的拓扑 结构都属于直接互连网络,比较流行的是k 元1 1 维网络、环网( t o m s ) 和超立方体 ( h y p e r c u b e ) ,特别是低维网格和环网更受青睐,如i n t e lp a r a g o n ( - - 维网格) 瑙】, m i t j - m a c h i n e ( - - 维网格) 【9 1 ,c r a yt 3 d t 3 e ( _ 三维双向环n ) t 1 0 j 等。 直接网络主要有四个特征表示:拓扑结构、路由算法、交换策略和数据流控 制。 5 第二章互连网络仿真系统概述 拓扑结构是指互连网络的网络节点连接方式,包括规则拓扑结构和非规则拓 扑结构。网络拓扑结构决定了每个网络节点的通信链路数、网络消息的传输路 由和到达目的节点的远近。拓扑结构是互连网络和整个并行计算机设计的第一 步,对整个计算机系统的性能起着重要作用,是实现各种网络通信协议的基础。 路由算法决定了网络消息在互连网络中的传输路径,是互连网络最主要的功 能之一。它的优劣直接影响互连网络的整体性能和效率。由于源节点到目的节 点的连通路径往往多于一条,好的路由方法应该寻找通信距离相对较短、不拥 挤的路由途径,减少在中间节点的排队等待时间,从而减少通信传输时间。 交换机制决定了网络消息的数据如何通过它的路由路径进行传输。交换机制 主要有两种方式:一种是电路交换,在交换过程中保留由源节点到目的节点的 路由直至消息传输完毕;一种是数据包交换,网络消息拆分为一系列数据包, 每个数据包含有序列信息和路由信息,各自从源节点到目的节点进行独立传输。 数据流控制按照互连网络通信情况对流量控制单元进行传输控制,流量控制 单元是可以通过互连网络链路进行传输的最小单元。当对某一单元进行传输时, 如果两个或更多单元同时争用同一网络资源,其中一个应该被放入缓冲区或者 改变路由,甚至直接丢弃,具体处理方式取决于交换元件和通信系统的设计。 2 1 2 互连网络性能指标 互连网络的研究目的不同,性能评价标准也不同。当对某种互连网络进行性 能评价或者对不同互连网络进行性能比较时,首先要选取性能比较标准,不同 的比较标准会导致不同的性能评价结果。互连网络主要从功能、可靠性、速度 和成本等方面【l l 】进行评价。功能指互连网络能否实现预期设计功能,保证节点 之间通过协作完成任务;可靠性指互连网络的功能出错概率能否控制在一定范 围之内;速度指互连网络能否实现网络节点之间交换信息的快速传输;成本指 能否用尽量低的实现成本构建所设计的互连网络。 互连网络是决定并行计算机整体性能的关键部分之一,互连网络的主要研究 目的是网络性能的提高,因此本文对互连网络的性能评价以速度为评价标准。 互连网络为并行计算机各个网络节点提供通信子系统,用于节点间网络消息的 传输,因此采用网络消息延时和网络吞吐率两个性能指标。 网络延时是指网络消息从源节点开始发送到目的节点接受所经过的时吲1 1 。 6 第二章互连网络仿真系统概述 从系统结构的不同层次考虑,网络延时的定义不完全相同:从互连网络底层硬 件考虑,指消息头从源节点发向互连网络到消息最后一个传输单位到达目的节 点所经过的时间;从网络节点的注入队列考虑,消息在源节点网络接口缓存中 的排队等待时间也要计算在内;从软件消息层考虑,指从源节点启动发送消息 进行系统调用到目的节点接受消息进行系统调用返回用户程序所经过的时间。 互连网络各节点之间经常进行频繁数据交换,产生大量网络通信消息,因此采 用多个网络消息的平均延时作为衡量指标更有意义。网络延时以时间单位来度 量,在互连网络仿真系统中用模拟时钟周期数目来度量。 网络吞吐率指互连网络每个单位时间发送的最大信息量,或每个单位时间可 以接收的最大信息量。如果单位时间采用相对时间,吞吐率用每个时钟周期传 输的消息数目来表示;如果单位时间采用绝对时间,吞吐率用每秒传输的消息 数目来表示。对不同的设计选择进行比较时,如果通道宽度等于微片( f l i t ) 大小, 可以用每秒或者每个时钟周期的微片数目来表示。网络吞吐率取决于互连网络 规模和网络消息长度,并且受网络负载影响。 第二节系统仿真技术 从2 0 世纪4 0 年代开始,系统仿真技术在各类应用需求的推动下逐渐发展成 为一门综合性的专业技术体系。建模与仿真技术同高性能计算一起,正成为继 理论研究和实验研究之后,第三种认识、改造客观世界的重要手段1 2 1 。 2 2 1 系统仿真概念 系统仿真是以相似原理、系统技术、信息技术以及应用领域有关专业技术为 基础,以计算机、仿真器和各种专用物理效应设备为工具,利用系统模型对实 际或设想的系统进行动态实验研究的一种综合性技术【l 引。系统仿真主要有系统、 模型和仿真三项基本要素组成【1 4 1 ,其中,系统是研究的对象;模型是系统的抽 象;仿真是对模型进行实验以达到研究系统的目的。系统仿真主要流程如下: 1 ) 系统定义。根据仿真目的,规定仿真系统的边界和约束条件。 2 ) 数学建模。根据系统实验知识、仿真目的和实验材料来确定系统数学模型 的框架、结构和参数。 7 第二章互连网络仿真系统概述 3 ) 仿真建模。根据数学模型形式、计算机类型以及仿真目的将数学模型转化 成仿真模型,建立仿真实验框架,在模型转换过程中要进行正确性校验。 4 ) 装载。利用仿真软件将仿真模型输入计算机,设定试验条件及记录变量。 5 ) 实验。根据仿真目的在模型上进行实验。 6 ) 结果分析。根据试验要求对结果进行分析、整理及文档化。根据分析结果 修正数学模型、仿真模型、仿真程序、以及进行新的实验。 从工作流程可以看出,仿真软件是一类面向问题和面向用户,专门用于仿真 的软件,是整个仿真工作的平台和工具,在整个仿真过程中起着重要作用,它 的质量决定了系统仿真结果的可信度。仿真软件分为仿真程序、仿真语言与仿 真环境三个层次。仿真程序多采用面向对象高级语言开发;仿真语言多面向专 门问题,研制周期长,具有较强仿真功能;仿真环境是以仿真数据库系统为核 心的软件系统,是仿真软件的工具集合。 2 2 3 互连网络模拟仿真 模拟仿真具有良好的灵活性和较低的成本,因此成为互连网络研究领域的一 种重要方法被广泛应用。互连网络仿真关系如图2 1 所示,仿真系统软件为互连 网络提供模拟仿真平台,能够对抽象或实际的互连网络系统模型进行动态工作 过程的仿真,对互连网络的性能预测和性能评价起着重要作用。 互连网络的仿真研究主要包括系统模型建立、评价标准选取和仿真方式运用 三个方面。 图2 1 互连网络仿真关系 1 ) 系统模型建立。系统建模是进行互连网络系统仿真的第一步。一个好的模 型系统主要有两个要求:一是准确性的描述系统行为;二是简单性的解决研究 问题。准确性要求尽可能详细的描述定义系统行为的各种细节,但过多细节会 8 第二章互连网络仿真系统概述 增加系统模型的复杂性,甚至使研究问题不可解。简单性要求模型排除尽可能 多的系统参数,但过少参数会降低系统模型对实际系统描述的准确性。系统模 型的建立需要对准确性和简单性进行权衡,当仿真结果与实际情况相差较大时, 需要对系统模型进行不断的验证和修改。 2 ) 评价标准选取。对互连网络的不同设计进行性能研究或比较时首先建立比 较标准,比较标准的选取和实际应用问题密切相关,甚至在不同的实际应用中 相同比较标准所占的比重却不相同。提供高效通信子系统是互连网络研究的重 要目标,因此互连网络仿真系统以网络延时和网络吞吐率作为性能评价指标。 3 ) 仿真方式运用。互连网络的模拟仿真有多种类型,主要有仿效( e m u l a t i o n ) 、 踪迹驱动仿真和离散事件仿真 1 5 】。 仿效主要指使用硬件或固件的模拟,如处理器仿真,在一个可用处理器上模 拟一个正待研究的目标处理器,它要求仿真系统必须具有汇编语言编译器。这 种仿真类型主要用于硬件或固件的仿真,过于详细的硬件细节模拟限制了软件 仿真速度和系统仿真规模。 踪迹驱动仿真由事件发生器和仿真器两部分组成。踪迹是记录真实系统某一 事件的时间序列记录,事件发生器产生踪迹作为仿真器的输入;仿真器仿真互 连网络的行为对输入踪迹做出反应。由于踪迹仿真记录真实工作负荷,因此具 有较高可信度,仿真过程也接近实际实现。由于采样踪迹缺乏代表性和采样的 有限性,仿真会产生片面的分析结果,并且踪迹采集需要有系统的实际实现, 因此代价和成本都比较高。 离散事件仿真使用离散状态对互连网络进行状态仿真。由于计算机系统中系 统状态可以用不同设备上任务数目来刻画,因此这种方式经常被使用。这里的 离散指系统状态,离散事件可以使用离散或者连续的时间域。 在上述三种仿真方式中,早期仿真主要采用了仿效的方式,但对处理器计算 功能的仿真耗费了过多的时间和精力,又没有将重点放在互连网络的通信功能 仿真上。后来的仿真系统多采用踪迹驱动仿真和离散事件仿真的方式,或者这 两种方式的结合。 9 第二章互连网络仿真系统概述 第三节互连网络仿真系统的研究 2 3 1 国内外研究现状 在互连网络研究领域,目前国内外存在多种互连网络仿真系统。它们设计目 标的侧重点不同,实现方法也各有特点。根据应用目的不同,互连网络仿真系 统可分为专用性和通用性两类。通用仿真系统为互连网络仿真提供了基本框架, 可以在系统软件基础上根据不同的研究目的完成有针对性的仿真,无需从底层 仿真做起,具有良好的通用性和可扩展性。由于通用仿真系统避免了软件重复 开发过程,节省了大量人力和时间,因此成为今后互连网络仿真系统的主流发 展发向。 国外相关领域存在多种互连网络仿真系统。这些系统多数为专用研究目而研 发,通用性仿真系统比较少,其中几种常见的具有一定通用性的系统如下: 1 c h a o s k e v i nb o l d i n g 小组开发【l6 | 。支持包括多维m e s h t o r u s 、h y p e r c u b e 在内的k 维n 元拓扑结构,支持存储转发和虫蚀两种交换机制、自适应路由算法和维序 确定性路由算法、多种通信负载模型;性能测量提供批处理模式和动态模式两 种运行方式:批处理模式提供互连网络整体性能参数,动态模式提供动态仿真 实时数据观测;g u i 用户接口方便参数设置;有c 单机运行和z p l 多机运行 1 1 刀 两种版本。仿真细节的过于繁琐使得网络节点仿真规模受到限制。 2 i n s i g h t 支持通过网络描述语言定义拓扑结构的仿真系统【1 8 】。网络通信有通信负载模 型和实际程序运行产生两种方式;支持存储转发、虫蚀和虚拟直通三种交换机 制、不同路由算法;支持多种系统硬件配置参数。网络描述语言只支持拓扑结 构类型比较少,性能评价参数只有网络延时。 3 p a r s e 基于面向对象和事件驱动方式开剔1 9 】。支持各种k 维n 元网络结构;仿真了 多指令多数据型( m i m d ) 系统结构;可运行基于单程序多数据( s i n gp r o g r a m m u l t i p l ed a t a ) 编程模型的并行程序:支持多种网络参数配置;用户交互和动态仿 真数据都写入文件;节点间通信采用输入输出流方式;事件队列为空时结束仿 真过程。节点的计算功能和路由器的通信功能在仿真时没有实现有效分离,系 1 0 第二章互连网络仿真系统概述 统仿真速度和网络仿真规模都受到了限制。 4 p p m e s s s i m 基于面向对象和离散事件开剔2 0 】。支持多种通信负载模型、交换路由算法、 多重路由;支持对路由器模型的系统结构和底层硬件的修改。不支持对动态仿 真过程的实时观测;网络通信支持合成负载模型,但模型实现简单;系统扩展 性较差。 5 x m u l a t o r 采用基于监听者方式和面向对象开发【2 l 】。支持多种网络拓扑结构和交换机 制;采用x m l 形式与用户进行参数交互:运用内嵌工具软件记录仿真过程数据; 分层式路由器模型易于修改和扩展。网络消息随机产生,不支持多种通信负载 模型。 国内相关领域仿真系统比较少见,其中具有代表性的通用仿真系统是 s i n o m p 系统【2 2 】。它支持多种路由选择、交换策略和路由器模型;支持多种系 统参数配置。系统缺点主要有仿真功能和系统软件两方面。在仿真功能方面, 通信负载和网络性能是互连网络仿真的两个重要方面,但它的通信负载只支持 平均概率模型,网络通信不能更好的接近实际情况;同时对网络性能的仿真只 提供仿真的最终结果,无法实现对动态仿真过程的观测。在系统软件方面,由 于用户和系统的参数交互采用内嵌程序编码的实现方式,限制了系统模型和参 数配置的扩展;用户接口和系统内核模块接口划分不清晰,并且依赖于操作系 统,因此限制了软件的移植和使用范围。 2 3 2 仿真系统总结 通过对多种互连网络仿真系统的研究和总结可以发现,一个好的并行机互连 网络仿真系统要求具有通用性、可扩展性和可移植性的特点,主要体现在对仿 真功能和系统软件两方面的要求。 1 ) 系统功能。仿真软件能够仿真并行机互连网络的系统结构,模拟网络消息 的动态传输,实现通信负载、拓扑结构、路由算法、结构配置和性能测量等多 种仿真功能,采集互连网络性能的相关数据信息,输出仿真结果,具有通用性 的特点。 在通信负载方面,互连网络通信消息的产生有应用程序运行和通信负载模型 第二苹互连网络仿真系统概述 两种。应用程序运行需要仿真处理单元的计算功能,更加接近实际通信情况, 降低仿真速度。通信负载模型按照数学模型产生网络消息,提高了仿真速度, 降低了仿真复杂度,但与实际通信情况有一定差距。 在拓扑结构方面,系统仿真的拓扑结构主要分通用拓扑结构和特定类别拓扑 结构两种。对通用拓扑结构的支持主要借助网络描述语言或者文本参数描述; 对特定类别拓扑结构主要通过对此类网络拓扑结构规律的总结找到通用参数, 使用参数进行描述。 在路由算法方面,系统支持一种或多种路由算法。单个具体路由算法的实现 代码内嵌在系统模块的实现中,对多种路由算法的支持则提供一个标准接口, 根据具体算法自己编码实现。 在结构配置方面,仿真系统提供对路由算法、交换机制、数据流控制、数据 缓冲等设计结构的支持,可实现系统结构的灵活可变设置,从而易于比较不同 设计策略对互连网络的影响,增加网络仿真系统的通用性。 在性能测量方面,系统主要有批处理模式和动态模式两种。批处理模式在仿 真结束时完成数据采集分析,提供整体性能仿真参数。动态模式提供互连网络 仿真过程的实时数据观测,可以更直观的观测互连网络的动态运行。 2 ) 系统软件。为通用于多种互连网络研究,系统软件能够运行于不同的操作 环境,并且通过对相关软件模块的简单更改就能满足新的互连网络研究要求, 具有可移植性和可扩展性等特点。 在开发环境方面,仿真系统有单机运行和多机运行两种方式。单机运行方式 对硬件要求较低,系统程序设计不当会降低互连网络的网络规模;多机运行方 式对硬件环境要求较高,运行速度快,但细节数据采集较复杂,设计不当容易 造成死锁; 在仿真速度方面,多数仿真系统通过优化程序设计来提高仿真速度,比如提 高内存管理效率等,但底层硬件功能仿真、实际应用程序运行、仿真数据采集 工具的内嵌都会影响仿真速度: 在系统扩展方面,仿真系统多采用面向对象或者面向组件等方式开发,系统 各模块之间功能和接1 :3 划分清晰明确,具有较低的耦合度、良好的扩展性和易 修改性。 1 2 第二章互连网络仿真系统概述 2 3 3in s 系统特点 本文通过对多种互连网络仿真系统的研究总结,设计了一种新的互连网络仿 真系统i n s ( i n t e r c o n n e c t i o nn e t w o r ks i m u l a t o r ) ,采用组件化方式封装系统并交付 使用。i n s 系统为互连网络模拟提供了统一硬件仿真平台,能够满足互连网络研 究的不同仿真需求,具有良好的通用性和灵活性,仿真软件也具有良好的可移 植性和可扩展性。 i n s 系统对互连网络模拟仿真理论的支持主要有三方面:由于体系结构仿真 在捕捉主要性能的同时还能实现尽量多的细节,因此采用体系结构仿真的方式 进行系统建模;由于互连网络研究的主要目的是提供并行计算机的速度和性能, 因此对网络性能的仿真主要以网络延时和网络吞吐率作为性能指标;i n s 系统运 用踪迹驱动仿真和离散事件仿真相结合的方式,将通信负载和动态工作过程相 分离,通信负载采用离散事件模型的方式产生网络消息,替换了踪迹产生;动 态工作过程中网络节点对产生的网络消息进行传输。i n s 仿真系统的具体设计特 点主要体现在以下几个方面: 在网络拓扑结构方面,系统采用参数传递方式实现了对网络描述语言的多次 混合运算的支持,参数设置方式使得拓扑结构配置简单灵活;多次混合运算支 持各种规则拓扑结构和不规则拓扑结构的网络生成。 在通信负载方面,根据时间局部性和空间局部性的网络消息通信原理,支持 多种消息产生概率模型和目的地址产生方式。产生概率模型和目的地址产生方 式的组合能够产生多种网络通信负载,从而使得网络通信情况更加接近实际情 况。标准接口支持各种模型的扩展,增加了系统灵活性和通用性。 在性能测量方面,系统提供批处理模式和动态模式两种运行模式,既可以对 互连网络整体性能提供测量,又可以从时间和空间两个角度对网络动态仿真过 程进行实时观测。 在参数交互方面,用户和仿真系统内核以x m l 数据格式交互。x m l 自身特 性使得系统参数不受个数和类型的限制,实现了系统结构设置的灵活性和简单 性。 在内存管理方面,实时监控模块采用带外控制方式统一管理网络消息,优化 了内存使用,对网络消息的传输采用传指针地址的方式,提供了系统仿真速度。 在系统组装方面,系统仿真内核严格按照c + + 语言标准开发,可运行于多种 1 3 第二章互连网络仿真系统概述 编译器环境;清晰的功能划分使得各个模块之间具有很低的耦合度,并采用d l l 方式进行封装;规范化接口的设计易于系统功能的扩展和修改;系统仿真功能 的修改和增加通过对功能模块的修改或增加即可实现,降低了系统后期维护成 本。 1 4 第三章i n s 仿真平台系统架构 第三章ln s 仿真平台系统架构 i n s 进行系统结构设计时从系统功能和软件编码两个方面保证仿真系统的通 用性和扩展性。系统各个组成模块对仿真功能进行了严格清晰划分,降低了模 块之间的耦合度,提高了仿真系统的可扩展性;模块编码采用规范接口方式, 方便系统仿真功能的修改和扩展,提高了仿真系统的通用性和灵活性。 第一节系统软件设计思想 基于互连网络仿真系统的设计要求,为增强仿真软件的复用性和可扩展性, 减少软件开发和后期维护管理的复杂性,i n s 仿真系统主要采用了面向对象和面 对组件相结合的方式。 3 1 1 面向对象 面向对象是一种软件工程方法和程序设计范例,基本思想是运用人类的自然 思维方式构造软件系统【2 3 1 。面向对象的出发点是一切皆为对象,基本概念是类 和对象。对象是封装了数据和对数据进行的各种操作的逻辑实体。面向对象思 想最突出的特征就是封装性、继承性、多态性。i n s 系统对采用了面向对象的开 发设计方法,充分利用了面向对象的特征。 i n s 系统利用封装性将各个功能单元设计成类。例如,将每个硬件单元封装 成一个硬件类,硬件单元的组成用硬件类的数据属性表示,硬件单元的功能用 硬件类对相关数据的操作表示。每个硬件类可以嵌套其它硬件类,这种实现方 式方便对不同级别的硬件仿真,每层硬件单元组成和功能的修改不会影响其它 层次的硬件单元。 为保证仿真系统的通用性和多样性,i n s 系统对不同的网络结构设计,如路 由算法、交换机制、仲裁控制器、通信负载等功能,均采用功能基类实现,并 规范定义了标准接口。不同的设计策略作为相应功能基类的子类实现,在子类 中利用继承性实现基类标准接口。因此功能模块能够适应多种不同设计,具有 良好的可扩展性。 1 5 第三章i n s 仿真平台系统架构 为保证功能调用的统一性和简单性,系统模块利用多态性特征设计了相同功 能名称不同参数列表的接口。系统进行接口调用时无需考虑参数列表情况,从 而降低了接口调用的复杂性,方便用户定制功能的实现。 3 1 2 工厂模式 模式,是人脑把握和认识外界的关键。模式化过程是抽象化问题,忽略非重 要细节,发现问题的一般性本质,并找到普遍适用解决方案的过程【2 4 1 。模式的 本质是抽象:对问题的抽象、对环境的抽象和对最优解决方案的抽象。模式是 对具体问题、环境、最优解决方案的总结,是提炼出公共要素后在一个更高层 次上对它们的再现。模式理论是一个完整不可分割的整体系统和思想体系,它 包含了一套方法论。模式分为三个部分:环境,模式在何种状况下发生作用; 动机,问题或预期的目标;解决方案,平衡各种动机或者解决所阐述问题的一 个构造或者配置。 工厂模式是2 3 个经典模式之一,属于抽象类实例化过程的创建型模式【2 5 1 。 工厂模式使系统独立于如何创建、组合和表示它的那些对象。创建模式分为类 的创建模式和对象的创建模式两种。整个系统所知道的只有抽象类所定义的接 口,不必知道类或对象何时被创建,由谁创建,如何创建等问题,为系统扩展 提供了很大的灵活性。工厂模式专门负责将大量具有共同接口的类实例化,可 以动态的决定将哪一个类实例化而不必事先知道要实例化的类。工厂模式有简 单工厂模式、工厂方法模式和抽象工厂模式三种。 i n s 系统中将硬件单元设计和对硬件的实例化分开,采用工厂方法模式设计。 以路由器基类的扩展为例进行说明,如图3 1 所示。定义一个路由器基类,作为 所有不同硬件配置结构路由器的基类;定义一个路由器操作基类,作为对相应 的路由器操作子类的基类。路由器基类和路由器操作基类都为子类提供了规范 接口。操作基类不负责对所有路由器实例的创建和操作,而将具体的工作交给 操作子类操作去完成。路由器操作基类是抽象类,仅仅用来规定操作基类必须 实现的接口,而不考虑哪一个路由器子类应当被实例化这种细节。i n s 系统对不 同结构设计的路由器进行扩展时,生成一个路由器子类和一个路由器操作子类, 并在子类中实现相应的接口。这样可以在不改变仿真系统结构的情况下仿真多 种不同结构设计的路由器,并且保证了各种路由器模型之间的相互兼容。其它 1 6 第三章i n s 仿真平台系统架构 功能模块的扩展也采用了相似的设计模式。 路由器基类操作基类 图3 1 由器的工厂方法模式设计 3 1 3 面向组件和d l l 基于组件的软件开发方法( c o m p o n e n tb a s e ds o f t w a r ed e v e l o p m e n t ) 现于2 0 世纪9 0 年代,是一种新的软件开发标准方法体系,是指软件体系结构可重组以 及软件成份可重用的系统开发方法【2 6 1 。这种方法的基本内涵是应用需求领域化、 软件结构框架化、软件元素组件化和应用原型实例化。它提供了一种先自顶向 下地将需求分解为组件集合,再自底向上将预先定制包装好的组件组合成为应 用系统的新途径 2 7 】。用户可以在使用组件的基础上根据需要编制自己的应用程 序,构建自己的目标系统,这种系统具有良好的灵活性和可扩展性。组件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地理东南亚考试题及答案
- 邢台电器保护器项目可行性研究报告
- 重点项目-金属紧固件滑轮项目可行性研究报告
- 门诊部设置可行性研究报告5范例
- 防水设施材料项目可行性研究报告申请报告
- 驱动器项目可行性研究报告
- 2025年安徽省电子信息行业职业技能竞赛(人工智能训练师)备赛试题库(含答案)
- 广西中考物理5年(2021-2025)真题分类汇编:专题05 机械运动与质量与密度(解析版)
- 临床医院“互联网+护理服务”管理制度
- 2025年中级注册安全工程师之安全生产法及相关法律知识提升训练试卷A卷附答案
- 食品安全的规章制度目录清单
- 小学生心理健康帮扶计划及措施
- TCI 368-2024 供电服务客服调度管理规范
- HG∕T 2454-2014 溶剂型聚氨酯涂料(双组份)
- 2023-2024学年全国小学六年级上英语人教版期中试卷(含答案解析)
- 解读心肺复苏专家共识课件
- 译林版二年级上册英语期中卷(含听力材料)
- 玉米脱粒机项目计划方案
- DZ∕T 0283-2015 地面沉降调查与监测规范(正式版)
- 明清古家具鉴赏 知到智慧树网课答案
- 大学生职业规划大赛成长赛道参赛作品
评论
0/150
提交评论