首页> 中国专利> 互连网络仿真器及用于仿真互连网络的方法

互连网络仿真器及用于仿真互连网络的方法

摘要

本发明涉及一种互连网络仿真器(10)及用于仿真互连网络的方法。互连网络仿真器(10)具体地包括拓扑仿真模块(11),其被适配并被构建为选择并启用定义数目的被仿真模块(12、13、20),在所述启用的被仿真模块(12、13)之间建立连接链路(15),以便形成被仿真的互连网络(30),以及使得用户能够与所述启用的被仿真模块(12、13、20)进行交互。

著录项

  • 公开/公告号CN105323109A

    专利类型发明专利

  • 公开/公告日2016-02-10

    原文格式PDF

  • 申请/专利权人 公牛公司;

    申请/专利号CN201510317244.7

  • 发明设计人 A·卡迪;B·布拉图;

    申请日2015-06-10

  • 分类号H04L12/24;H04L12/26;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 法国克莱埃苏布瓦

  • 入库时间 2023-12-18 14:06:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-07

    未缴年费专利权终止 IPC(主分类):H04L12/24 专利号:ZL2015103172447 申请日:20150610 授权公告日:20200626

    专利权的终止

  • 2020-06-26

    授权

    授权

  • 2017-05-17

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20150610

    实质审查的生效

  • 2016-02-10

    公开

    公开

说明书

技术领域

本发明在计算机科学领域中涉及互连网络仿真器,其使得互连网络以及用于管理这种互连网络的软件能够被建立原型、开发以及测试。本发明还涉及一种用于仿真互连网络的方法。本发明可应用于可以包括数千节点的超级计算机。

背景技术

以已知的方式,通过将每个都集聚了多个处理器的节点结合而构成超级计算机。这些超级计算机包括倍增的处理器,以使得能够同时执行大量计算。如图1中所图示的,这些在现有技术中已知的超级计算机1通常包括多个节点2,每个节点包括网络控制器3并且通过互连网络4彼此连接。另外,管理网络5与节点2进行交互以配置它们、监控它们以及管理它们。

互连网络的主要功能是在不同节点之间传递数据。因而,互连网络是限制超级计算机性能的因素,该超级计算机的性能特别地取决于通信延迟以及通带。换言之,这些超级计算机的性能部分地取决于互连网络的性能。

由于大量的连接、路由器以及节点,这种互连网络的设计是复杂的。为了验证设计,已知使用使得在设计互连网络期间执行的不同技术选择能够被研究和验证的仿真器。

诸如ns-2、OMNeT++/OMNEST、SST甚或simGrid之类的离散事件仿真器考虑随时间的事件序列。然而,它们没有考虑到在两个事件之间的时间间隔中发生了什么。然而,对于大规模仿真来说,在两个事件之间的行为经常是必要的。该实施方式阻止了对操作接口的实时使用,例如对SNMP类型的使用。因此,利用这些方法,不必实时地仿真高速率互联网络。

发明内容

本发明的一个目标是克服现有技术的缺陷。在该上下文中,本发明的一个目的是提供一种互连网络仿真器,针对(非常)大规模的超级计算机,该仿真器使得被仿真的互连网络能够被有效地建立原型、开发以及测试。

为此,本发明涉及一种计算节点的互连网络仿真器,所述互连网络仿真器包括拓扑仿真模块,该拓扑仿真模块被适配并被构建为:

-选择并启用定义数目的被仿真模块,

-在所述启用的被仿真模块之间建立连接链路,以便形成被仿真的互连网络,

-使得用户能够与所述启用的被仿真模块进行交互。

在本描述的其余部分中,通过启用的被仿真模块表示了一种对模块(例如,交换(switch)类型的模块、甚或网络控制器类型的模块)进行仿真的仿真方法。

由于拓扑仿真模块,用户可以与被仿真的互连网络进行交互,以使得例如通过将启用的被仿真模块中的至少一个启用的被仿真模块参数化来定义一个通信场景,甚或激活或去激活(deactivate)启用的被仿真模块中的至少一个启用的被仿真模块或建立的连接链路中的至少一个连接链路。因而,由于该拓扑仿真模块,被仿真的互连网络是完全可参数化的且可修改的,以使得尽可能有效地确定包括多于32000个节点的超级计算机的互连网络拓扑。

根据本发明的互连网络仿真器还可以具有以下特点中的一个或多个特点,单独地或根据任何技术上可实现的组合来考虑。

在一个非限制性实施方式中,启用的被仿真模块由属于互连网络的多个启用的被仿真交换模块以及属于所述互连网络的多个启用的被仿真网络控制器模块形成。

在一个非限制性实施方式中,启用的被仿真模块由多个启用的被仿真管理模块形成,启用的被仿真管理模块被适配并被构建为对被仿真的互连网络与用于管理被仿真的互连网络的设备之间的互连进行仿真。

在一个非限制性实施方式中,拓扑仿真模块被适配并被构建为通过对启用的被仿真模块中的至少一个启用的被仿真模块参数化来使得用户能够与启用的被仿真模块进行交互。

在一个非限制性实施方式中,拓扑仿真模块被适配并被构建为通过激活或去激活启用的被仿真模块中的至少一个启用的被仿真模块来使得用户能够与启用的被仿真模块进行交互。

在一个非限制性实施方式中,拓扑仿真模块被适配并被构建为通过以下操作来使得用户能够与启用的被仿真模块进行交互:

-向每个启用的被仿真模块指配标识符,以及

-针对每个启用的被仿真模块生成局部映射,所述局部映射描述在所述启用的被仿真模块与其周边的启用的被仿真模块之间建立的连接链路。

在一个非限制性实施方式中,拓扑仿真模块被适配并被构建为通过定义通信场景来使得用户能够与启用的被仿真模块进行交互。

在一个非限制性实施方式中,启用的被仿真模块中的至少一个启用的被仿真模块被适配并被构建为生成仿真日志。

本发明还涉及一种用于仿真计算节点的互连网络的方法,所述方法包括下列步骤:

-选择定义数目的被仿真模块,所述选择由拓扑仿真模块执行,

-启用所述定义数目的被仿真模块,所述启用由拓扑仿真模块执行,

-在所述启用的被仿真模块之间建立连接链路,以便形成被仿真的互连网络,所述建立由拓扑仿真模块执行,

-用户与所述启用的被仿真模块进行交互,所述交互经由拓扑仿真模块执行。

在一个非限制性实施方式中,交互步骤包括将启用的被仿真模块中的至少一个启用的被仿真模块参数化的子步骤。

在一个非限制性实施方式中,交互步骤包括定义至少一个通信场景的子步骤。

在一个非限制性实施方式中,交互步骤包括激活或去激活至少一个启用的被仿真模块的子步骤。

在一个非限制性实施方式中,交互步骤包括:

-指配每个启用的被仿真模块的标识符的子步骤,以及

-针对每个启用的被仿真模块生成局部映射的子步骤,所述局部映射描述在所述启用的被仿真模块与其周边的被仿真模块之间建立的连接链路。

在一个非限制性实施方式中,根据本发明的一个实施例的用于仿真互连网络的方法包括生成仿真日志的步骤,所述仿真日志由启用的被仿真模块中的至少一个启用的被仿真模块生成。

附图说明

以指示性的方式且绝非限制性的目的,通过参考随附的附图,本发明的其他特点和优点将在本文中给出的如下描述中显得清楚,其中:

图1图示根据现有技术中的那些超级计算机的示例性超级计算机,

图2示意性地图示根据本发明的互连网络仿真器的非限制性的示例性实施例,

图3图示根据本发明的用于仿真互联网络的方法的步骤的框图。

为清楚起见,仅表示了有助于理解本发明的元件,并示意性地示出这些元件,而没有考虑比例。此外,位于不同附图中的类似的元件具有相同的参考标记。

具体实施方式

图2具体地图示了根据本发明的计算节点的互联网络仿真器10,以及被仿真的互联网络30。

更为具体地,根据本发明的计算节点的互连网络仿真器10包括拓扑仿真模块11,其被适配并被构建为:

-选择并启用定义数目的被仿真模块,

-在所述启用的被仿真模块之间建立连接链路,以便形成被仿真互连网络,

-使得用户能够与所述被仿真模块进行交互。

更具体地,在图2中图示的示例中,通过拓扑仿真模块11启用的被仿真模块由如下构成:

-4个被仿真交换模块12,

-8个被仿真网络控制器模块13,

-4个被仿真管理模块20,被仿真管理模块20中的每个被仿真管理模块被适配并被构建为对被仿真的互连网络30与被仿真的互连网络30的被仿真管理设备14之间的互连进行仿真。

应该注意到,启用的被仿真交换模块12与启用的被仿真网络控制器模块13属于互联网络30。然而,启用的被仿真管理模块20处于被仿真的互连网络30与管理设备14之间的接口处。换言之,启用的被仿真管理模块20对被仿真的互连网络30与被仿真的互连网络30的管理设备14之间的交互进行仿真。

此外,在图示的示例中,被仿真的互连网络30包括12个被仿真的连接链路15。

为清楚起见,在图2中表示的启用的被仿真模块的数目是受限的。

因而,由拓扑仿真模块11选择并启用每个被仿真网络控制器模块13,其中拓扑仿真模块可以在计算机或处理器上被实现。通常,每个启用的被仿真网络控制器模块13仿真使节点能够互换信息的硬件类型网络接口。

应该注意,拓扑仿真模块11进一步被适配并被构建为通过定义通信场景来使得用户能够与启用的被仿真网络控制器模块13进行交互。因而,用户可以经由连接到拓扑仿真模块11的用户接口16,通过控制根据特定格式的数据的发送和/或接收来仿真通信场景。例如,这些数据可以被启用的被仿真网络控制器模块13作为数据分组来传送。一个场景可以包括切断(cutout)消息作为数据分组,其中每个数据分组具有减小的尺寸,例如20个八位字节,并且其中每个数据分组具有特定的报头。

此外,这些通信场景可以被用于测试启用的被仿真网络控制器模块13的序列和传输频率。

通常,被测试的通信场景使得在设计互连网络时执行的技术选择能够被验证。

此外,拓扑仿真模块11被适配并被构建为通过将启用的被仿真网络控制器模块13中的至少一个启用的被仿真网络控制器模块参数化来使得用户能够与启用的被仿真模块进行交互。例如,经由C++实现的MPI类型方法来执行将启用的被仿真网络控制器模块13参数化。使用MPI库的一些功能的方法使得能够迫使根据确定的连接链路15的数据传输。

一般地且以非限制性的方式,与启用的被仿真网络控制器模块13相关联的拓扑仿真模块11允许测试:

-数据传输的迭代次数,

-数据传输的两次迭代之间的时间,

-由每个启用的被仿真网络控制器模块13发送和接收的数据的大小,

-下行链路及上行链路数据传输,

-启用的被仿真网络控制器模块13的标识符的修改,

-由每个启用的被仿真网络控制器模块13接收的数据的确认的传输,

-错误数据的传输,例如,经由损坏的数据分组的传输甚或其丢失。

因此,这些经由拓扑仿真模块11而被参数化的启用的被仿真网络控制器模块13使得非常接近于通过被提供有高速类型互连网络的真实超级计算机执行的真实通信的通信场景能够被仿真。

在一个非限制性实施方式中,每个启用的被仿真网络控制器模块13被适配并被构建为生成仿真日志。因而,每个启用的被仿真网络控制器模块13可以向拓扑仿真模块11发送全部测试信息作为仿真日志,以在观察屏幕上被聚集、分析以及显示。

除此之外,由拓扑仿真模块11选择并启用每个被仿真交换模块12。在图示的示例中,每个启用的被仿真交换模块12包括交换子模块。更具体地,在图示的示例中,每个启用的被仿真交换模块12仿真4个连接端口17、纵横交换器(cross-barswitch)18以及缓冲存储器19。

在一个非限制性实施方式中,拓扑仿真模块11被适配并被构建为通过将启用的被仿真交换模块12参数化来使得用户能够与启用的被仿真模块进行交互。

在一个非限制性实施方式中,拓扑仿真模块11被适配并被构建为通过将交换子模块17、18和19中的至少一个交换子模块参数化来使得用户能够与启用的被仿真模块进行交互。因而,可以经由拓扑仿真模块将连接端口17的数目、纵横交换器18的布置以及缓冲存储器19的容量参数化。该参数化因而使得对互联网络的不同的硬件和软件类型的选择能够被仿真。

在一个非限制性实施方式中,拓扑仿真模块11被适配并被构建为通过定义通信场景来使得用户能够与启用的网络控制器模块13进行交互。在实现通信场景时,每个启用的被仿真交换模块12是独立的并且用作为真实的交换模块,其被适配并被构建为依照其路由表以及通过将网络流量考虑在内而在互连网络中接收并发送消息。更具体地,每个启用的被仿真交换模块12被适配为从任何模块或与其连接的设备接收数据并然后仅向数据预期去往的模块或设备发送数据。

在一个非限制性实施方式中,经由拓扑仿真模块11,通过MPI类型的独立方法来启用每个被仿真交换模块112。

在一个非限制性实施方式中,通过拓扑仿真模块11而定义的通信场景使得:

-针对每个启用的被仿真交换模块12,例如一旦创建或移除了连接到所述启用的被仿真交换模块12的新连接链路15,能够仿真启用的被仿真交换模块12的标识符的修改,

-例如,当启用的被仿真交换模块12根据预定义的路由表对数据进行路由时,能够仿真交换模块的行为,

-能够仿真子模块17、18和19中的每个子模块的行为。

此外,拓扑仿真模块11被适配并被构建为激活和去激活被仿真交换模块12中的每个被仿真交换模块,以及连接端口17。因此,该特征使得通信场景能够可操作地被检查。该特征是可以设想到的,因为每个启用的被仿真交换模块12是独立的。

在一个非限制性实施方式中,拓扑仿真模块11还被适配并被构建为选择以及启用被仿真管理模块20。通常,每个启用的被仿真管理模块20被适配并被构建为仿真交换模块12与管理设备14之间的交互。

在图示的示例中,每个启用的被仿真管理模块20包括管理子模块。更具体地,每个启用的被仿真管理模块20包括至少一个内部存储器21、可编程代理22、内部计数器23以及管理网络接口24。该管理网络接口24使得用于连接管理设备14的外部接入能够被仿真。

在一个非限制性实施方式中,拓扑仿真模块11被适配并被构建为通过将启用的被仿真管理模块20中的至少一个启用的被仿真管理模块参数化来使得用户能够与启用的被仿真模块进行交互。

在一个非限制性实施方式中,拓扑仿真模块11被适配并被构建为通过将管理子模块21、22、23和24中的至少一个管理子模块参数化来使得用户能够与启用的被仿真模块进行交互。

每个启用的被仿真管理模块20可经由拓扑仿真模块11参数化,以使得:

●实现MIB类型方法,其反映SNMP代理对管理设备14的命令进行响应(管理设备14对应于用于管理互连网络的软件,也称作结构(Fabric)管理),

●向管理模块20引导由管理设备14发送的SNMPv3类型请求,其中该请求可以例如包括路由表的更新或甚至内部计数器的更新,

●仿真反映共享存储器26中的硬件实现的CSR类型层,或

●允许驱动以及性能信息经由SNMPINFORM类型机制传送到管理设备14。

在互连网络的真实实现中,例如在交换模块和与该交换模块通信的管理模块之间实现JTAG类型的通信协议。

在本发明的范围内,根据本发明的互连网络仿真器10被适配并被构建为仿真在启用的被仿真交换模块12和启用的被仿真管理模块20之间的该通信协议。为此,在启用的被仿真交换模块12和启用的被仿真管理模块20之间共享相同的存储器26。在启用的被仿真交换模块12和启用的被仿真管理模块20之间的通信协议并非真正实施,而是通过针对以下各项进行参数化而被仿真:

-针对启用的被仿真交换模块12,对共享存储器26的第一访问时间,

-针对启用的被仿真管理模块20,对共享存储器26的第二访问时间。

通常,拓扑仿真模块11被适配并被构建为选择并启用定义数目的被仿真模块,例如,在图2所图示的情况中是4个被仿真交换器、8个被仿真网络控制器模块以及4个被仿真管理模块。

此外,该拓扑仿真模块11被适配并被构建为在硬件资源上分配这些启用的被仿真模块。为此,可以使用SLURM(用于资源管理的简单Linux实用程序)类型解决方案。

此外,该拓扑仿真模块11被适配并被构建为在启用的被仿真模块之间建立连接链路,以便形成被仿真的互连网络。

此外,该拓扑仿真模块11被适配并被构建为使得用户能够与所有启用的被仿真模块进行交互,并更具体地,与仿真的互连网络进行交互。

此外,该拓扑仿真模块11被适配并被构建为向每个启用的被仿真模块指配标识符。每个标识符可以由数字形成。从这些指配的标识符中,拓扑仿真模块11可以定义描述在互连网络的启用的被仿真模块与其周边启用的被仿真模块之间建立的连接链路的局部映射。

通常,拓扑仿真模块11为允许直接与被仿真的互连网络进行交互的入口点。因而,用户可以经由例如可以在计算机上实现的该拓扑仿真模块11来定义通信场景、将每个启用的被仿真模块参数化或甚至激活或去激活一些启用的被仿真模块。例如,因此用户可以经由该拓扑仿真模块11来:

■添加和/或移除在启用的被仿真模块之间的连接链路,

■参数化和/或添加和/或移除和/或去激活和/或激活启用的被仿真交换模块,

■参数化和/或添加和/或移除和/或去激活和/或激活启用的被仿真管理模块,

■参数化和/或添加和/或移除和/或去激活和/或激活子模块,例如,连接端口,

■返回到初始拓扑,

■为每个启用的被仿真模块定义通信场景。

还应该注意到,每个启用的被仿真模块可以被适配并且被构建为生成仿真日志。因而,在定义并然后实现了通信场景的情况下,启用的被仿真模块中的每个启用的被仿真模块向例如可以由屏幕形成的用户接口16发送仿真日志。因此,用户可以分析仿真日志。例如,仿真日志可以指示启用的被仿真模块的状态改变或甚至已经通过所述模块的数据。

本发明还涉及一种用于仿真计算节点的互连网络100的方法。该方法100具体地包括如下步骤:

-选择101定义数目的被仿真模块12、13、20,所述选择由拓扑仿真模块11执行,

-启用102所述定义数目的被仿真模块12、13、20,所述启用102由拓扑仿真模块11执行,

-在所述启用的被仿真模块12、13之间建立103连接链路15,以便形成被仿真的互连网络30,

-用户与所述启用的被仿真模块12、13、20进行交互104,所述交互104经由所述拓扑仿真模块11执行。

方法100还包括生成仿真日志105的可选步骤。因而,每个被仿真模块12、13、20可以生成仿真日志。

可以以单独的或组合的方式实现用户与被仿真的互连网络之间的交互步骤104,包括如下子步骤:

-将启用的被仿真模块12、13、20中的至少一个启用的被仿真模块参数化,

-为每个启用的被仿真模块12、13、20定义104b至少一个通信场景,

-激活和/或去激活104c启用的被仿真模块12、13、20中的至少一个启用的被仿真模块,

-指配104d每个被仿真模块12、13的标识符,

-针对每个被仿真模块12、13生成描述在所述被仿真模块12、13与其周边启用的被仿真模块之间建立的连接链路15的局部映射。

应该注意到,图3中表示的方法100的步骤、拓扑仿真模块11以及所有启用的被仿真模块(例如,图2中表示的交换模块12、网络控制器模块13或管理模块20)可以在单个处理器中、或在多个单独的处理器(其中一些可以被共享)上实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号