许多人经常会疑惑:"在高性能计算(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系统。尽管价格在一年内不会变化多少,但它会随时出现波动,因此在这里多说无益。但性能是我们可以详加探讨的一个方面,毕竟它不太可能产生太大的变化。