CN1212574C - 使用本地标识符的端节点分区 - Google Patents

使用本地标识符的端节点分区 Download PDF

Info

Publication number
CN1212574C
CN1212574C CN 02812904 CN02812904A CN1212574C CN 1212574 C CN1212574 C CN 1212574C CN 02812904 CN02812904 CN 02812904 CN 02812904 A CN02812904 A CN 02812904A CN 1212574 C CN1212574 C CN 1212574C
Authority
CN
China
Prior art keywords
port
switch
hca
node
queue
Prior art date
Application number
CN 02812904
Other languages
English (en)
Other versions
CN1520556A (zh
Inventor
D·克拉多克
D·A·埃尔科
T·A·格雷格
G·F·菲斯特
R·J·雷西奥
Original Assignee
国际商业机器公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US09/895,233 priority Critical patent/US20030005039A1/en
Application filed by 国际商业机器公司 filed Critical 国际商业机器公司
Publication of CN1520556A publication Critical patent/CN1520556A/zh
Application granted granted Critical
Publication of CN1212574C publication Critical patent/CN1212574C/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Abstract

一种用于将一物理元件(600)的一端节点(606)分区的方法,其包括以下步骤:使用一子网管理包(SMP)探查(702)一端口(644);通过探查该端口(644),检测到(704)与该端口(644)相关联的一交换机(612);将一本地标识符(694)分配给该交换机(612)的一SMP端口(686);检测(708)该交换机(612)的一其它端口(678);以及将一本地标识符(670)分配(710)给与该其它端口(678)相应的端节点(606)的一端口(650)。

Description

使用本地标识符的端节点分区

技术领域

本发明一般涉及计算机系统之间的通信。

背景技术

在系统区域网络(SAN)中,硬件提供了一种可用于输入/输出设备(I/O)和一般计算节点之间的进程间通信(IPC)的消息传递机制。用户(consumer)通过向SAN通道适配器(CA)上的发送/接收工作队列传递发送/接收消息来访问SAN消息传递硬件。该发送/接收工作队列(WQ)以队列对(QP)的形式分配给用户。消息可以通过5种不同的规定的传输类型而发送:可靠连接的(RC)、可靠数据报(RD)、不可靠连接(UC)、不可靠数据报(UD)、和原始数据报(RawD)。此外,还有一组可由制造商规定的操作码,其允许不同公司定义定制的包,这些包还具有相同的路由报头格式。用户经由SAN发送和接收工作完成(WC),从一完成队列(CQ)中获取定义的消息的结果。对于这些可由制造商定义的操作,并不规定它们是否使用与定义的包类型相同的排队结构。不管包的类型是什么,源通道适配器负责将输出的消息分段,并将它们发送到目的地。目的地通道适配器负责将输入的消息重新装配,并将它们置于由目的地的用户指定的存储器空间中。目前存在两种通道适配器类型,即主机通道适配器(HCA)和目标通道适配器(TCA)。通用计算节点使用主机通道适配器来访问SAN结构(fabric)。用户使用SAN动词(verb)来访问主机通道适配器的功能。解释动词并直接访问通道适配器的软件称为通道接口(CI)。

InfiniBand(InfiniBand行业协会的商标)组件在初始化过程中被分配一本地标识符(LID)。LID用来在一子网中为组件编址。所有InfiniBand包包含一源LID和一目的LID,其分别定义该包在该子网中的源和目的地址。InfiniBand组件也被分配至少一个分区关键字(P_Key)。该P_Key用来将一InfiniBand结构分区为一个或多个组。于是一些InfiniBand组件被置于所述的一个或多个组中。所有其它通信都是允许的。端节点被分组到一些区中,并且其访问是通过P_Key控制。InfiniBand分区机制实质上使得主机能够以一种受控制的方式提供适配器和共享适配器。

然而,InfiniBand没有提供这样一种机制,该机制用于将一端节点分区,使得多个操作系统实例可以共享单个通道适配器端口,而同时获得对InfiniBand子网的受控制的访问。现有技术的系统通常增加额外的一个或多个包报头以识别操作系统实例。通过增加一个或多个包报头,这导致了数据传输的更大复杂性。因此,这种端节点的分区机制的缺乏对于高端服务器来说构成了一个问题,其中的高端服务器通过逻辑的或物理的分区而支持在其处理和存储资源中进行分区。

因此,需要一种机制,允许单个物理组件表现为多个组件,所述多个组件中的每一单个组件具有唯一的访问控制级别。这些组件可以是主机通道适配器(HCA)、目标通道适配器(TCA)或交换机。

本发明提供了如权利要求1所述的方法,如权利要求2所述的相应的系统以及如权利要求3所述的计算机程序产品。

附图说明

在所附权利要求中提出了被认为是本发明特有的新特征。然而,本发明本身、以及采用的优选方式及其进一步的目的和优点,通过参照以下对示例性实施例的详细描述,并结合附图进行阅人,将获得最好的理解,其中:图1示出了根据本发明的优选实施例的一网络计算系统的示意图;图2示出了根据本发明的优选实施例的一主机处理器节点的功能框图;

图3示出了根据本发明的优选实施例的一主机通道适配器的示意图;图4示出了描述根据本发明的优选实施例的工作请求处理的示意图;图5示出了根据本发明的一优选实施例的数据包的图解;图6示出了根据本发明的实施例的具有虚拟通道适配器和虚拟交换机的物理组件的示意图;图7是一示例性流程图,其描述了根据合本发明的优选实施例的、用于物理元件的配置的一静态选择系统的操作;图8是一示例性流程图,其描述了根据本发明的优选实施例的,当主机通道适配器及与其相关联的节点变为可供使用时或从运行中删除时,将它们报告;以及图9是一示例性流程图,其描述了根据本发明的一优选实施例的、用于物理元件的配置的一动态选择系统的操作。

具体实施方式

网络计算系统具有端节点、交换机、路由器和把这些组件互连在一起的链路。端节点将消息分段为包,并将这些包通过链路传输。交换机和路由器将这些端节点互连在一起,并将这些包送到合适的端节点。这些端节点在目的地将这些包重新装配成消息。

现在参照附图,具体为图1,其中示出了根据本发明的优选实施例的一网络计算系统的示意图。图1所代表的网络计算系统采取了系统区域网络(SAN)100的形式,并且只是为说明目的而提供的,而如下所述的本发明的一些实施例可以在多种其它类型和配置的计算机系统上实施。

SAN100是一种高带宽、低时延的网络,其将网络计算系统中的节点互连在一起。节点是连接到网络的一个或多个链路上、并构成该网络中消息的来源和/或目的地的任何组件。在图示的例子中,SAN100包括的节点形式有主机处理器节点102、主机处理器节点104、独立磁盘冗余阵列(RAID)子系统节点106、I/O机架节点108,和PCI I/O机架节点184。图1所示的节点只是为了说明目的,因为SAN100可以连接任何数量和任何类型的独立处理器节点、I/O适配器节点、和I/O设备节点。这些节点中的任何一个都可以作为一端节点,在这里端节点被定义为在SAN100中发起和最终消耗掉消息或帧的设备。

在这里所用的消息是应用程序定义的数据交换单元,其是在相互合作的进程之间进行通信的基本单元。包是由网络连接协议报头和/或报尾所封装的数据单元。报头一般提供了用于在SAN中指引帧的控制和路由信息。报尾一般包含了用于确保包在传输时不带有被破坏的内容的控制和循环冗余检验(CRC)数据。

SAN100包含了在网络计算系统中既支持I/O通信也支持处理器间通信(IPC)的通信和管理的基础结构。图1所示的SAN100包括一个交换通信结构,其使得很多设备能够在一安全的、远程管理的环境中并行地以高带宽和低时延传输数据。端节点可以通过多个端口进行通信,并利用在SAN结构之中的多个路径。可利用图1所示的多个端口和在SAN之中的多个路径,以用于容错和增加带宽的数据传输。

图1中的SAN100包括交换机112、交换机114、交换机146和路由器117。交换机是这样一种设备,其把多个链路连接起来,并允许使用一小的报头目的地本地标识符(DLID)字段将包从一子网中的一链路路由到另一链路。路由器是这样一种设备,其把多个子网连接在一起,并能够使用一大的报头目的地全局唯一标识符(DGUID)将包从第一子网中的一链路传送到第二子网中的另一链路。

在一个实施例中,链路是在任何两个网络结构单元如端节点、交换机或路由器之间的全双工通道。示例性的合适的链路包括但不限于,铜缆、光缆以及在底板和印刷电路板上的印刷电路铜迹线。

对于可靠的服务类型,端节点,例如主机处理器端节点和I/O适配器端节点,产生请求包并返回确认包。交换机和路由器将包从源一直传递到目的地。除了可变的CRC报尾字段是在网络中的每一阶段被更新外,交换机将包不作改变地传递下去。路由器在包被路由选择时更新该可变的CRC报尾字段,并且更新报头中的其它字段。

在如图1所示的SAN100中,主机处理器节点102、主机处理器节点104、RAID I/O子系统106、I/O机架108、和PCI I/O机架184包括至少一个通道适配器(CA),以提供到SAN100的接口。在一个实施例中,每个通道适配器是这样的一个端点,其以足够的细节实施通道适配器接口,以发出或接收在该SAN结构中传输的包。主机处理器节点102包含通道适配器,其形式为主机通道适配器118和主机通道适配器120。主机处理器节点104包含主机通道适配器122和主机通道适配器124。主机处理器节点102也包括由总线系统134互连起来的中央处理单元126-130和存储器132。同样地,主机处理器节点104包括由总线系统144互连起来的中央处理单元136-140和存储器142。主机通道适配器118提供了到交换机112的连接,主机通道适配器120和122提供了到交换机112和114的连接,而主机通道适配器124提供了到交换机114的连接。

在一个实施例中,主机通道适配器是由硬件实现的。在这种实现中,主机通道适配器硬件卸载了中央处理单元和I/O适配器通信的很大开销。主机通道适配器的这种硬件实现也允许在一交换网络上的多个并发通信,而没有与通信协议相关的传统开销。在一个实施例中,图1中的主机通道适配器和SAN100为该网络计算系统的I/O和处理器间通信(IPC)的用户提供了零处理器副本的数据传输,而不牵涉操作系统内核进程,并利用硬件来提供可靠的、容错的通信。如图1所示,路由器117与连接其它主机或其它路由器的广域网(WAN)和/或局域网(LAN)相耦合。

图1中的I/O机架108包括一交换机146和多个I/O模块148-156。在这些例子中,I/O模块采取了适配器卡的形式。图1所示示例性的适配器卡包括用于I/O模块148的SCSI适配器卡;用于I/O模块152的连接到光纤通道集线器和光纤通道仲裁环(FC-AL)设备的适配器卡;用于I/O模块150的以太网适配器卡;用于I/O模块154的图形适配器卡;以及用于I/O模块156的视频适配器卡。任何已知类型的适配器卡都可以使用。I/O适配器也包括位于I/O适配器底板上的一交换机,以将这些适配器卡耦合到该SAN结构。这些模块包含目标通道适配器158-166。

在本例中,图1中的RAID子系统节点106包括一处理器168、一存储器170、一目标通道适配器(TCA)172、以及多个冗余的和/或条带化的存储器盘单元174。目标通道适配器172可以是一具有完整功能的主机通道适配器。

PCI I/O机架节点184包括一个TCA186,以及通过PCI总线188连接到TCA186的多个PCI输入/输出适配器(IOA)190-192。在这些例子中,IOA采取适配器卡的形式。图1所示的示例性适配器卡包括调制解调器适配器卡190和串行适配器卡192。TCA186将自PCI IOA 190-192接收的PCI事务请求或响应封装为数据包,以便通过SAN结构传输给一HCA,如HCA118。HCA118判断收到的数据包是否包含PCI传输,并且如果是,就将该数据包解码,以获得所封装的PCI事务请求或响应,例如一DMA写或读操作。HCA118将它发送给合适的单元,例如存储器132。如果该PCI事务是一DMA读请求,则HCA从存储器,例如存储器132接收响应,将该PCI响应封装为一数据包,并通过SAN结构将该数据包发回给请求的TCA186。然后,该TCA从该数据包中将PCI事务解码,并通过PCI总线188将该PCI事务发送给PCI IOA190或192。

类似地,从一处理器,例如CPU126到一PCI IOA,例如PCI IOA190或192的存储或加载请求由HCA118封装为一数据包,以便通过SAN结构传输给与合适的PCI IOA190或192相应的TCA186。TCA186将该数据包解码,以获得PCI传输,并通过PCI总线188将PCI存储或加载请求和数据传输给PCI IOA190或192。如果该请求是一加载请求,则TCA186从PCI IOA190或192接收一响应,TCA将该响应封装为一数据包,并通过SAN结构将其传输给HCA118,而该HCA118将该数据包解码,以获得PCI数据和命令,并将该PCI数据和命令发送给请求的CPU126。这样,PCI适配器可以连接到SAN结构。

SAN100处理用于I/O和处理器间通信的数据通信。SAN100支持I/O所需的高带宽和可伸缩性,并且也支持处理器间通信所需的极低的时延和低的CPU开销。用户的客户程序可以绕过操作系统内核进程,并直接访问网络通信硬件,例如主机通道适配器,这样就允许高效的消息传递协议。SAN100适合于目前的计算模型,并且是新形式的I/O和计算机群集通信的积木式结构。此外,图1所示的SAN100使得I/O适配器节点能够相互之间通信,或者与网络计算系统中的任何或所有处理器节点通信。当一I/O适配器连接到SAN100上时,所产生的I/O适配器节点实质上具有与SAN100中的任何主机处理器节点相同的通信能力。

图1意欲作为一个例子,而不是对本发明的结构限制,并且只是为说明目的而提供。如下所述的本发明的优选实施例可以在多种类型和配置的计算机系统上实施。例如,实施本发明的计算机系统的范围可以是从具有一个处理器和有限数量的输入/输出(I/O)适配器的一个小服务器到具有例如数百个处理器和数千个I/O适配器的一个或多个大规模并行超计算机系统。此外,本发明可以在由例如一因特网或一内部网连接起来的一些远程计算机系统的基础结构上实施。

图2描述了根据本发明的优选实施例的一主机处理器节点的功能框图。主机处理器节点200是诸如图1所示主机处理器节点102等主机处理器节点的一个例子。

在本例中,图2所示的主机处理器节点200包括一组用户202-208以及一个或多个PCI/PCI-X设备驱动程序230,它们是在主机处理器节点200上执行的进程。主机处理器节点200还包括通道适配器210和通道适配器212。通道适配器210包含端口214和216,而通道适配器212包含端口218和220。每个端口连接到一链路。这些端口可以连接到一个SAN子网或多个SAN子网,例如图1中的SAN100。在这些例子中,这些通道适配器采取主机通道适配器的形式。

用户202-208通过动词接口222以及消息与数据服务224将消息传送到SAN。动词接口实质上是对主机通道适配器的功能的一抽象描述。操作系统可以通过其编程接口提供部分或全部动词功能。基本上,这一接口定义了该主机的行为。此外,主机处理器节点200包括消息与数据服务224,其是比该动词层更高层的接口,并用来处理通过通道适配器210和通道适配器212接收到的消息和数据。消息与数据服务224为用户202-208提供了一接口,以处理消息和其它数据。此外,通道适配器210和通道适配器212可以接收来自处理器的、目标为与SAN连接的PCI IOA的加载和存储指令。这些都绕过了该动词层,如图2所示。

图3示出了根据本发明的优选实施例的一主机通道适配器的示意图。图3所示的主机通道适配器300包括一组队列对(QP)302-310,其是一种用来将消息传送给主机通道适配器端口312-316的手段。数据到主机通道适配器端口312-316的缓冲是通过虚拟通道(VL)318-334引导的,其中每个VL具有自己的流控制。一子网管理器(未示出)使用用于每个物理端口的本地地址,即端口的LID,来配置通道适配器。子网管理器代理(SMA)336为了配置通道适配器,而与子网管理器通信。存储器转换与保护(MTP)338是一种将虚拟地址转换为物理地址并验证访问权限的机制。直接存储器访问(DMA)340提供了与队列对302-310有关的、使用存储器(也标记为340)的直接存储器访问操作。

如图3所示主机通道适配器300的单个通道适配器,可以支持数千个队列对。相比之下,I/O适配器中的一目标通道适配器通常支持数量少得多的队列对。

每个队列对由一发送工作队列(SWQ)和一接收工作队列组成。发送工作队列用于发送通道和存储器语义消息。接收工作队列接收通道语义消息。用户调用在这里被称为动词的、特定于操作系统的编程接口,以将工作请求(WR)置于工作队列中。

图4示出了一示意图,其描绘了根据本发明的优选实施例的工作请求处理。图4中具有接收工作队列400、发送工作队列402和完成队列404,用于处理来自用户406和用于用户406的请求。这些来自用户406的请求最终被发送给硬件408。在本例中,用户406产生工作请求410和412,并接收工作完成414。如图4所示,被置于一工作队列中的工作请求被称为工作队列元素(WQE)。

发送工作队列402包含工作队列元素(WQE)422-428,其描述将在SAN结构中传输的数据。接收工作队列400包含工作队列元素(WQE)416-420,其描述放置来自SAN结构的输入的通道语义数据的位置。工作队列元素由该主机通道适配器中的硬件408处理。

动词也提供了用于从完成队列404中获取完成的工作的机制。如图4所示,完成队列404包含完成队列元素(CQE)430-436。完成队列元素包含关于先前完成的工作队列元素的信息。完成队列404用来生成多个队列对的单一完成通知点。完成队列元素是在完成队列中的一种数据结构。该元素描述一个已被完成的工作队列元素。该完成队列元素包含足够的信息,以确定队列对和已完成的特定工作队列元素。一完成队列环境(context)是一信息块,其包含管理单个完成队列所需的指向该队列的指针、长度和其它信息。

所支持的用于图4所示的发送工作队列402的示例性工作请求描述如下。发送工作请求是一种通道语义操作,其把一组本地数据段推放到由一远程节点的接收工作队列元素所引用的数据段。例如,工作队列元素428包含对数据段4 438、数据段5 440、和数据段6 442的引用。发送工作请求的这些数据段中的每一个都包含一虚拟连续的存储器区域。用于引用本地数据段的虚拟地址处于创建该本地队列对的进程的地址环境中。

远程直接存储器访问(RDMA)读工作请求提供一种存储器语义操作,以读取远程节点上的一虚拟连续的存储器空间。存储器空间既可以是存储器区域的一部分,也可以是存储器窗口的一部分。存储器区域引用先前注册的、由虚拟地址和长度定义的一组虚拟连续的存储器地址。存储器窗口引用已被绑定到先前注册的区域的一组虚拟连续的存储器地址。

该RDMA读工作请求读取远程端节点上的一虚拟连续的存储器空间,并将该数据写入一虚拟连续的本地存储器空间。与发送工作请求相似,由该RDMA读工作队列元素引用本地数据段而采用的虚拟地址处于创建了该本地队列对的进程的地址环境中。例如,接收工作队列400中的工作队列元素416引用数据段1 444、数据段2 446、数据段3 448。该远程虚拟地址处于这样的进程的地址环境中,该进程拥有作为该RDMA读工作队列元素的目标的远程队列对。

RDMA写工作队列元素提供一种存储器语义操作,以写入在远程节点上的一虚拟连续的存储器空间。该RDMA写工作队列元素包含本地虚拟连续存储器空间以及被写入所述本地存储器空间的远程存储器空间虚拟地址的一分散列表(scatter list)。

RDMA FetchOp工作队列元素提供一种存储器语义操作,以对远程字执行一原子操作。该RDMA FetchOp工作队列元素是合并的RDMA读、修改、和RDMA写操作。该RDMA FetchOp工作队列元素可以支持几种读-修改-写操作,如“比较并在相等时交换”。

一绑定(解除绑定)远程访问关键字(R_Key)工作队列元素向主机通道适配器硬件提供一命令,以通过将一存储器窗口与一存储器区域相关联(解除关联),来修改(清除)该存储器窗口。R_Key是每个RDMA访问的一部分,并被用于验证远程进程已允许对缓冲区的访问。

在一实施例中,图4所示的接收工作队列400只支持一种类型的工作队列元素,其被称为接收工作队列元素。该接收工作队列元素提供一种通道语义操作,其描述输入的发送消息写入其中的一本地存储器空间。该接收工作队列元素包括一分散列表,其描述数个虚拟连续的存储器空间。输入的发送消息写入这些存储器空间中。这些虚拟地址处于创建该本地队列对的进程的地址环境中。

对于处理器间通信,一用户模式软件进程通过队列对直接从缓冲区在存储器中所在的位置传送数据。在一实施例中,通过队列对的传送绕过操作系统,并耗用很少的主机指令周期。队列对允许零处理器副本的数据传送,而不牵涉操作系统内核。该零处理器副本的数据传送对高带宽和低时延的通信提供了有效的支持。

当一队列对生成时,该队列对被设置为提供所选类型的传输服务。在一实施例中,实施本发明的网络计算系统支持4种类型的传输服务。

可靠和不可靠连接的服务将一本地队列对与一个且只有一个远程队列对相关联。连接的服务需要进程为每个将通过SAN结构与之通信的进程创建一队列对。因而,如果N个主机处理器节点中的每一个都包含P个进程,而每个节点上的所有P个进程都要与所有其它节点上的所有进程通信,则每个主机处理器节点需要P2×(N-1)个队列对。此外,一进程可将一队列对与同一主机通道适配器上的另一队列对相关联。

可靠数据报服务将一本地端到端(EE)环境与一个且只有一个远程端到端环境相关联。可靠数据报服务允许一个队列对的客户进程与任何其它远程节点上的任何其它队列对通信。在接收工作队列中,可靠数据报服务允许来自任何其它远程节点上的任何发送工作队列的输入消息。由于可靠数据报服务是无连接的,因此,可靠数据报服务极大地改进了可伸缩性。所以,与使用可靠连接传输服务相比,使用可靠数据报服务,具有固定数量的队列对的一端节点可以与多得多的进程和端节点通信。例如,如果N个主机处理器节点中的每一个都包含P个进程,并且每个节点上的所有P个进程都要与所有其它节点上的所有进程通信,则可靠连接服务在每个节点上需要P2×(N-1)个队列对。相比之下,无连接的可靠数据报服务在每个节点上只需要P个队列对加上(N-1)个EE环境,就可以进行完全相同的通信。

不可靠数据报服务是无连接的。不可靠数据报服务由管理应用程序使用,以发现新的交换机、路由器和端节点,并将它们集成到一给定的网络计算系统中。不可靠的数据报服务不提供可靠连接服务和可靠数据报服务的可靠性保证。因而,不可靠数据报服务利用在每个端节点上保持的较少的状态信息运行。

图5是根据本发明的优选实施例的一数据包的图解。消息数据500包含数据段1 502、数据段2 504、和数据段3 506,其与图4所示的数据段相似。在本例中,这些数据段构成包508,其被置于数据包512中的包净荷(payload)510中。此外,数据包512包含CRC514,其用于错误检验。此外,在数据包512中还有路由报头516和传输报头518。路由报头516用于标识数据包512的源和目的端口。本例中的传输报头518指定数据包512的目的队列对。此外,传输报头518还提供用于数据包512的诸如操作码、包顺序号、和分区等信息。该操作码标识该包是否是一消息的第一个、最后一个、中间的、或唯一的包。该操作码也指定是否该操作是一发送RDMA写、读或原子操作。该包顺序号在通信建立时被初始化,并且每当队列对创建一新包时递增。端节点的端口可以被配置成为一个或多个有可能重叠的、被称为分区的集合的成员。

图6示出了根据本发明的实施例的、具有虚拟通道适配器和虚拟交换机的一物理组件的示意图。图6示出了一多功能芯片的内部结构,该芯片包含一个或多个交换机,这些交换机将一个或多个HCA互连到一个或多个子网。图6中的物理元件600包括虚拟主机处理器节点602和虚拟主机处理器节点604。虚拟主机处理器节点602包括虚拟主机通道适配器(HCA)606。虚拟主机处理器节点604包括虚拟主机通道适配器(HCA)608。虚拟HCA606和608可以具有与物理HCA相同的属性。例如,在本例中,虚拟HCA606和608具有强制性的队列对号码0和1。

图6所示的物理元件600包括SAN结构610,该SAN结构610包括交换机612。图6所示的SAN结构610包括将主机通道适配器606耦合到交换机612的一链路,以及将交换机612耦合到TCA642的一链路。图6所示的网络计算系统600还包括SAN结构611,该SAN结构611包括交换机614。图6所示的SAN结构611包括将主机通道适配器608耦合到交换机614的一链路,以及将交换机614耦合到TCA644的一链路。虚拟HCA606包括端口650和652。端口650通过交换机612的端口678连接到子网646。端口652通过交换机614的端口682连接到子网648。与子网646相关联的一子网管理器已将LID670分配给HCA606的端口650,并将LID694分配给交换机612的端口686。端口686是交换机612的InfiniBand子网管理端口0。与子网648相关联的一子网管理器已将LID672分配给HCA 606的端口652,并将LID696分配给交换机614的端口688。端口688是交换机614的InfiniBand子网管理端口0。虚拟HCA608包括端口654和656。端口654通过交换机612的端口680连接到子网646。端口656通过交换机614的端口684连接到子网648。与子网646相关联的一子网管理器已将LID674分配给HCA608的端口654。与子网648相关联的一子网管理器已将LID676分配给HCA608的端口656。

在示例性的事务中,主机处理器节点602包括客户进程A616。主机处理器节点604包括客户进程B618。客户进程A616通过队列对620、完成队列632和转换保护表(TPT)634与主机通道适配器硬件606交互作用。客户进程B618通过队列对622、完成队列636和TPT638与主机通道适配器608交互作用。队列对620、队列对622、完成队列632、完成队列636、TPT634和TPT638是一些数据结构。队列对620包括一发送工作队列624和一接收工作队列626。队列对622包括一发送工作队列628和一接收工作队列630。完成队列632和636由单个完成队列组成。TPT634和638由一存储器组成,该存储器由一存储器地址转换与保护表组成。

通道适配器,例如TCA或HCA,可以向将作为物理元件600的一部分而运行的软件、固件或硬件状态机提供一资源配置和分配接口。该资源配置和分配接口允许软件、固件或硬件状态机为虚拟HCA,例如图6所示的HCA606和608,设置操作策略。该操作策略可能包括:1)在一多功能芯片中使用的交换机的数量;2)每个交换机的端口的数量;3)分配给每个交换机的交换机资源的数量;4)在该多功能芯片中使用的HCA的数量;5)每个HCA的端口的数量;以及6)分配给每个HCA的HCA资源的数量。

软件、固件或硬件状态机可以选择物理元件600的实际配置。一物理元件可以是,例如,一HCA。该选择可以是静态的或动态的。静态选择可能需要通过一结构的重新初始化和/或一节点的重新启动来改变HCA或交换机的配置。动态选择允许改变HCA或交换机的配置而不需要结构的重新初始化,但可能需要该节点的启动。

在静态选择机制下,物理元件600可能必须报告在结构初始化期间可以作为物理元件600的一部分而包括进来的虚拟交换机、HCA、和主机处理器节点的精确数量。静态选择机制可能提供在该物理元件上是否有任何端口可用的信息,但不提供关于端口状态的信息,如果没有对该信息的请求的话。使用静态选择机制,每个虚拟HCA可能表现为一有区别的物理HCA。在图6中,通过使用标准的InfiniBand子网管理包(SMP)探查端口644,与子网646相关联的一子网管理器检测到交换机612。对于与子网646相关联的该子网管理器,交换机612表现为一物理交换机,并且LID694被分配给其SMP端口686。与子网646相关联的该子网管理器通过InfiniBand SMP识别交换机612具有两个其它的端口,即端口678和680。通过使用标准的InfiniBand SMP探查交换机612的端口678以及定位HCA606的端口650,与子网646相关联的该子网管理器检测到HCA606。对于与子网646相关联的该子网管理器,HCA606表现为一物理HCA。与子网646相关联的该子网管理器使用InfiniBand SMP将LID670分配给HCA606的端口650。类似地,通过使用InfiniBand SMP,与子网646相关联的该子网管理器检测到HCA608。对于与子网646相关联的该子网管理器,HCA608表现为一物理HCA。与子网646相关联的该子网管理器使用InfiniBand SMP将LID674分配给端口654。

使用动态选择机制,物理元件600可能报告虚拟交换机的最大可配置数量和它们相应的拓扑,但可能不报告在结构初始化期间可能作为物理元件600的一部分包括进来的HCA和主机处理器节点的精确数量。动态选择机制可能提供在该物理元件上是否有任何端口可用的信息,并可能提供在先前不可用的端口变为可供使用时的信息。类似地,动态选择机制可能在HCA及与其相关联的主机节点被从运行中删除时报告它们的删除。使用动态选择机制,每个虚拟HCA可以表现为一有区别的、物理的HCA。

在图6中,如果HCA606在后来的一时刻变成可供使用的,则将发生以下过程。通过使用InfiniBand管理包(SMP)探查端口644,与子网646相关联的一子网管理器检测出交换机612。对于与子网646相关联的该子网管理器,交换机612表现为一物理交换机,并且LID694被分配给其SMP端口686。与子网646相关联的该子网管理器通过标准的InfiniBand SMP识别交换机612具有两个其它的端口,即端口678和680。通过使用InfiniBand SMP探查交换机612端口678以及定位HCA606的端口650,与子网646相关联的该子网管理器检测出HCA606。对于与子网646相关联的该子网管理器,HCA606表现为一物理HCA。与子网646相关联的该子网管理器使用InfiniBand SMP将LID670分配给HCA的端口650。在后来的一时刻,通过与子网646相关联的子网管理器进行SMP扫描(sweep)以探查交换机612、端口680并定位HCA608的端口654,与子网646相关联的该子网管理器可以检测到HCA608。

或者,通过来自交换机612的、指明状态改变的一陷阱(trap),与子网646相关联的该子网管理器可能检测到HCA608。这将导致与子网646相关联的该子网管理器使用InfiniBand SMP探查交换机612、端口680并定位HCA608的端口654。对于与子网646相关联的该子网管理器,HCA608表现为一物理HCA。与子网646相关联的该子网管理器使用InfiniBandSMP将LID674分配给HCA608的端口654。

如上所述,本发明提供了用于对一物理元件进行端节点分区的方法和系统。该物理元件的配置的选择可以是静态的或动态的。使用静态选择机制,子网管理器可以探查该物理元件,例如一交换机或HCA,以确定该物理元件是否被检测到。如果该物理元件被检测到,则分配一LID给该物理元件的SMP端口。如果检测到该物理元件的其它端口,则为这些其它端口分配一LID。

使用动态选择机制,当HCA及与这些HCA相关联的主机节点变为可供使用时,它们将被报告。此外,当这些HCA及与这些HCA相关联的主机节点被从运行中删除时,该动态选择机制将报告这些HCA及与这些HCA相关联的主机节点的删除。当一HCA变为可供使用时,子网管理器将一LID分配给与该HCA相关联的一端口。

图7是一示例性流程图,其描绘了根据本发明的优选实施例的、用于物理元件的配置的一静态选择系统的操作。在本例中,该操作开始于由子网管理器使用InfiniBand子网管理包来探查一端口(步骤702)。响应于由该子网管理器使用InfiniBand子网管理包来探查该端口,判断是否检测到一交换机(步骤704)。如果未检测到交换机(步骤704:否),则该操作终止。如果检测到交换机(步骤704:是),则一LID被分配给该交换机的SMP端口(步骤706)。

然后判断是否该子网管理器已检测到该交换机的其它端口(步骤708)。如果该子网管理器已检测到该交换机的(一些)其它端口(步骤708:是),则LID被分配给(这些)其它端口(步骤710),并且操作返回到步骤708,在此判断是否该子网管理器已检测到该交换机的其它端口。如果该子网管理器没有检测到该交换机的其它端口(步骤708:否),则判断是否将对结构进行重新初始化(步骤712)。如果不对结构进行重新初始化(步骤712:否),则执行一节点的重新启动(步骤716)。然后,虚拟交换机、HCA和主机处理器节点的精确数量被报告给一子网管理器(步骤720),然后该操作终止。如果将对该结构进行重新初始化(步骤712:是),则执行该结构的重新初始化(步骤714)。然后判断是否将执行一节点的重新启动(步骤718)。如果将执行一节点的重新启动(步骤718:是),则执行该结点的重新启动(步骤716),并报告虚拟交换机、HCA和主机处理器节点的精确数量(步骤720),然后该操作终止。如果不执行一节点的重新启动(步骤718:否),则报告虚拟交换机、HCA和主机处理器节点的精确数量(步骤720),然后该操作终止。

图8是一示例性流程图,其描述了根据本发明的优选实施例,当主机通道适配器及与其相关联的节点变为可供使用或从运行中删除时将它们报告。在本例中,该操作开始于判断是否一HCA及与该HCA相关联的主机节点可供使用(步骤802)。如果该HCA及与该HCA相关联的主机节点是不可使用的(步骤802:否),则该操作终止。如果该HCA及与该HCA相关联的主机节点是可供使用的(步骤802:是),则该HCA及与该HCA相关联的主机节点在它们变为可供使用时将它们报告给一子网管理器(步骤804)。然后判断该HCA及与该HCA相关联的主机节点是否已从运行中删除(步骤806)。如果该HCA及与该HCA相关联的主机节点没有从运行中删除(步骤806:否),则该操作终止。如果该HCA及与该HCA相关联的主机节点已从运行中删除(步骤806:是),则报告该HCA及与该HCA相关联的主机节点已从运行中删除(步骤808),然后该操作终止。

图9是一示例性流程图,其描绘了根据本发明的优选实施例的、用于物理元件的配置的一动态选择系统的操作。在本例中,该操作开始于判断是否一HCA在接通电源之时的条件下变为可供使用的(步骤902)。如果HCA在接通电源之时的条件下没有变为可供使用的(步骤902:否),则判断是否HCA在接通电源之后的条件下变为可供使用的(步骤904)。如果HCA在接通电源之后的条件下没有变为可供使用的(步骤904:否),则该操作终止。如果HCA在接通电源之后的条件下变为可供使用的(步骤904:是),则该操作前进到步骤906,在此由一子网管理器使用InfiniBand子网管理包探查一端口。

回到步骤902,如果一HCA在接通电源之时的条件下变为可供使用的(步骤902:是),则由一子网管理器使用InfiniBand子网管理包探查一端口(步骤906)。判断是否检测到一交换机(步骤908)。如果没有检测到交换机(步骤908:否),则该操作终止。如果检测到交换机(步骤908:是),则一LID被分配给该交换机的SMP端口(步骤910)。然后判断是否子网管理器已使用SMP扫描检测到该交换机的其它端口(步骤912)。如果子网管理器已使用SMP扫描检测到该交换机的其它端口(步骤912:是),则一LID被分配给该其它端口,并且该操作前进到步骤914,在此判断是否该子网管理器已使用来自该交换机的、指明状态改变的一陷阱而检测到该交换机的其它端口。

如果该子网管理器未能使用SMP扫描检测到该交换机的其它端口(步骤912:否),则然后判断是否该子网管理器已使用来自该交换机的、指明状态改变的一陷阱而检测到该交换机的其它端口(步骤914)。如果该子网管理器已使用来自该交换机的、指明状态改变的一陷阱而检测到该交换机的其它端口(步骤914:是),则一LID被分配给该其它端口(步骤916),并且该操作返回到步骤912,在此判断是否该子网管理器已使用SMP扫描检测到该交换机的其它端口。

如果该子网管理器未能使用来自该交换机的、指明状态改变的一陷阱而检测到该交换机的其它端口(步骤914:否),则判断是否将进行结构的重新初始化(步骤918)。如果将进行结构的重新初始化(步骤918:是),则进行结构的初始化,并且该操作前进到步骤920,在此进行一节点的重新启动。如果不进行结构的初始化(步骤918:否),则进行一节点的重新启动(步骤920)。当HCA及主机处理器节点变为可供使用时,将它们报告(步骤922),然后该操作终止。

因此,本发明提供了一种机制,其允许单个物理组件表现为多个组件,所述多个组件中的每一单个组件都有自己独特的访问控制级别。这些组件可以是主机通道适配器(HCA)、目标通道适配器(TCA)或交换机。用来创建主机通道适配器和交换机的资源可以通过从一公共池中静态或动态地选择软件、固件和状态机来获得。这些资源的分配可以通过各种机制来进行。例如,可以使用一简单的1/N机制将资源分配给所有虚拟HCA。或者,可以使用一加权平均机制创建具有具有不同能力的虚拟HCA。这些资源可以包括但不限于所有HCA和QP可选择的修改量(modifier)。例如,这些HCA和QP可选择的修改量可以是QP的数量、CQ的数量、TPT的大小、P-Key表的大小、未完成的读RDMA的数量、及其类似物。

重要的是认识到,尽管已在一具有完整功能的数据处理系统的环境下描述了本发明,本领域的普通技术人员可以理解,本发明中的过程能够以包含指令的计算机可读介质的形式以及多种形式分布,而且不管实际用于进行这种分布的信号承载介质的特殊类型,本发明都同样适用。计算机可读介质的例子包括可记录类型的介质,如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,也包括传输类型的介质,如数字和模拟通信链路,使用诸如射频和光波传输等传输形式的有线或无线通信链路。计算机可读介质可以采取编码格式的形式,这种编码格式被解码以实际用于一特定的数据处理系统。

Claims (2)

1.一种用于将一物理元件(600)的一端节点(606)分区的方法,其包括以下步骤:使用一子网管理包探查(702)一端口(644);通过探查该端口(644),检测到(704)与该端口(644)相关联的一交换机(612);将一本地标识符(694)分配(706)给该交换机(612)的一子网管理包端口(686);检测(708)该交换机(612)的一其它端口(678);以及将一本地标识符(670)分配(710)给与该其它端口(678)相应的端节点(606)的一端口(650)。
2.一种用于将一物理元件(600)的一端节点(606)分区的系统,其包括:用于使用一子网管理包探查(702)一端口(644)的装置;用于通过探查该端口(644),检测到(704)与该端口(644)相关联的一交换机(612)的装置;用于将一本地标识符(694)分配(706)给该交换机(612)的一子网管理包端口(686)的装置;用于检测(708)该交换机(612)的一其它端口(678)的装置;以及用于将一本地标识符(670)分配(710)给与该其它端口(678)相应的端节点(606)的一端口(650)的装置。
CN 02812904 2001-06-29 2002-03-18 使用本地标识符的端节点分区 CN1212574C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/895,233 US20030005039A1 (en) 2001-06-29 2001-06-29 End node partitioning using local identifiers

Publications (2)

Publication Number Publication Date
CN1520556A CN1520556A (zh) 2004-08-11
CN1212574C true CN1212574C (zh) 2005-07-27

Family

ID=25404187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02812904 CN1212574C (zh) 2001-06-29 2002-03-18 使用本地标识符的端节点分区

Country Status (8)

Country Link
US (1) US20030005039A1 (zh)
EP (1) EP1399829B1 (zh)
JP (1) JP3783017B2 (zh)
KR (1) KR100582406B1 (zh)
CN (1) CN1212574C (zh)
AT (1) AT331252T (zh)
DE (1) DE60212626T2 (zh)
WO (1) WO2003003229A1 (zh)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904545B1 (en) * 2001-07-11 2005-06-07 Advanced Micro Devices, Inc. Fault tolerant computing node having multiple host channel adapters
EP1419446B1 (en) 2001-08-24 2007-10-03 Intel Corporation A general input/output architecture, protocol and related methods to support legacy interrupts
US9836424B2 (en) * 2001-08-24 2017-12-05 Intel Corporation General input/output architecture, protocol and related methods to implement flow control
US6829685B2 (en) * 2001-11-15 2004-12-07 International Business Machines Corporation Open format storage subsystem apparatus and method
US20030101158A1 (en) * 2001-11-28 2003-05-29 Pinto Oscar P. Mechanism for managing incoming data messages in a cluster
US7290277B1 (en) * 2002-01-24 2007-10-30 Avago Technologies General Ip Pte Ltd Control of authentication data residing in a network device
US7606167B1 (en) * 2002-04-05 2009-10-20 Cisco Technology, Inc. Apparatus and method for defining a static fibre channel fabric
US7299266B2 (en) * 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
US7379983B2 (en) * 2003-06-25 2008-05-27 International Business Machines Corporation Merging scalable nodes into single-partition merged system using service processors of nodes
AU2003286412A1 (en) * 2003-12-11 2005-06-29 Bladefusion Technologies 2003 Ltd. Method and an apparatus for controlling executables running on blade servers
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9178784B2 (en) * 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US7860096B2 (en) * 2004-06-08 2010-12-28 Oracle America, Inc. Switching method and apparatus for use in a communications network
US7639616B1 (en) 2004-06-08 2009-12-29 Sun Microsystems, Inc. Adaptive cut-through algorithm
US7602712B2 (en) * 2004-06-08 2009-10-13 Sun Microsystems, Inc. Switch method and apparatus with cut-through routing for use in a communications network
US8964547B1 (en) 2004-06-08 2015-02-24 Oracle America, Inc. Credit announcement
US7257758B1 (en) * 2004-06-08 2007-08-14 Sun Microsystems, Inc. Stumping mechanism
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7581021B2 (en) * 2005-04-07 2009-08-25 International Business Machines Corporation System and method for providing multiple virtual host channel adapters using virtual switches
JP4670676B2 (ja) 2006-02-17 2011-04-13 日本電気株式会社 スイッチ及びネットワークブリッジ装置
US7519761B2 (en) * 2006-10-10 2009-04-14 International Business Machines Corporation Transparent PCI-based multi-host switch
US20080155571A1 (en) * 2006-12-21 2008-06-26 Yuval Kenan Method and System for Host Software Concurrent Processing of a Network Connection Using Multiple Central Processing Units
US7904602B2 (en) * 2008-02-05 2011-03-08 Raptor Networks Technology, Inc. Distributed computing bus
US8009589B2 (en) * 2008-02-25 2011-08-30 International Business Machines Corporation Subnet management in virtual host channel adapter topologies
US8793699B2 (en) * 2008-02-25 2014-07-29 International Business Machines Corporation Negating initiative for select entries from a shared, strictly FIFO initiative queue
US7831710B2 (en) * 2008-02-25 2010-11-09 International Business Machines Corporation Communication of offline status between computer systems
US7962564B2 (en) * 2008-02-25 2011-06-14 International Business Machines Corporation Discovery of a virtual topology in a multi-tasking multi-processor environment
US8042004B2 (en) * 2008-02-25 2011-10-18 International Business Machines Corporation Diagnosing communications between computer systems
US7949721B2 (en) * 2008-02-25 2011-05-24 International Business Machines Corporation Subnet management discovery of point-to-point network topologies
US8762125B2 (en) * 2008-02-25 2014-06-24 International Business Machines Corporation Emulated multi-tasking multi-processor channels implementing standard network protocols
US8065279B2 (en) * 2008-02-25 2011-11-22 International Business Machines Corporation Performance neutral heartbeat for a multi-tasking multi-processor environment
JP5110156B2 (ja) * 2010-12-03 2012-12-26 日本電気株式会社 スイッチ及びネットワークブリッジ装置
CN102136955B (zh) * 2011-04-29 2014-04-09 杭州华三通信技术有限公司 一种基于解耦合vpls转发框架的报文转发方法和设备
US8713649B2 (en) 2011-06-03 2014-04-29 Oracle International Corporation System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network
US8874742B2 (en) 2011-07-11 2014-10-28 Oracle International Corporation System and method for supporting virtual machine migration in a middleware machine environment
US8739273B2 (en) 2011-07-11 2014-05-27 Oracle International Corporation System and method for supporting subnet management packet (SMP) firewall restrictions in a middleware machine environment
US8879396B2 (en) * 2011-11-15 2014-11-04 Oracle International Corporation System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
US9325619B2 (en) 2011-11-15 2016-04-26 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
US9852199B2 (en) 2012-05-10 2017-12-26 Oracle International Corporation System and method for supporting persistent secure management key (M—Key) in a network environment
US9917728B2 (en) 2014-01-14 2018-03-13 Nant Holdings Ip, Llc Software-based fabric enablement
US10212101B2 (en) 2014-01-14 2019-02-19 Nant Holdings Ip, Llc Low level provisioning of network fabrics
CN105335227B (zh) * 2014-06-19 2019-01-08 华为技术有限公司 一种节点内的数据处理方法、装置和系统
US10360205B2 (en) 2015-09-23 2019-07-23 International Business Machines Corporation Cooperative MKEY locking for managing infiniband networks
US9692660B2 (en) 2015-09-23 2017-06-27 International Business Machines Corporation Election and use of configuration manager
US10432470B2 (en) 2015-09-23 2019-10-01 International Business Machines Corporation Distributed subnet manager for InfiniBand networks
US20170214600A1 (en) * 2016-01-27 2017-07-27 Oracle International Corporation System and method for supporting scalable representation of switch port status in a high performance computing environment
US10348645B2 (en) 2016-01-27 2019-07-09 Oracle International Corporation System and method for supporting flexible framework for extendable SMA attributes in a high performance computing environment
US10469621B2 (en) 2016-01-27 2019-11-05 Oracle International Corporation System and method of host-side configuration of a host channel adapter (HCA) in a high-performance computing environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US6694361B1 (en) * 2000-06-30 2004-02-17 Intel Corporation Assigning multiple LIDs to ports in a cluster
US6704812B2 (en) * 2000-11-30 2004-03-09 International Business Machines Corporation Transparent and dynamic management of redundant physical paths to peripheral devices

Also Published As

Publication number Publication date
JP3783017B2 (ja) 2006-06-07
US20030005039A1 (en) 2003-01-02
DE60212626T2 (de) 2007-07-05
EP1399829B1 (en) 2006-06-21
AT331252T (de) 2006-07-15
KR20040054620A (ko) 2004-06-25
CN1520556A (zh) 2004-08-11
DE60212626D1 (de) 2006-08-03
EP1399829A1 (en) 2004-03-24
KR100582406B1 (ko) 2006-05-22
JP2004531175A (ja) 2004-10-07
WO2003003229A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
Kronenberg et al. VAXcluster: a closely-coupled distributed system
US7953074B2 (en) Apparatus and method for port polarity initialization in a shared I/O device
US7356818B2 (en) Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
KR101782342B1 (ko) 가상 스토리지 타겟 오프로드 기법
US8028105B2 (en) System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
DE69922693T2 (de) Systemem und verfahren für netzwerkvorrichtung und ein-ausgabegerätetreiber
US7447197B2 (en) System and method of providing network node services
EP0751656B1 (en) Protocol independent and adaptive network interface
KR100883405B1 (ko) 공유된 속성들에 근거하여 압축된 큐 쌍으로부터 다중의가상 큐 쌍들을 생성하는 장치
US7941577B2 (en) Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization
US7783788B1 (en) Virtual input/output server
US6522654B1 (en) Method for hosting the internet protocol suite on the IEEE-1394 high speed serial bus
US8848727B2 (en) Hierarchical transport protocol stack for data transfer between enterprise servers
US7188198B2 (en) Method for implementing dynamic virtual lane buffer reconfiguration
US7233570B2 (en) Long distance repeater for digital information
US7711789B1 (en) Quality of service in virtual computing environments
US7299266B2 (en) Memory management offload for RDMA enabled network adapters
US7447778B2 (en) System and method for a shared I/O subsystem
US6314525B1 (en) Means for allowing two or more network interface controller cards to appear as one card to an operating system
US7747847B2 (en) Method and system for iSCSI boot in which an iSCSI client loads boot code from a host bus adapter and/or network interface card
US6977927B1 (en) Method and system of allocating storage resources in a storage area network
US7818362B2 (en) Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
US20020107990A1 (en) Network connected computing system including network switch
JP2004523831A (ja) シリコンベースのストレージ仮想化サーバ
US6353612B1 (en) Probing device

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted
C19 Lapse of patent right due to non-payment of the annual fee