当前位置:文档之家› 高性能IO技术及发展趋势

高性能IO技术及发展趋势

摘要:本文主要就近年来问世的新一代高性能I/O技术做一全方位介绍,着重从其基本特性和体系结构的角度分析各种I/O技术的特点,以帮助有关技术人员进一步把握新一代高性能I/O的技术现状及发展趋势。

关键词:高性能I/O技术、PCI Express、InfiniBand、Fibre Channel、HyperTransport、RapidIO、SPI、SAS、iSCSI、SA TA一、引言计算机I/O技术在高性能计算技术的发展中始终是一个十分重要的关键技术。

其技术特性决定了计算机I/O的处理能力,进而决定了计算机的整体性能以及应用环境。

从根本上讲,无论现在还是将来,I/O技术都将制约着计算机技术的应用与发展,尤其在高端计算领域。

近年来随着高端计算市场的日益活跃,看似平静的高性能I/O技术之争也愈演愈烈。

尤其是当计算机主机速率与总线速率的矛盾日益突出时,新的总线技术便应运而生,演绎出一段段精彩的技术篇章,计算机I/O技术的发展开始让我们眼花缭乱。

如PCI Express、InfiniBand、HyperTransport、RapidIO等高性能I/O技术的发展令人注目。

而广泛应用于网络存储、高性能集群及并行计算系统的I/O技术,如Fibre Channel、SCSI Parallel Interface(SPI)、Serial Attached SCSI(SAS)、iSCSI等,更使计算机总线技术远远超出“连接功能部件”的范畴。

本文试图从基本概念、体系结构、功能指标等角度全面分析新近问世的各种高性能I/O 技术,以全方位展示其技术特点,帮助有关技术人员把握高性能I/O的技术现状和发展趋势。

二、新一代高性能I/O技术综述近年来推出的新一代高性能I/O主要有:PCI Express(3GIO)、InfiniBand Architecture (IBA)、Fibre Channel(FC)、HyperTransport、RapidIO、SPI(SCSI Parallel Interface)、SAS (Serial Attached SCSI)、iSCSI、SA TA(Serial A TA)等。

(1)PCI ExpressPCI Express(3GIO)是一种新型串行Point-to-Point I/O总线体系。

其基本目标有两个:一是提供chip-to-chip级互联的局部总线,二是以较低的开销升级现有的PCI架构性能。

这一串行总线的根本动机就是通过少许引脚来实现高带宽数据传输,而不是像并行PCI或PCI-X 那样。

据PCI-SIG(Special Interest Group)最新公布的数据,PCI Express目前可以达到的单路单向速率是2.5Gb/s。

也就是说可提供高达200MB/s的带宽,近乎是典型PCI2.2速率的2倍。

今后随着硅片技术的不断发展,单路单向的数据传输速率可望突破10Gb/s,几乎达到铜介质数据传输率的极限值。

此外,PCI Express通过增加信号线对还可组成X1、X2、X4、X8、X16、X32等多路I/O总线,这样一来其所能达到的峰值带宽简直是无法想像的。

在提供了更高带宽的同时,PCI Express还提供了对PCI和PCI-X软件的兼容支持,和对chip-to-chip级、I/O适配器之间以及对IEEE 1394、USB 2.0等附属接口的支持。

PCI Express的体系结构:PCI Express采用的分层体系结构使其可扩展性、模块化以及重用机制成为可能。

它从体系结构上可以分为五层,从上至下分别为物理层、数据链路层、事物处理层、软件层以及Config/OS层。

上面三层结构基本上与具体的操作系统无关,并且将来PCI Express速度的提高和编码策略的改变只会影响到物理层的改变。

a.物理层最基本的物理连接包括两个低电压差分驱动信号对,即接收对和传输对。

通过嵌入采用8b/10b编码机制的数据时钟,可以获取很高的数据传输速率。

单根信号线可以达到2.5Gb/s 的数据传输率。

物理层在两个PCI Express代理之间的链路层间传输数据包。

通过增加信号线对,可以线性地扩展PCI Express的带宽。

物理层可支持X1、X2、X4、X8、X16以及X32路带宽。

b.数据链路层数据链路层的首要功能就是确保PCI Express链路上数据包的可靠传输。

数据链路层负责数据的完整性和数据包的有序性,通过添加CRC校验序列可以确保数据的准确性。

同时PCI Express的数据链路层支持数据包重传机制。

c.事物处理层事务处理层接收来自软件层的读写请求,并为到链路层的数据传输创建请求包。

同时,事务处理层也接收来自数据链路层的响应包,并通过原始的软件层请求予以匹配。

所有的包都有惟一的标志来匹配相应的请求和响应。

这些包都含有优先权属性选项。

事物处理层支持四种类型的地址空间,包括内存地址、I/O地址、配置地址以及消息地址。

d.软件层PCI Express软件层的主要特性是:PCI软件模型兼容性,包括100%的OS和驱动级兼容,提供PCI枚举、配置和电源管理机制,以及后继应用中的加强性能;面向PCI Express 特定扩展的PCI可用性性能等。

PCI Express主要有以下特点:●相对低开销。

在系统级上的开销不大于现有的并行PCI总线架构;为硅片、板卡、连接器等系统成分提供了更为广阔的发展空间。

●支持多市场需求和应用。

可以用于移动通信、桌面系统、服务器以及通信设备,也可以用来平衡上述方面的性能和相关特性。

●支持稳定性、可升级性以及可扩展性。

可支持未来至少10年的应用和技术,提供了电源管理、QoS、Hot Attache/Detach、RAS等高级特性和性能支持。

●实现了与PCI体系结构和基础部件的高兼容性。

一方面,不需要对现有的各种操作系统做任何改变就可以启动系统;另一方面,可利用了现有的系统基础架构而不需要做任何改变。

PCI Express的兼容特性在很大程度上维护了投资者的利益,其高性能又大大刺激了投资者的热情。

由此可见,PCI Express技术必将有着更为广阔的发展空间。

(2)InfiniBandInfiniBand是一种致力于服务器端而不是PC端的高性能I/O技术。

随着对称多处理器(SMP)、集群计算、网格计算以及远程备份的广泛应用,基于PCI架构(主要指PCI、PCI-X)的I/O技术的缺陷日益突出,而一旦InfiniBand完全建立起来,它将会使大规模水平伸缩性和集群节点之间I/O的透明共享成为可能。

InfiniBand 从根本上区别于PCI-X的原因在于,后者是严格意义上的局部总线互连技术,而InfiniBand则是一种把网络技术引入I/O体系之中的高级互连技术,它主要用于连接服务器、网络设备和存储设备。

InfiniBand用高带宽的交换式网络布局取代基于总线的PCI,并把I/O控制的责任从处理器移到了智能的I/O引擎。

其目标不是用来升级现有的PCI总线结构,而是要充分发掘现有PCI-X或PCI Express总线的带宽性能。

InfiniBand所支持的关键特性决定了这种I/O技术远胜过基于局部互连的PCI-X或PCI Express等技术。

InfiniBand在硬件中提供了高可靠的传输层级别的数据传输,在导线上支持消息传递和主存语义,且基于I/O通路共享机制的InfiniBand从根本上提供了一种连接计算机的新途径。

通过InfiniBand连接大量的服务器可以达到各种存储设备的共享。

InfiniBand的体系结构:InfiniBand标准定义了一套用于系统通信的多种设备,包括信道适配器、交换机和路由器。

信道适配器用于InfiniBand结构同其它设备的连接。

InfiniBand 标准中有两种类型的信道适配器:主信道适配器(HCA)和目标信道适配器(TCA)。

HCA 提供了一个对Web服务器等主CPU和存储器子系统的接口;而TCA则提供了InfiniBand 到I/O设备的连接。

交换机是InfiniBand结构中的基本组件。

一个交换机中的InfiniBand端口不止一个,它能根据本地路由器包头中所含的第二层地址将数据包从一个端口送到另外一个端口。

交换机只是对数据包进行管理,并不生成或使用数据包。

InfiniBand路由器用于将数据包从一个子网传送到另一子网,其间数据包的数量不会变化。

与交换机不同,路由器读出第三层的全局路由头(GRH)并根据其Ipv6网络层地址来进行数据包发送。

InfiniBand结构的关键在于通过采用点到点的交换结构解决了共享总线的瓶颈问题,这种交换结构专门用于解决容错性和可扩展性问题。

通过向InfiniBand系统添加交换机可以很容易地实现I/O系统的扩展,进而允许更多的终端设备接入到I/O系统。

原文网址:/pub/article/c302_a271317_p1.html与基于共享总线的I/O系统相反,InfiniBand系统的总体带宽会随着所接入交换设备数目的增加而不断提高。

此外,通过在InfiniBand子结构之间添加路由设备,还可以更大范围地扩充整个InfiniBand系统。

除了具有很好的系统扩展性外,InfiniBand在结构上还具有另外两个非常关键亦非常重要的特性:一是低功耗,二是具有箱外带宽(PCB之外的带宽)。

物理层低功耗从根本上造就了InfiniBand在集成和RAS方面的优势。

同时InfiniBand技术为元件到元件提供了PCB支持,又为底板到底板提供了箱外带宽。

而这种箱外带宽使InfiniBand为集群、通信、存储等连接提供了单一规范的互联支持。

目前,InfiniBand是惟一一项既可用于印刷电路板(PCB)又可通过光纤或铜缆提供箱外系统连接的I/O体系结构。

此外,为了在一个子结构中管理通信,IBA还定义了一种通信管理方案来负责每一个InfiniBand单元的配置和维护。

InfiniBand的分层结构:如同软件系统的分层结构一样,InfiniBand协议也采用了一种分层结构,并且这些层次之间都是相互独立的。

InfiniBand从下至上分了5个层次:物理层、链路层、网络层、传输层以及高层。

a.物理层InfiniBand物理层定义了三种速率的连接,分别为1X、4X和12X,其信号传输速率分别为2.5、10和30Gb/ s。

也就是说,IBA允许多路连接直到获得30Gbps的连接速度。

由于采用了全双工串行通信方式,单速的双向连接只需要4根电缆,在采用12速方式时,也只需48根电缆线,这是非常具有吸引力的。

b.链路层在InfiniBand体系结构中,链路层与传输层处在IBA的核心位置。

链路层提供了局部子系统中的信息包设计、点到点连接操作以及包交换等功能。

相关主题