管理无限带宽通信链路的发送机、接收机和方法

文档序号:7694294阅读:104来源:国知局
专利名称:管理无限带宽通信链路的发送机、接收机和方法
技术领域
本发明涉及代替专有系统间信道链^各(Proprietary Inter System Channel)的 基于无限带宽的长距离方案。本发明特别提供了一种流控制机制,该机制不 使用无限带宽定义的信用交换(credit exchange),因此允许扩展传输距离。
背景技术
基于信用的流控制基于数据在发送机和接收机之间的通信交换。通常, 接收机将向发送机确认其目前可以接收大量的数据。在基于信用的协议下, 发送机不会发送数据除非接收到该确认。该确认还可以在接收机的緩冲器被 卸载时(可能累积地)指定接收设备可以接收多少数据。由于发送机和接收 机之间这些必须的交换消耗传播时间,因此在发生交换的时候,例如兆字节 的大量数据需要被緩沖。随着传输距离的增加,往返传播时间增加并且因此 当发生信用交换时緩沖器的大小必须适应传输中的分组。才艮据带宽需求,无限带宽(IB)接口和协议对于在大约几百米的距离上 传输数据分组而不使用中继器(repeater)或者中间交换设备是有用的。通过中 继器,这些距离可以增加到几十万米,然而,由信用交换所消耗的上述往返 传输时间增大了 。在IB接口上扩展传输距离的一种方案是不考虑或者禁止趋 向于浪费带宽的IB流控制。流控制对于避免数据溢出是有用的,然而,流控 制在接收机处需要緩冲器资源。当禁止流控制时需要丢弃分组检测和抑制机 制,以便检测由于减慢的存储器子系统和緩冲器溢出引起的丢弃分组,以及 减慢数据传输速率。在这些情况下,例如,可以向发送设备发送请求分组指 示它们减慢其数据传输的速率。每个信用分组可以传送信用变化量,因此,可以根据情况偶尔或经常的发送信用分组。每个信用分组可以表示接收机中可用緩冲空间的绝对量或者可以表示当緩沖存储器变得可用时緩沖存储器的增加量。传统的,IB实现每 个分组的绝对表示。发明内容无限带宽通信链路可以是耦合节点的点到点连接,其中在每个节点中包 含发送和接收设备。依照本发明用于操作节点的方法和设备包括在链路上交 换信用信息以控制其它节点在链路上的数据传输速率的节点。每个节点中的 接收设备包括数据緩沖器,用于存储从其它节点发送的数据,而每个节点中 的发送设备包括信用计数逻辑,用于追踪在其它节点的接收緩冲器中的可用 空间。禁止发送设备兌现(honor)其它节点在链路上发送的并且由信用逻辑 追踪的信用信息,使更大的数据传输速率成为可能。这个创造性的特征需要 接收设备监视由其它节点发送的、由于緩沖空间的缺乏而导致的丢弃分组。 在这种情况下,接收设备向其它节点发送请求以降低数据传输速率。本发明的另一实施例包括在IB链路上通信的节点之一中的接收设备。接 收设备,或者"接收机"包括耦合到IB链路的输入端以及用于存储输入IB分 组的数据緩冲器。还包括耦合到IB链路用于发送指示其数据緩冲器中可用空 间的数量的信用数据的输出端。电路为数据緩冲器监视由于缺少緩冲空间引 起的丢弃分组。如果检测到丟弃分组,则节点在IB链路上发送用于降低传输 速率的请求。本发明的另一实施例包括在IB链路上通信的节点之一中的发送设备,或 "发送机"。发送机包括耦合到IB链路的、用于发送IB分组的输出端以及用 于从接收机接收信用数据和其它请求的输入端,所述请求例如降低当前传输 速率。在另一实施例中,发送机包括用于解释信用数据以及用于响应减慢请 求减慢当前传输速率的电路。如果忽略信用数据,发送机可以连续地(backto back)传输数据分组,而不考虑节点之间的距离。通过结合下述说明以及相应的附图,可以更好地理解本发明的这些以及 其它方面和目标。然而,应当明白尽管下述说明示出了本发明的优选实施例 和其多个特定的细节,其仅仅是示意性地给出的并不限制本发明。可以在不脱离本发明的精神的情况下,在本发明的范围内进行多种改变和修改,并且 本发明包括所有这些修改。


图1示出了 IB节点的点到点连接的例子。图2示出了 一个IB站点中的发送机以及另一 IB站点中的接收机。 图3示出了使用基于信用的流控制在短距离的两个IB节点之间的通信等 待时间。图4示出了使用基于信用的流控制在长距离的两个IB节点之间的通信等 待时间。图5示出了没有流控制在长距离的两个IB节点之间的通信等待时间。 图6示出了使用基于延迟的流控制在长距离的两个IB节点之间的通信等 待时间。图7示出了在不同緩冲器大小、流控制和带宽的环境下两个节点之间的 数据速率下降。
具体实施方式
参考图1,示出了两个站点105和106之间的点到点网络配置的例子。 每个站点包括中央电子联合体101,经由短距离的双向IB链路103与相应的 耦合设施102通信。节点之间的点到点通信通过了长距离的双向IB链路104。 在通信链路110的一端的每个设备包括发送机和接收机108,由于每个设备 必须通过信用分组追踪并经由信用分组向其它设备传送在接收机的接收緩沖 器中有多少空间可用,从而其可以控制在双向链路上的数据传输速率。通常, 这些设备110是耦合到系统101或102以及耦合到IB链路104或103的IB 信道适配器。每个设备110中的计算机代码107进行工作以根据实践本发明的方法的 特征和功能控制硬件。每个示例性站点105和106可以被配置为系统z sysplex,包括由纽约Armonk的IBM公司制造的z9主机。这种示例配置并不 是试图穷举的。本地或远程站点中的每一个还可以包括多个CEC和多个耦合 设施。CEC还可以包括内部耦合设施而不是所示的外部耦合设施。同一机器 可以被配置为作为CEC和耦合设施来操作。耦合设施提供的一般功能包括耦 合CEC。根据现有技术的复杂度以及链路103或104的物理属性,所考虑的 长距离可以改变,然而, 一般的,作为一个例子,给出或采用l千米长的链路,或者更长的距离可以被认为是"长距离"以用于解释。这些链路还可以扩 展数千米,其也将被认为是长距离链路。参考图2,示出了在上述和图1所示出的每个设备(CEC以及耦合设施) 中包含的示例性发送机和接收机。然而,为了给出"长距离"通信的例子,图2 中的接收机209和发送机208之间的耦合,例如从发送机208发送到接收机 209的虚拟专用线(VLin )緩冲器203的数据分组207,以及由接收机209发 送到发送机208的信用分组206示出了站点105和106之一的发送机与站点 105和106中的另一个的接收机通信。在操作中,仅当接收机的VLin緩冲器203中有足够的空间时,发送机 208才发送数据分组207。通过其信用控制逻辑,或者信用计数205,发送机 知道接收机的緩沖器中的可用空间量。当从接收机209接收信用分组206时, 发送机在信用控制逻辑中累积信用。如IB协议中普遍的,用每个信用分组发 送接收緩沖器中总的可用空间的指示,而不是作为累计计数,尽管任何一种 都可以准确的实现。通常,例如, 一个信用(onecredit)等于64字节,指示接 收机中可用的緩冲空间量。当发送机发送数据分组207时,其依照发送的分 组的大小,减少205中的信用计数。当在系统存储器202中接收到来自接收 端的緩冲器的数据时,耦合到VLin缓沖器的接收机的信用控制逻辑204检测 接收机的VLin緩冲器203的数据输出的移动,并且周期性的产生并向发送机 208发送包含累计的或者总的信息的信用分组206,从而通知发送机在接收机 的緩沖器中有更多的空间可用。然后发送机208从接收机209接收信用分组 206,并通过每个累计通信逐步增加或每个绝对信用计数替代其信用计数来相 应的增加信用控制逻辑205中的信用计数。发送机中的控制寄存器210包括 用于禁止发送机中使用信用数据的电路的模式比特(mode bit)。当模式比特被 设定为禁止时,发送机忽略信用数据并以无限制的速率,即,最大速率发送 数据分组,除非其从接收机接收到减慢传输的请求。模式比特指示硬件发送 数据,而不检验流控制信用计数器。通常,配置软件(固件)将控制这一模 式比特的状态,或者可选的,可以通过操作员的命令设定控制软件。参考图3,示出了由发送机301发送到接收机302的数据分组1-11 303 以及由接收机发送到发送机的信用分组1-11 304的交换。这是根据本发明的 一个实施例的典型的基于信用的流控制交换。由307指示的时间间隔示出了 部分卸载(unload)VLin緩冲器所需的时间,并且从接收、处理和卸载数据分 组的时间直到发送指示由卸载产生的空间大小的信用分组来测量。当接收数据和信用分组时,发送机和接收机中的每一个使用一定量的处理时间。在发 送机和接收机之间短距离通信交换的例子中,发送机连续发送分组而不需要等待从接收机接收信用分组的任何延迟。时间间隔306指示发送机发送数据 分组所需的时间。在该例子中,数据分组传输之间的等待时间可以被忽略或 者不存在。为了示意的目的,数据分组大小具有大约相同的长度并且以规则 的时间间隔^皮发送。相似的,为了示意的目的,也以MJ3'j的时间间隔发送信 用分组,该时间间隔由表示发送信用分组的等距离线表示。在实际的操作中, 可以以不规则间隔发送数据和信用分组并且每个数据和信用分组承载不同的 数据量,或者在信用分组的情况下,指示可用緩冲空间量的改变。这示意了发送机不由于等待信用分组的过多往返时间而浪费其可用带宽 的短距离特征。往返时间是由发送机发送的数据分组经过一段距离到达接收 机、接收机卸载该数据分组并发送指示由于卸载而可用的空间的信用分组所 占用的总时间,以及信用分组经过所述距离返回发送机所占用的时间。这在 305指示,其中发送例如数据分组6所需的信用(信用分组4)在其需要之前 被接收,即数据分组5仍然要被发送机发送。参考图4,示出了基于信用的流控制交换,但是发送机和接收机之间有 较长距离,由于必须等待从接收机接收信用分组402,这对发送机的数据分 组401的传输速率引入了延迟。在这种情况下,发送机和接收机可以以与图 3的短距离例子中相同的速率操作,区别仅仅是它们之间的距离更大。在图3 和图4之间,表示数据和信用分组行进的线的斜率相同,表示行进速率相同。 时间间隔307和404相同,表示接收机以相同的速率处理接收的数据分组。 由于基于信用的流控制协议限制,发送机在其发送数据分组之前等待接收信 用分组,其往返时间403比短距离例子中的往返时间305短。发送机可以以 与图3的短距离例子中相同的速率发送相等的数据分组。在这种情况下,发 送机并不能如同在图3的短距离例子中那样连续发送数据分组。发送数据分 组401所需的信用分组并不及时到达并且发送^L被延迟时间量405,时间量 405指示由于数据和信用分组传输时间导致的浪费的带宽量,即使接收机卸 载数据分组所需的时间404以及发送机发送分组所需的时间406与图3的短 距离例子中的306保持相同。接收机卸载数据分组以及发送信用分组所占用 的时间独立于发送机和接收机之间的距离。该示例说明显示了当发送机和接 收机相距更远时,分组从发送机行进到接收机会用更长时间。浪费的时间405 由往返时间的增加而引起,而往返时间的增加由发送机和接收才几之间的距离所导致。
参考图5,示出了除了基于信用的流控制被关闭以外,位于与图4所示 相同距离的发送机和接收机。这使分组可以以与图3的短距离例子中相同的 速率、但在更长的距离上被交换。这是由于在该示例实施例中,因为发送机 忽略输入的信用分组,所以发送机以可忽略的延迟连续发送延迟分组501而 不等待信用分组502。然而,接收机并不知道发送机忽略信用。卸载緩沖器 的时间503保持为与传输分组所占用的时间相同504。因此,由于禁止基于 信用的流控制,在较长距离的分组传输速率等于短距离的传输速率。
参考图6,示出了一种示例,其中由于其VLin緩冲器填满了,连续发送 的发送^L数据分组601在接收机603被丢弃。在该例子中,发送机不等待信 用分组602并且忽略输入信用分组609。响应于4全测到条件604 (或者响应于 检测到某些其它预先选择的丢弃分组数量),从接收机向发送机发送减速分 组607。该检测机制包括对于接收机的处理器公知的硬件中断,其导致程序 代码产生发送到发送机的减速分组。该减速分组通常采用IB管理数据报的格 式。在发送机中接收并处理减速分组从而增加输出分组的分组间延迟。IB协 议实现了用于控制分组间延迟的公知的静态速率控制机制,例如,参见无限 带宽结构规范的第9.11节。标准IB设备包含用于在数据发送机中检测丢弃 分组以及用于静态速率控制(分组间延迟)的机制。尽管分组间延迟机制的 传统使用是用于控制在包括不同速度链路的路径(例如在交换网络中)中的 分组注入率(injection rate),但是可以用于这里所描述的用处——当回避流控 制时。相似的,如果以及当接收^/L停止丟弃分组时,还可以向发送才几发送才是 高速度命令分组。
卸载緩沖器的时间605保持为与发送分组所占用的时间606相同。响应 接收到减速分组607,发送机引入分组间延迟并降低其数据分组传输608的 速率。本发明的一个优点是减速分组可以指示发送机逐渐递增地减慢传输, 从而使得分组不被丢弃,但是速度没有降低很多以致于引入带宽的大量浪费, 带宽的浪费可能发生在图4所示的基于信用的流控制中。通过比较图4和图 6中浪费的带宽量进行了示意。
参考图7,示出了在每个方向包含示例性单个光纤的双向链路的性能度 量。以1 GB/s带宽的水平线701示出了缺少QDR信用(QDR credit-less)的性 能;以0.5GB/s带宽的水平线702示出了缺少DDR信用的性能;QDRw/Max 緩冲器导致了 lGB/s的水平线在大约12km处开始下降704; DDRw/Max緩冲器导致了 0.5GB/s带宽的水平线在大约27km处开始下降706; QDRw/32k VLin緩冲器导致了 lGB/s的水平线在大约3km处开始下降703;以及DDR w/32k VLin緩沖器导致了 0.5GB/s的水平线在大约7km处开始下降705。
从图7中可见,IB链路的缺少信用操作导致了在任何距离的一致传输速 率,无论以lGB/s传输速率701或者0.5GB/s速率702都没有下降。这分别 对应于四倍数据速率传输(QDR)和双倍数据速率传输(DDR)。基于信用 的流控制导致传输速率随着传输距离的增加而下降。如图7所示,与32k緩 冲器相比,在接收机中的较大緩沖器,例如"最大緩沖器"接近131kB,有助 于在下降704和706发生前,与较小緩冲器的下降703和705相比,扩展传 输距离。从图7中可以推出的一个结论是在大约27km的距离处,当实现基 于信用的控制时,具有lGB/s能力的发送机/接收机对与具有0.5GB/s能力的 发送机/接收^/L对相比,没有性能的优势。这大约是lGB/s链路的下降704与 0.5GB/s线开始下降706的点接近并相遇的距离。
可替代实施例
将会理解,尽管为了示意的目的,这里已描述了本发明的特定实施例, 但在不脱离本发明的精神和范围的情况下可以进行各种改进。特别地,这里 所述的技术可以实现为方法、设备或者包括软件、固件、微代码、硬件和/或 其任意组合的制品(article of manufacture)。这里使用的术语"制品"指的是在介 质中实现的代码或逻辑,其中该介质可包括硬件逻辑(例如,集成电路芯片、 可编程门阵列(PGA)、专用应用集成电路(ASIC)等),或者计算机可读 介质,例如磁存储介质(例如,硬盘驱动、软盘,磁带等)、光学存储器 (CD-ROM、光盘等)、易失和非易失存储设备(例如,电可擦除可编程只 读存储器(EEPROM )、只读存储器(ROM)、可编程只读存储器(PROM )、 随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取 存储器(SRAM)、闪存、固件、可编程逻辑等)。通过处理器访问和执行 计算机可读介质中的代码。其中的代码或逻辑被编码的介质还包括通过空间 或传输介质,例如光纤,铜线等传输的传输信号。其中的代码或逻辑被编码 的传输信号还包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。其 中的代码或逻辑被编码的传输信号可以通过发送站发送并且通过接收站接 收,其中传输信号中的代码和逻辑可以被解码并存储在接收和发送站或设备 中的硬件或计算机可读介质中。此外,"制品"可以包括在其中嵌入处理和执 行代码的软件组件和硬件的组合。当然,本领域技术人员将认识到可以在不脱离实施例的范围的情况下进行多种改进,并且制品可以包括任何信息承载 介质。例如,制品包括具有存储在其中的指令的存储介质,当设备执行该指 令时导致操作被执行。
特定实施例可以采用全硬件实施例、全软件实施例或者包含硬件和软件 元件两者的实施例。在优选实施例中,本发明实现为硬件和软件,其包括但 不限于固件、常驻软件、微代码等。此外,特定实施例可以采用可从计算机 可用或者计算机可读介质访问的计算机程序产品的形式,所述计算机可用或 者计算机可读介质提供程序编码,用于或者结合计算机或任何指令执行系统 使用。为了该说明的目的,计算机可用或计算机可读介质可以是任何包含、 存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述系统、 装置或设备结合的程序的设备。介质可以是电、磁、光、电磁、红外或半导 体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或
固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存 储器(ROM)、硬磁盘和光盘。光盘的当前例子包括紧致盘-只读存储器 (CD-ROM)、紧致盘-读/写(CD-R/W)和DVD。
因此,已经为了示意和说明的目的,呈现了实施例的上述说明。其并不 意味着穷尽的或者将实施例限定为这里公开的精确形式。在上述启示下可以 进行各种改进和变化。
权利要求
1. 在耦合第一节点和第二节点的无限带宽通信链路中,其中每个所述节点包括发送设备和接收设备,所述节点在所述链路上交换信用信息以控制另一节点在所述链路上的数据传输速率,并且其中每个所述接收设备包括用于存储从所述另一个节点发送的数据的数据缓冲器,管理所述通信链路的方法包括步骤禁止发送设备兑现由所述另一节点在所述链路上发送的所述信用信息;所述接收设备监视由所述另一节点发送的、由于缺少缓冲空间而导致的丢弃分组;以及响应检测到由于缺少缓冲空间导致的丢弃分组,所述接收设备向所述另一节点发送降低传输速率的请求。
2、 如权利要求l所述的方法,其中所述禁止步骤包括在所述发送设备中设定模式比特以使所述发送设备忽略信用数据的步骤。
3、 如权利要求2所述的方法,其中所述禁止步骤还包括从由下述内容组 成的步骤组中选择的步骤操作员可控制地设定所述模式比特,以及配置程序自动地设定所述模式 比特。
4、 如权利要求1所述的方法,其中所述发送设备响应用于降低传输速率 的请求,通过可控制的增加分组间延迟降低所述传输速率。
5、 如权利要求4所述的方法,其中在降低所述传输速率后,所述发送设 备在预先选择的时间间隔之后增大传输速率,其中在所述预先选择的时间间 隔期间没有接收到用于降低所述传输速率的请求。
6、 如权利要求4所述的方法,其中在降低传输速率之后,所速发送设备 响应从所述^l妄收机接收到用于增大所述传输速率的请求后增大所述传输速 率。
7、 一种4妄收机,包括耦合到IB链路的输入端,用于接收处于第一传输速率的输入IB分组; 耦合到所述输入端的数据緩冲器,用于存储所述输入IB分组; 耦合到所述IB链路的输出端,用于在所述IB链路上发送用于指示所述 数据缓冲器中空间量的信用数据;耦合到所述数据緩沖器的监视电路,用于检测由于缺少緩冲空间导致的丢弃分组;以及耦合到所述输出端的输出电路,用于在所述IB链路上发送用于把所述第 一传输速率降低到较慢传输速率的请求。
8、 如权利要求7所述的接收机,还包括耦合到所述输出端的另一输出电 路,用于在所述IB链路上发送用于增大所述较慢传输速率的请求。
9、 一种发送才几,包括耦合到IB链路的输出端、用于以受控的传输速率在所述链路上发送IB 分组;耦合到所述IB链路的输入端,用于接收信用数据和把当前传输速率降低 到较慢传输速率的请求;耦合到所述输入端的第一电路,用于解释所述信用数据以及用于响应于 信用数据控制IB分组在所述链路上被传输的当前传输速率;第二电路,用于禁止所述第一电路,从而使所述发送机以不受限制的传 输速率操作;以及耦合到所述输入端的第三电路,用于响应于接收到用于降低当前传输速 率的请求而降低所述不受限制的传输速率。
10、 如权利要求9所述的发送机,其中所述输入端能够接收用于增大所 述较慢传输速率的请求,并且所述发送机还包括第四电路,用于响应于接收 到增大所述较慢传输速率的所述请求而增大被所述第三电路降低的所述较慢 传输速率。
11、 如权利要求9所述的发送机,还包括第四电路,用于在没有接收到 降低当前传输速率的请求的一时间间隔后,增大由所述第三电路降低所述当 前传输速率导致的较慢传输速率。
12、 如权利要求9所述的发送机,其中所述第二电路包括用于检测所述 发送机中指示是否禁止所述第一电路的模式比特的状态的电路。
13、 如权利要求12所述的发送机,还包括可由操作员控制用于选择性的 设定所述模式比特的状态的电路。
14、 如权利要求12所述的发送机,还包括可由配置程序控制用于选择性 的设定所述模式比特的状态的电路。
15、 如权利要求9所述的发送机,其中所述第三电路包括用于增大所述 发送机的分组间延迟的电路。
全文摘要
一种无限带宽流控制方案禁止基于信用的流控制从而可以扩展传输距离。基于无限带宽信用的流控制经历降低传输速率的往返时间延迟。禁止基于无限带宽信用的流控制由于忽略了信用计数而允许可以进行连续(back toback)分组传输。但是,由于接收机的缓冲器溢出分组可能被丢失,因此,使用分组丢弃检测机制,从而无限带宽接收机可以向无限带宽发送机发送用于临时降低无限带宽传输速率的请求。
文档编号H04L29/02GK101286942SQ20081010928
公开日2008年10月15日 申请日期2008年1月10日 优先权日2007年1月10日
发明者戴维·克拉多克, 托马斯·A·格雷格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1