InfiniBand为何出师不利?
就在几年以前,那时的InfiniBand(以下简称为IB)技术可以说是一种被认为能够风靡全球,迅速地替代本地和存储连接,解决各种技术和应用难题的革命性技术。这种观点在上个世纪末和本世纪初的那段时间被很多组织和初创企业所坚信。据我所知,有很多人在那段时间均投身到IB领域的初创企业中 ,希望能够大展宏图。但一段不长的时间过后,就都无疾而终了。IB的失败是应归于网络经济泡沫的破灭呢?还是由于其自身的不足所导致的呢?
如今,IB正在酝酿着卷土重来,虽然不会再像几年前那样被神化了。那么为什么IB能够重新进军存储和通信连接领域呢?而思科(Cisco)又为什么会收购一家IB企业——TopSpin呢?要知道,如今已不再是1999年了。
在这篇文章中,我会为大家解释为什么IB技术会卷土重来,并再次被看作是Fibre Channel(FC)的掘墓者(上个世纪90年代末的时候,这种观点也曾风靡一时),而它对于本地连接又有着多么重大的意义。
目前的IB,还不是一项主流技术,尤其对于存储而言。但随着时间的流逝,这些都会慢慢地实现。IB现在主要应用在很多高性能计算(High-performance Computing,HPC)领域。
也许你还有些印象,在上个世纪末和本世纪出的时候,大多数服务器使用的都是简单的64位/66MHz的PCI接口,其理论传输峰值为532MB/s。Sun在那时依然销售并支持SBUS。而有些厂商还在使用更慢的VME总线。那时的SGI能够提供一种更快的基于其HiPPI6400(High Performance Parallel Interface)互连标准的总线技术,但这仅是一种私有技术。虽然SGI曾一度游说业内其他的厂商来共同支持其HiPPI6400标准,但最终没能如愿。在我看来,HiPPI6400失败的原因和IB的基本相同。
在那段日子里,很多IB厂商如雨后春笋般迅速出现,推出各自的InfiniBand主机通道适配器(Host Channel Adapter,HCA)。那时的服务器市场主要由Compaq、HP、IBM和Sun所把持。其中只有Sun是开放驱动接口的,而IB所需要的可不仅仅是驱动接口。这个市场当时被大型的服务器厂商所控制,其所有软件接口也处于非开放状态。因此这些IB厂商必须要说服那些服务器厂商共同支持他们正在开发的产品。而结果也正如后来我们所看到的那样,那些服务器大佬们有着各种各样的理由来对这个新技术不屑一顾:
即使对于以最高的532MB/s的理论峰值来运行的PCI总线来说,也只能占用IB性能的一小部分。更不要说速度更慢的大多数总线技术了。IB的性能太超前了。
服务器厂商更愿意销售自己的产品,而FC技术在当时还很新,同时也已上市。存储厂商也不打算支持IB。因此IB只好在另外的本地高速内部连接领域内寻求出路。
厂商们能从IB中得到什么呢?所有厂商的投资都是要获得回报的。而IB的出现则彻底摒弃了原有的以太网基础。
一些生产高端产品的厂商们都拥有自己的专有连接技术。IBM那时也有自己的交换机计划,而SGI则在发展推广自己的HiPPI6400标准,以弥补PCI在性能上的不足。因此IB厂商在当时备受冷遇。
综合以上原因,IB在发展的初期就备受打击,但随即又迎来了新的转机。也正是在那段时期,基于Linux的集群技术开始成为了HPC领域的重要应用。这些集群应用急需一种高性能的内部连接技术。就像Myrinet、Quadrics和Dolphin的那些可以提供高速的DMA(Direct Memory Access,直接内存存取)连接和低延迟的技术。这些厂商随后又开始对MPI(Message Passing Interface)进行修改,以配合并行应用的使用。随后这些技术被一古脑地塞进机器内标准的PCI插槽中,并配合开放的驱动在Linux环境中轻易地实现了整合。很自然地,有些服务器厂商开始思考把这些技术用于他们的SMP(Symmetrical Multi-Processing,对称多处理)集群中。而这些厂商所生产的NIC卡却有着带宽和潜伏期的限制,这并非是NIC卡在设计上的问题,而是其所连接的PCI总线的局限性。其性能与所要求的相距甚远。
快速回顾这几年,你会发现这些厂商一直在发展PCI技术,从PCI-X到PCI EXPress。虽然发展速度不是很快,但可以肯定的是,PCI总线已经发展到能够满足IB速度需求的程度了。
QQRead.com 推出数据恢复指南教程 数据恢复指南教程
数据恢复故障解析
常用数据恢复方案
硬盘数据恢复教程
数据保护方法
数据恢复软件
专业数据恢复服务指南
新的转机已经到来
从2004年开始,我发现有越来越多的Linux集群厂商开始谈论使用IB技术了。我当时就开始密切观察业内都发生了哪些改变:
PCI-X总线的性能已经接近了IB的性能,很多PCI-X总线的实际运行速率已经超过了1GB/s。
在一些厂商看来,PCI Express的性能在短期内就可以增长到超过满足IB需求的水平。
用户需要一个主机与并行应用之间的DMA标准,而IB正好是一个具有标准MPI(并行应用所需要的)的开放标准。
一些存储厂商开始对用DMA连接来缩短延迟的方法有了爱好。但没有一家愿意为此去和三家不同的公司打交道。他们需要一个标准,而IB则正好满足了他们对于这个单一标准的需求。
也就在这个时候,那些服务器厂商们开始重新审阅IB了。正因这些因素的集合,才有了今天我们所看到的情景:Linux 集群,改良后的总线,生产DMA产品的厂商和多家生产IB NIC和交换机的厂商。没有这些,IB就根本无法实现。
未来会怎样?
在众多的标准中,IB要么必须在短时间内争取被业内接受,要么就真的成为被人遗忘的历史。IB必须要变得普及起来。目前,基于以太网和TCP/IP协议的RDMA产品马上就要出现,10Gb的Ethernet和其他存储厂商所倡导的连接技术也正在一点点地逼近。留给IB的时间不多了。但目前对于IB十分有利的几件事包括:
与存储DMA的连通性——一些厂商,如DataDirect和LSI逻辑(LSI Logic),已经开发出了IB存储接口。这对于HPC Linux集群领域非常重要。因为用户希望有一种单一的网络连接来支持他们的并行应用和存储。而这正是IB所能提供的。
Fibre Channel的性能发展已经碰到了瓶颈。看看其从1Gb到2Gb,和现在的从2Gb到4Gb所用的时间吧。如今的IB已达到了10Gb,在与现在的RAID控制器连接的时候还可获得更高的性能。当然,我也并不认为磁盘厂商们会在短时间内支持IB,因此FC也不会马上退出历史舞台。
目前还没有哪家存储厂商通过10Gb以太网来支持iSCSI或SCSI。虽然已经开始有人谈论此事,但相关产品还没有出现。
再让我们回头想一想,假如IB真的没有什么潜力的话,那么思科怎么会对此进行投资呢?因此有充足的证据显示,IB技术目前还有很大的潜力可挖。
但不可否认的是,IB作为一种能够为系统与存储之间提供低延迟和高带宽的连接解决方案,还面临着众多挑战。这些挑战包括:
当基于10Gb以太网的DMA TCP/IP产品出现后,会为存储和HPC连接带来多快的速度?存储和HPC的用户正在引领着整个市场的需求。
对于MPI和存储应用来将,DMA TCP/IP的带宽和延迟究竟能够达到什么水平?
IB能否脱离MPI进行通信(虽然IB也支持TCP/IP,但这通常会使得延迟增加,带宽下降),以及能否支持像并行数据库这样的应用,是否会有更大的性能提升。
那现在是否就应该出门采购一套IB连接环境呢?我的建议是:这要看实际需求是什么。而我六个月前对于同样问题的回答却是:不要考虑!IB确实并不适合每一个人,但真要是合理利用的话,它很可能会带来超乎我们预期的性能表现。不要完全忽视IB的存在,它出头的日子也许马上就会到来,并将保持着顽强的生命力。