高性能计算(HPC)能部署万兆以太网吗?
时间:05-10
来源:服务器在线
点击:
许多人经常会疑惑:"在高性能计算(HPC)中部署万兆以太网会怎样?"据我所知,人们对万兆以太网(10GigE)抱有很多负面看法,如恐惧、不确定和疑问等。因此我决定提笔撰写这篇博文,为大家介绍一下10GigE,希望可借此打消您的一些疑虑。
10GigE--背景简介
如果您和我一样对10GigE观察已久,那么就请跟我一起回顾一下它的历史背景吧。自10GigE于2002年实现标准化后,人们便一直期待着它能像千兆以太网一样降价。我也怀有同样的期待,因为我希望家里的集群系统享有更高的网络连接速度。
如果您希望更详细地了解10GigE及各种连接选项,请参考这一链接。许多公司,如Chelsio、Neterion、Netxen、英特尔、Myricom、Broadcom、Mellanox等都可以提供10GigE NICS,同时也有许多具有代表性的交换机厂商,如思科、Force10、Foundry以及一些小型的新兴公司提供此类技术产品。
无需深入细节,我们来简单探讨一下以太网网络。是否还记得TCP无法保证准确交付数据包?实际上这正是它开发出来的原因--一旦数据包掉落或遗失或发生任何意外,TCP协议便可以转发"掉队"的数据包。让我们首先将此协议与InfiniBand进行一个比较:与TCP协议不同,InfiniBand可保证按顺序交付数据包,不会掉落数据包。此外,如果您构建多层以太网网络(当您使用大量节点和10GigE时),您将需要确保所有交换机都运行生成树协议。它可以确保避免网络环路,以及到达所有节点。但是,这样会造成大量的延迟(通常人们会建议简单的以太网网络关闭生成树,以实现更出色的性能)。
最近,数据中心以太网或 CEE(现在是指DCBX(数据中心桥接能力交换协议))领域出台了一些新举措,旨在帮助解决主要针对FCoE(以太网光纤通道)的以太网网络问题,其中 FcoE要求按顺序交付且需确保数据包不丢失,以提供出色的性能。这同样也适用于HPC环境。例如,DCBX倡议提出增设IEEE标准条款,以支持无损失的TCP传输(匹配IB)和更理想的路由机制,从而可减少生成树的影响。不过较为遗憾的是DCBX仍然未得到批准且其规范尚需进一步完善,因此它目前还不能算是一项标准。
介绍完这些基本背景情况后,让我们来了解一下10GigE的性能吧,毕竟HPC最突出的优势在于出色的性能(总是很出色)。
10GigE--性能
许多人都希望在HPC中采用10GigE实现计算互连。然而,要实现这一点需要合理考虑两点。首要考虑因素是采用10GigE的应用性能必须足够出色才能物有所值。第二个考虑因素是价格必须足够低才能使大多数人都能购买10GigE系统。尽管价格在一年内不会变化多少,但它会随时出现波动,因此在这里多说无益。但性能是我们可以详加探讨的一个方面,毕竟它不太可能产生太大的变化。
由于TCP是10GigE背后的一个重要推力,因此下面我将谈论与TCP相关的信息。只要是管理员都会了解TCP。他们知道它的工作原理,他们可以使用像 tcpdump一样简单的程序对其进行调试,同时TCP也可以被路由(一些客户对此非常感兴趣)。因此,我们将主要讨论使用TCP的10GigE。接下来是有趣的部分--微基准测试。
您可以选择采用几项合理的微基准测试来检测互连性能。当然,微基准测试并不总是性能的指示标,但在未对具体应用进行实际的基准测试时,您只能使用微基准测试进行衡量。随着时间的推移,这些微基准测试也已成为某些代码、甚而某些代码集性能的理想指示标。三大微基准测试为带宽、延迟(包括多核延迟调整)和N/2测试。
我认为计算这些微基准测试的最佳工具是netpipe。 Netpipe可以接收两个节点之间传输的数据,并能在节点之间发送任意大小的数据包,测量所需时间。因而,您可以计算出延迟(在节点之间传输极小数据包所需的时间)、带宽、每次线下传输的最大数据量(想像您沿着电线向各个方向传输数据)以及N/2--您在一个方向上实现全线速传输的最小数据包(计算此数据的一种简单方法就是找到相当于最大带宽一半的最小规模数据包)。
以下是netpipe结果的样图。
10GigE--背景简介
如果您和我一样对10GigE观察已久,那么就请跟我一起回顾一下它的历史背景吧。自10GigE于2002年实现标准化后,人们便一直期待着它能像千兆以太网一样降价。我也怀有同样的期待,因为我希望家里的集群系统享有更高的网络连接速度。
如果您希望更详细地了解10GigE及各种连接选项,请参考这一链接。许多公司,如Chelsio、Neterion、Netxen、英特尔、Myricom、Broadcom、Mellanox等都可以提供10GigE NICS,同时也有许多具有代表性的交换机厂商,如思科、Force10、Foundry以及一些小型的新兴公司提供此类技术产品。
无需深入细节,我们来简单探讨一下以太网网络。是否还记得TCP无法保证准确交付数据包?实际上这正是它开发出来的原因--一旦数据包掉落或遗失或发生任何意外,TCP协议便可以转发"掉队"的数据包。让我们首先将此协议与InfiniBand进行一个比较:与TCP协议不同,InfiniBand可保证按顺序交付数据包,不会掉落数据包。此外,如果您构建多层以太网网络(当您使用大量节点和10GigE时),您将需要确保所有交换机都运行生成树协议。它可以确保避免网络环路,以及到达所有节点。但是,这样会造成大量的延迟(通常人们会建议简单的以太网网络关闭生成树,以实现更出色的性能)。
最近,数据中心以太网或 CEE(现在是指DCBX(数据中心桥接能力交换协议))领域出台了一些新举措,旨在帮助解决主要针对FCoE(以太网光纤通道)的以太网网络问题,其中 FcoE要求按顺序交付且需确保数据包不丢失,以提供出色的性能。这同样也适用于HPC环境。例如,DCBX倡议提出增设IEEE标准条款,以支持无损失的TCP传输(匹配IB)和更理想的路由机制,从而可减少生成树的影响。不过较为遗憾的是DCBX仍然未得到批准且其规范尚需进一步完善,因此它目前还不能算是一项标准。
介绍完这些基本背景情况后,让我们来了解一下10GigE的性能吧,毕竟HPC最突出的优势在于出色的性能(总是很出色)。
10GigE--性能
许多人都希望在HPC中采用10GigE实现计算互连。然而,要实现这一点需要合理考虑两点。首要考虑因素是采用10GigE的应用性能必须足够出色才能物有所值。第二个考虑因素是价格必须足够低才能使大多数人都能购买10GigE系统。尽管价格在一年内不会变化多少,但它会随时出现波动,因此在这里多说无益。但性能是我们可以详加探讨的一个方面,毕竟它不太可能产生太大的变化。
由于TCP是10GigE背后的一个重要推力,因此下面我将谈论与TCP相关的信息。只要是管理员都会了解TCP。他们知道它的工作原理,他们可以使用像 tcpdump一样简单的程序对其进行调试,同时TCP也可以被路由(一些客户对此非常感兴趣)。因此,我们将主要讨论使用TCP的10GigE。接下来是有趣的部分--微基准测试。
您可以选择采用几项合理的微基准测试来检测互连性能。当然,微基准测试并不总是性能的指示标,但在未对具体应用进行实际的基准测试时,您只能使用微基准测试进行衡量。随着时间的推移,这些微基准测试也已成为某些代码、甚而某些代码集性能的理想指示标。三大微基准测试为带宽、延迟(包括多核延迟调整)和N/2测试。
我认为计算这些微基准测试的最佳工具是netpipe。 Netpipe可以接收两个节点之间传输的数据,并能在节点之间发送任意大小的数据包,测量所需时间。因而,您可以计算出延迟(在节点之间传输极小数据包所需的时间)、带宽、每次线下传输的最大数据量(想像您沿着电线向各个方向传输数据)以及N/2--您在一个方向上实现全线速传输的最小数据包(计算此数据的一种简单方法就是找到相当于最大带宽一半的最小规模数据包)。
以下是netpipe结果的样图。
图1--吞吐率(MB/秒)与数据包大小(数据块大小)的Netpipe样图 此样图取自使用3个不同MPI库的GigE网络。从此图中,您可以测量带宽(图中最高值的一半)和N/2(首次实现最高带宽时的数据包大小(单位:字节))。 第二个截图如下:
|
- 英特尔简化数据中心 (01-30)
- Emulex 10/40GbE适配器为电信虚拟化提供优化连接(05-26)
- 国内第一款支持双绞线传输的10GBASE-T 万兆线卡横空出世(03-10)
- Broadcom推出业界最小和最强大的多端口单芯片10G以太网融合控制器(11-24)
- PMC率先推出支持对称模式的端到端10G-EPON系统级芯片(02-09)
- PMC 宣布推出业界首款符合全新光互连论坛(OIF)协议的OTN 交换解决方案(01-13)