主从分布式通信系统中本地同步的方法和设备的制作方法

文档序号:7890559阅读:260来源:国知局
专利名称:主从分布式通信系统中本地同步的方法和设备的制作方法
技术领域
本发明涉及电子通信网络中的分组处理技术,和用于分组处理的处理设备的设计结构。更具体地说,本发明涉及使并行工作的多个处理元件(或模块)同步,从而形成聚集流量(aggregate throughput)等于多个并行处理元件的组合聚集流量之和的单个处理设备的等同物的方法和装置。本发明的典型应用是用在分组交换系统中。
背景技术
在关于当前一代的交换机架构(switch fabric)设计提出的所有竞争要求中,端口数目的可缩放性和成本效应是应解决的两个基本问题。两种建立成本低廉并且可缩放的交换机架构的方式引人注目。第一种方式是广泛采用的单级交换机体系结构,这种单级交换机体系结构非常高效,但是由于其复杂性呈二次增长(由于端口数目的线性增长的结果),因此具有可缩放性限制。第二种方式是多级交换机体系结构,多级交换机体系结构借助更高的并行性,提供更高的流量,但是和单级交换机相比,通常更复杂,效率更低。
多级交换机体系结构也被称为多级互连网络(MIN),即,按照交换和链路资源可被多个连接共享的方式,通过链路多级或网状互连的“小型”单级交换模块的架构排列,这导致小于N2的复杂性增长,通常约为NlogN,这里N是交换机架构的端口的总数。虽然认识到为了获得很高的流量和支持大量的端口,需要MIN,但是在过去十年内,它们的普遍采用被反复推迟。其原因之一在于单级交换系统设计方面的连续不断的革新,以及基础技术方面的发展产生的新机会能够跟上同一时期内的市场需求增加。另外,在它们的可缩放性范围内,单级交换体系结构仍然非常有吸引力,因为它们提供成本最低廉,性能最高效的建立电子分组交换网络。
单级交换机体系结构可被分成两类集中式控制体系结构和分布式控制体系结构。后一类型由并行交换域组成,每个交换域具有独立的调度器(控制域)。其主要缺陷是它需要由负载均衡和重排序算法引起的一些复杂性开销,负载均衡和重排序算法处理分布在多个交换域内的分组。在文献中,这也被称为并行分组交换(PPS)。另一方面,具有集中式控制的交换机体系结构仅具有一个交换域,它通常由并行工作的数个交换片(switch slice)组成。并行操作多个交换片能够实现交换机端口速度的提高,从而允许建立具有更高速度的交换核心。这种方法用在许多单级交换机中,因为它允许通过把大量的外部链路多路复用到较高速度的单个链路上,建立处理大量外部链路的系统。对于指定的电路技术来说,存在对这种技术的适用性的限制,但是在其适用性范围内,它提供放大到较大规模交换机的成本最低廉的方法。使基于集中式控制方法的单级交换机设计非常流行的其它原因是其调度方案的特异性(singularity),和其实现任意排队结构的能力基于共享存储器的输出排队结构,基于纵横制(crossbar)的输入排队结构或者组合的输入-输出排队结构。
本发明涉及的问题适用于具有集中式控制的交换机体系结构。目的是提供一种改进它们的固有增长限制的手段。这是通过简化多个交换机元件的聚集(aggregation),并使它们按照所谓的“端口速度扩展”模式并行工作来实现的。这种改进还间接适用于MIN体系结构,因为MIN体系结构通常由单级交换模块组成。
在计算机社会中,为了获得更高的带宽,长期以来一直采用数据和流水线并行性。当应用于电子网络中的分组交换技术时,这转变成通过多个并行片交换的分组,有时被称为端口速度扩展。
在W.E.Denzel,A.P.J.Engbersen和I.Iliadis的论文“A flexibleshared-buffer switch for ATM at Gb/s rates”(发表在ComputerNetworks and ISDN Systems,Vol.27,No.4,1995年1月,pp.611-624)中可找到端口速度扩展的早期描述。在该论文中,端口速度扩展被用于通过堆叠多个从属芯片,并使它们由单个主芯片控制,按照模块化方式扩展端口速率。在欧洲专利申请EP0849917A2中也描述了应用于输出排队交换机体系结构的特定端口速度扩展实施例。
下面更详细地说明牵涉到本发明的问题。端口速度扩展的公知难点是由主模块和从属模块必须紧密同步而导致的其实现的复杂性。在高端口速率下,这导致复杂和/或昂贵的同步逻辑,它通常限制并行性的物理程度,从而限制可获得的最大流量。于是,需要使端口速度扩展方案的可缩放性与由同步问题引起的其实现复杂性分离开。
在按照端口速度扩展模式工作的交换机架构核心中,组件交换机被称为“主”交换机或“从”交换机。端口速度扩展交换机架构包含一个主和一个或多个从属组件。主组件和从属组件按照任意布局,例如链形、环形或树形连接。下面参考图1描述/回想端口速度扩展的一般概念,图1图解说明了与只使用一个从属的现有商业产品IBM PRS64G相关的例子。PRS64G是为64Gb/s的总聚集带宽实现32个输入和32个输出端口的分组路由交换机,每个端口以2Gb/s运行。按照端口速度扩展模式组合这些芯片中的两个芯片,能够以4Gb/s操纵物理端口,并建立具有两倍聚集带宽(128Gb/s)的交换机架构。当要交换的分组被入口架构接口接收时,它被分成几个部分,这里称为“逻辑单元”(LU)(或者后面也称为“片段”)。在该特殊例子中,LU的数目等于组件交换机的数目,但是这不是先决条件。随后,入口架构接口把每个分组的一个LU发送给主交换机,并把后续LU发送给从属交换机。第一个LU只包含部分初始分组有效负载,但是它具有完整的分组报头,所述分组报头包括处理信息。第二个LU(它被传送给从属交换机)只包含有效负载信息,并不包含路由信息。主交换机按照分组报头携带的路由和服务质量信息,处理其LU,随后通过向从属交换机发送恰当的(得到的)控制信息,把其调度决策通知从属交换机。对于主交换机收到的每个LU,得到的控制信息通过所谓的入口端口速度扩展总线,被发送给从属交换机。类似地,当主交换机调度要传送的分组时,通过出口端口速度扩展总线,类似的控制信息被发送给从属交换机。由于出口控制路径的传播延迟,主出口LU可比从属出口LU更早离开。在一些情况下,如果要求两个输出LU几乎同时到达出口架构接口,那么在主和从属之间需要额外的传输同步机构。根据上述说明,显然端口速度扩展架构需要传播延迟的控制和两个不同流,即从入口架构接口到架构核心和出口架构接口的数据流(图1中水平绘制),和从主到一个或多个从属的控制流(图1中垂直绘制)的精确匹配。在图1的分组持续时间例子(对于64字节分组,128纳秒)和交换机架构核心的紧密性(安装在单板上)的情况下,通过保证控制信息在128纳秒的一个分组周期内到达从属,可容易地实现这一点,对于现有技术中的单板设计来说,128纳秒是足够的。
同时,由于数据链路速率和系统规模的不断增加,速度扩展系统变得越来越难以建造。一方面,更快的数据链路速率已导致分组持续时间减小,但是在端口速度扩展实现中要求更高程度的并行性。另一方面,更大的系统规模已迫使设计人员把交换机架构分布到多个底板和机架上,从而增大了架构内数据流和/或控制流的链路距离。在所有这些更严格的系统要求和规模下,精确地控制和匹配物理分散的,并且同时对其来说分组持续时间已被减小的元件之间的传播延迟变得非常困难和/或昂贵。特别地,可能发生来自一个分组的多个LU不能同时或几乎同时到达主交换机和一个或多个从属交换机的情况。事实上,可能发生来自完全不同分组的LU同时或近乎同时到达主和/或从属交换机的情况。
设想如图2中所示的1个主和N-1个从属的链形布局例子,一种可能的解决方案是向每个从属提供测量系统初始化时,控制路径的等待时间,并向每个从属的数据路径中插入补偿和匹配控制路径的传播延迟的数字可编程延迟的装置。相对于主给所有从属的同步信号广播,完成控制路径等待时间的测量。一旦每个从属测量了控制路径的等待时间,就在每个从属中据此单独设置数据路径的数字可编程延迟,从而控制延迟和数据路径延迟以分组周期为基础匹配。虽然这种提议方向正确,但是它只解决了一半问题,因为它不能补偿端口速度扩展数据路径中的不同等待时间(参见图2中的数据路径扭斜)。事实上,只有当系统相当紧密地同步时,提议的方案才能工作,从而入口架构接口发送的所有LU在小于分组周期持续时间的扭斜窗口内到达架构核心。在约10Gb/s(OC192)的端口速率下,如果端口的数目允许以紧致的方式,比方说单个电子机架建造物理架构尺寸,那么这是可以实现的。对于更大规模和更高端口速率,例如40Gb/s(OC768)的系统来说,本地同步方法不仅应补偿控制路径的等待时间,而且还应补偿数据信息和控制信息的传播路径中的不同预测的扭斜,并且这适合于任何(任意)布局。另外,为了能够容易地缩放,该方法应能够放宽由端口速度扩展概念引起的同步约束。

发明内容
本发明的目的是提供一种在任意布局的分布式主-从通信系统的每个模块,实现数据和控制信息的本地同步的方法和设备。通过补偿数据和控制信息的传播路径中的不可预测的扭斜,实现同步。通过经通信系统发送同步分组,确定每次补偿的量值和符号。
另一目的是提供一种在分布式系统的每个同步点,本地独立测量数据路径和控制路径之间的传播延迟差的装置。通过使系统能够按照本地同步,但是全局异步的方式工作,这种本地测量允许解决集中控制的分布式通信系统固有的速度可缩放性限制。与一个主模块和多个从属模块的全局同步方案相对,这种方案的优点在于集中控制的系统可被缩放,从而在更高程度的并行性,任意数目的从属模块和任意布局的情况下工作。特别地,它允许建立在缓变相位的稍微不同的频率下(在大型分布式系统中,情况通常如此),操纵不同模块的近似同步系统(plesiochronous system)。
根据本发明,提供一种处理数据分组的通信系统,每个数据分组包括一个具有控制信息的报头和一个数据有效负载。所述系统包括接收数据分组的入口端口,在入口端口中,每个数据分组被细分成多个片段。系统还包括用于并行处理所述多个片段的一个主单元和一个或多个从属单元。主单元适合于通过数据路径从每个分组接收报头,一个或多个从属单元适合于通过数据路径接收数据片段。导出的控制信息可通过控制路径,从主单元传送给一个或多个从属单元。在该系统中,设置同步提供装置,用于在和标准数据分组(normal data packet)相同的路径上,在系统内从入口端口发送同样被细分成多个片段的同步分组,以及通过和标准导出控制信息相同的路径,使同步控制信息经过系统。每个所述一个或多个从属单元包括时移信息装置,也称为第一装置,用于当收到同步分组片段和它的对应同步控制信息时,获得代表数据路径和控制路径之间的传播延迟差的时移信息。每个所述一个或多个从属单元包括延迟装置,也称为第二装置,用于响应时移信息装置获得的时移信息,延迟数据片段或导出的控制信息。
根据本发明的第二方面,提供一种处理数据分组的通信设备,每个数据分组包括一个具有控制信息的报头和一个数据有效负载,包括接收数据分组的入口端口,在入口端口中,每个数据分组被细分成多个片段,包括具有用于并行处理所述多个片段的一个主单元和一个或多个从属单元的通信系统,主单元适合于通过数据路径从每个分组接收具有控制信息的报头,一个或多个从属单元适合于通过数据路径接收数据片段,其中导出的控制信息通过控制路径,从主单元传送给一个或多个从属单元,在所述设备中,设置同步提供装置,用于在和标准数据分组相同的路径上,从入口端口通过系统发送同样被细分成多个片段的同步分组,以及通过和标准导出控制信息相同的路径,使同步控制信息经过系统,每个从属单元包括当收到同步分组片段和它的对应同步控制信息时,获得代表数据路径和控制路径之间的传播延迟差的时移信息的第一装置,并且每个从属单元包括响应第一装置获得的时移信息,延迟数据片段或导出的控制信息的第二装置。
根据本发明的第三方面,提供一种用于处理数据分组的主从通信系统中的本地同步方法,所述数据分组均包括一个具有控制信息的报头和一个数据有效负载,并且每个数据分组可通过至少一个入口端口被接收,在所述系统中,在入口端口中,每个数据分组被细分成多个片段,以便并行处理所述多个片段;系统包括用于并行处理所述多个片段的一个主单元和一个或多个从属单元;其中主单元从每个分组接收具有控制信息的报头,一个或多个从属单元通过数据路径接收数据片段;其中导出的控制信息通过控制路径,从主单元传送给一个或多个从属单元;所述方法包括下述步骤,以便保证从属单元中,接收的数据片段和导出的控制信息之间的正确相关,而不管数据路径和控制路径中的传播延迟不同(a)在和标准数据分组相同的路径上,从入口端口通过系统发送同样被细分成多个片段的同步分组,并通过和标准导出控制信息相同的路径,使从同步分组的报头导出的同步控制信息经过系统;(b)当收到同步分组片段和它的对应同步控制信息时,在一个或多个从属单元中获得代表数据路径和控制路径之间的传播延迟差的时移信息;和(c)在一个或多个从属单元中,通过针对每个接收的分组片段,延迟分组片段本身或者导出的控制信息,来补偿由在步骤(b)中获得的时移信息表示的传播延迟差。
本发明的一个特殊优点在于其同步方案是本地自适应的,并且可使之稳健。自适应意味着在分布式系统的每个同步点,本地自动执行同步过程,并且在通信系统的任意两个模块之间不需要双向通信。通过在系统内多次(例如每隔一定的时间)发送同步分组,能够实现对数据路径和/或控制路径的不断变化的延迟的稳健性。
本发明的另一优点在于,由于主/从片段能够补偿分组片段之间的扭斜,因此不需要入口适配器源同时传送所有的分组片段。事实上,对于它来说,在被延迟控制路径上的在先主/从单元把控制信息转发给控制路径上的下一从属单元所需的时间,外加控制路径上的那些连续片段的数据路径扭斜之间的差值的时间,发送传送给主单元和从属单元的分组片段是有利的。这样做减少了为了补偿控制路径等待时间,在从属单元的数据路径上所需的缓冲量。对单级系统或者多级通信系统的第一级来说,该优点都成立。
放宽每一级的同步约束的优点为单级和多级系统中的主平面提供更大的设计自由,因为现在主平面在时间上与自适应的从属平面无关。多级系统中的本地同步的优点在于每一级不增加额外的等待时间,如果每一级被全局同步,则会增加额外的等待时间。由于多级通信系统物理上同样大于单级系统(在相同的技术中),因此对于多级通信系统来说,放宽的同步约束变得更为重要,因为更大的系统会跨越通过更长的链路连接的多个底板/架子/机框。随着不断增大的带宽/更快的分组传输时间,同步约束与分组长度的分离是一个重要的优点。


下面举例说明本发明,本发明不受附图中的形状限制,其中图1是实现分布式主-从通信系统和端口速度扩展的一般原理的现有电子交换系统的方框图。
图2是示意表示从输入源到分段通信系统的多个数据分组的传输的方框图,所述分段通信系统被(任意)组织成1个主和N-1个从属的链形布局。
图3是本发明可改进的分组通信系统(CS)和对应的分段分组通信系统的示意图。
图4是示意表示根据本发明,同步分组段的传输和从包含报头的同步分组段得到的控制信息的传输的方框图。
图5是本发明的一个优选实施例的方框图。
图6是示意表示在多级结构的情况下,多个数据分组从分段通信系统的输出端到出口适配器的传输(图6a),或者从分段通信系统的输出端到另一分段通信系统的传输(图6b)。
图7是图解说明同步程序的流程图。
具体实施例方式
现在参考附图,尤其参见图3,研究传送数据实体,下面称为分组的一般通信系统30。除规模或性能的某些严格要求之外,并行性有时是任何指定技术中的唯一可行解决方案。
借助系统的划分和分布,能够实现并行性。分布部分30-1~30-N的组合功能等同于初始系统30的功能。于是,通过在系统的不同部分中处理分组的不同部分,分组31也被分割(成多个片段),并通过通信系统被传送。在图3中的下部描述了系统和分组的分割。这种并行系统的一个典型例子是M=N,并且分组的每个片段由通信系统的对应部分处理的情况。
输入分组的分割假定由外部设备33(下面称为入口适配器)完成。类似地,输出分组片段的重新组装假定由外部设备34(下面称为出口适配器)完成。
分割并分布如同在引言中所述的通信系统的功能的方式有几种。牵涉到本发明的问题适用于集中控制的分布式通信系统,它有时被称为主-从类型系统。
可按照任意布局,例如链形,环形,树形或者这三种布局的任意组合,连接主-从类系统。现在参见图2,关于链形布局(它是许多种布局中的一种可能实施例),说明集中控制的分布式通信系统的入口行为。集中控制的分布式通信系统的关键属性是其内部链路能够以比输入外部线路速率低得多的速率工作。假定外部线路速率为R,通信系统可由并行工作的多个(比方说N个)模块组成,导致单个模块链路以速度R/N工作。
在通过均以速度R/N工作的N个不同链路或者连接20-1、20-1、…、20-N-1发送之前,输入分组被入口适配器分成N个相同的片段。包含分组报头(可能还包括有效负载)的第一片段被发送给主模块21,而只包含数据有效负载的其它N-1个片段被传送给第一、第二和第四从属模块22-1~22-N-1。可实现的并行性的最高程度由报头的大小指示,所述报头必须被整个放入单个片段中。于是N不能大于被除以报头大小的分组的大小。在最大扩展模式下,第一片段不能携带任何有效负载。
虽然所有片段由入口适配器同时发送,不过不同的片段将经历不同的传播时间τ0~τN-1,取决于布局及链路的长度和质量。于是,给定分组的N个片段23-0~23-N-1一般不会同时或者近乎同时地到达主和从属。最快的传播时间和最慢的传播时间之间的差异定义数据路径扭斜窗口,为了简便起见,假定数据路径扭斜窗口相对于一个分组周期时间被归一化。另外对于很高带宽和/或很大规模的通信系统来说,来自连续分组的多个分组片段显然可在每个单个链路或连接20-0~20-N-1上传递(in flight)。
当主模块21收到片段23-0时,它抽取报头信息,并根据报头携带的路由和服务质量(QoS)信息(处理信息)处理该片段。接下来或者可能同时,产生控制信息24-0(下面称为导出控制信息),并通过控制接口25-0,将其传送给从属模块22-1。导出控制信息24-0把主模块21做出的控制决策通知第一从属模块22-1,并且包含第一从属模块22-1处理其输入片段23-1所需的信息。于是类似于数据链路20-0~20-N-1,将存在通过接口250k(0≤k≤N-2)传递的导出控制信息的多个实体。
在图2设想的链形布局中,第一从属模块22-1接收的导出控制信息24-0还被转发给链形布局中的第二从属模块22-2或者下一从属模块,直到导出控制信息24-N-2到达最后的从属模块22-N-1为止。在树形布局中,可同时向所有从属模块广播导出控制信息24-0。
返回图2的布局例子,所有导出控制信息24-0~24-N-2也可经历不同的传播延迟δ0~δ-N-2。对于每个从属模块来说,为了使其片段23-i(0≤i≤N-1)与恰当的导出控制信息24-j(0≤j≤N-2)相关联,在每个从属模块22-1~22-N-1的数据流和控制流之间,同步是有益的。可通过在数据和/或控制路径中引入可编程延迟,从而可补偿数据和/或控制路径的传播延迟之间的差异,能够实现这种同步。实际上,由第一从属模块22-1引入的补偿对应于导出控制信息24-0的传播延迟δ0减去链路20-0和20-1之间的传播时间差(δ0-(τ0-τ1))。相对于主模块21发送的导出控制信息,第二从属模块22-2的补偿对应于((δ0+δ1)-(τ0-τ2)),而对于链形布局中的最后从属模块22-N-1来说,所述补偿是((δ0+δ1+…+δN-2)-(τ0-τN-1))。
为了在每个从属模块22-1~22-N-1的数据和/或控制路径中引入可编程延迟,测量传播延迟差,即,获得代表传播延迟差的时移信息,随后计算本地要求的补偿延迟。后者在下面更详细地说明。应注意到为了与上面描述的问题一致,该说明仍然保留在链形布局的上下文中。
现在参见图4,本发明的一个特征是把特殊的同步分组(下面称为sync分组)注入通信系统中,并本地测量(在每个从属模块内)控制流和数据流之间的传播延迟差。这是通过获得数据路径和控制路径的时间戳记来实现的,所述时间戳记代表数据路径和控制路径之间的时移。Sync分组可独立地与标准数据流(normal data stream)区分开,并在专用进程47的控制下,由入口适配器46注入。Sync分组还被分成同样可与标准数据分组的分组片段区分开的片段43-0~43-N-1。在图4中,这由阴影分组片段指示。
在标准数据分组之间,可每隔一定时间,定期在系统内传送同步分组。但是在一些情况下,当整个系统被初始化时,只发送一个sync分组,或者每当需要时,发送分组(每隔一定距离)就已足够。
当主模块41收到sync分组片段43-0时,它产生专用控制信息44-0(下面称为导出同步控制信息),类似于与数据分组相关的标准(非同步)导出控制信息的传输,主模块41通过控制接口45-0,把该导出同步控制信息传送给第一从属模块42-1。导出同步控制信息可与标准导出控制信息区分开,并且在图4中同样被加上阴影。
参见图5和图7,根据一个优选实施例,说明在每个从属模块内,数据和导出控制信息的匹配。
当一个从属模块通过其入口控制接口510,收到导出控制信息时,它做两件事。首先,它立即通过出口控制接口520,把导出控制信息转发给链形布局中的下一从属模块。其次,它用同步控制检测器534检查输入的控制信息。如果输入的导出控制信息和标准的数据分组相关,那么它被写入第一FiFo缓冲器530。如果输入的导出控制信息是sync类型的导出控制信息,那么它利用定序器550通过总线551提供的序列号,触发控制时间戳记寄存器533的负载。在该优选实施例中,假定导出同步控制信息还被写入第一FiFo缓冲器530中,不过这是可选的。
对通过输入数据接口570接收的输入分组片段应用相同类型的处理。同步分组检测器544从同步分组片段中挑选出标准数据片段。标准数据分组片段被写入第二FiFo缓冲器540中,而同步分组片段被用于用同样由定序器550提供的序列号,触发数据时间戳记寄存器543的负载。如果确定把导出同步控制信息写入第一FiFo缓冲器530中,那么同步分组片段同样被写入第二FiFo缓冲器540。
定序器550实质上是一个由从属模块的内部时钟连续递增的计数器。在复位逻辑部分590产生特定的复位命令之后,可强制定序器550重新从0开始计数。当检测器544和534检测到同步分组片段或其对应的导出同步控制信息的首次到达时,复位逻辑部分590产生复位命令。复位命令使定序器550重新从0开始计数。
在同步分组的传输之后,控制程序580(通常为所有主模块和从属模块所共有)被用于监视经由总线581的数据和控制时间戳记寄存器533和543的内容。该控制程序计算时间戳记寄存器的内容之间的差异,并通过相应总线582和583,据此初始化写指针值531和541。在该特定实施例中,假定FiFo 530和540被用作循环移位寄存器,但是本领域的技术人员显然易于提出实现可编程的数字延迟的其它方法。按照循环方式操作FiFo缓冲器530、540,这意味着一旦它们通过相应的总线582和583被启用,那么读指针和写指针都将同时开始增大(由内部时钟控制),并且写指针和读指针之间的距离将保持不变(在正常工作模式下,只要在图5中勾画的电路收到同步分组之后,本地未检测到数据和控制路径传播延迟的任何变化,那么这意味着输入数据、空分组和/或同步分组的连续流动)。
按照下述方式实现读指针和写指针的设置。读指针532和542总是被设置成0。写指针531和541的设置以从数据和控制时间戳记寄存器533和543取回的数字为基础。如果控制程序580确定在其配对的导出控制信息之前收到数据片段(即,{533}>{543}),那么通过用等于所需延迟的值初始化数据写指针541,把延迟添加到输入数据路径中。当控制路径不需要被延迟时,可用和读指针相同的值(即0)初始化控制写指针531。
在另一情况下,当控制程序确定控制路径快于数据路径时(即,{533}<{543}),通过用所需延迟初始化控制写指针531,并把数据写指针541设置成0,把延迟添加到控制路径中。所需的延迟等于时间戳记寄存器533和543的内容之间的差值(的绝对值)。
在正常工作模式下,数据和控制时间戳记寄存器533和543的内容还可由控制程序580或者在从属模拟内实现的任意其它硬件装置监视,从而检查和核实这两个寄存器值之间的距离保持相同,从而检查和核实系统保持同步。当同步分组片段和导出同步控制信息都开始被写入FiFo缓冲器540和530时,在输入端口控制器560内能够暗中实现检查系统保持同步的另一种方式。如果情况是这样,那么从第二FiFo缓冲器540读出的任意同步分组片段应总是与从第一FiFo缓冲器530读出的另一导出同步控制信息匹配,或者系统不再同步。
要注意的是优选实施例能够延迟数据流和控制流,即使在实际的应用中,预计控制路径将是最慢的路径。如果通过设计,数据路径扭斜窗口Dskw(定义为与给定分组相关的任意分组片段之间的数据扭斜的最大值)总是小于两个连续从属模块之间的任意控制路径的等待时间Dskw<δ0,Dskw<δ1,…和Dskw<δN-2,那么不再需要补偿控制流的延迟的机构和逻辑。
如前所述,可每隔一定的间隔定期发送同步分组(情况通常如此),或者可以只在开始发送一个同步分组,或者应请求发送同步分组。
再次参见图2,同步分组的传输之间的间隔由入口适配器确定为至少与控制传输路径中可能的最长等待时间,外加数据路径扭斜窗口的最大可能尺寸一样长((maxδ0+maxδ1+…+maxδN-2)+Dskw)用于计算两个sync分组的传输之间的最小可能间隔的所有数字易于取回,因为它们对应于设计指定的绝对最大值。另一方面,关于两个同步分组的传输之间的最大可能间隔的唯一限制由可由定序器550寻址的最大序列范围和FiFo缓冲器530、540的长度给出。
另外显然上面的要求涉及图5的具体实施例,本领域的技术人员能够容易地设想把另一传输规则用于sync分组的另一实施例。
再次参见图4,把sync分组片段43-i(0≤i≤N-1)和导出同步控制信息44-j(0≤j≤N-2)与标准数据分组片段和标准导出控制信息区分开的方法有几种。预想的优选实施例是对分组编码,并通过使用特殊编码(例如8b/10b光纤信道/以太网/Infiniband代码的K-字符)专门区分同步分组片段和导出同步控制信息。然而,也可使用明确地把同步分组和导出同步控制信息与其它分组区分开的任意其它方法。
参见图6,关于两种不同的情况,说明集中控制的分布式通信系统的出口部分。图6a表示通信系统600是单级系统,或者是一组类似的通信系统的最后一级的情况,图6b表示通信系统600只是具有多级的结构的一级,并且另一系统660b跟随其后,作为该结构的下一级的情况。类似于通信系统600的入口端,离开系统的分组也被分成N个相同的片段,并通过分别以速率R/N工作的N个不同链路或连接640-0,640-1,…640-N-1发送。包含分组报头(可能还包括有效负载)的第一片段由主模块601传送,而其它N-1个只包含数据有效负载的片段由从属模块602-1~602-N-1传送。通信系统600的出口部分或者与把输出的数据片段重新组装成单个分组的出口适配器660a连接(图6a),或者在多级互连结构的情况下,与另一通信系统660b的入口部分连接(图6b)。
由于不同的输出数据片段也将在链路640-0~640-N-1上(以及图6b中下一级的控制路径663-0~663-N-1上)经历不同的传播时间,在通信系统600的出口端和与之连接的下一块之间,即,出口适配器660a和下一级的通信系统660b之间,同样使用和通信系统的入口端类似的同步过程。这意味着通信系统600产生并通过链路640-0~640-N-1注入一起代表一个同步分组的特殊同步分组片段650-0,650-1,…650-N-1,以便下一级能够本地测量传播延迟差,并据此调整传播延迟差。
如果下一级也是主从类型的通信系统(图6b),那么通信系统600的出口端产生的同步分组片段650-0~650-N-1被下一级660b的入口端用于实现数据和导出控制信息的本地同步,如前所述。如果下一级是出口适配器(图6a),那么通信系统600的出口端产生的同步分组片段650-0~650-N-1被用于测量多个分组片段之间的相对到达时间,以便把它们重新组合成能够被进一步处理和/或转发的单个分组。在这两种情况下(图6a和图6b),通信系统600的出口端起与之连接的下一级的入口适配器的作用。
定义出口同步分组片段650-0~650-N-1的注入时间的方法有几种。优选的方法是从输入的同步分组片段610-1~610-N-1得到注入时间,而另一方法是直接从特定的出口进程604得到注入时间。
第一种选择最可能由无缓冲系统使用,在该系统中,输入分组被立即转发给输出端口,而不被保存。在这种特殊情况下,每当在输入端口控制器560(图5)中出现同步分组片段和导出控制同步信息匹配时,就会产生出口同步分组片段。
另一方面,如果通信系统600是缓冲系统,那么入口同步进程和出口同步进程很可能相互分开。在该特定情况下,如果通信系统实现特定的出口同步进程604,那么同步分组片段可由通信系统本身产生。当该进程触发一个同步分组的注入时,一个同步分组片段650-0由主模块601产生,并通过链路640-0传送。同时,称为导出出口同步控制信息的导出同步控制信息也通过控制接口603-0~603-N-2被传送给所有从属模块602-1~602-N-1。在每个从属模块602内,随后本地使用导出的出口同步控制信息,重新产生将要通过链路640-0~640-N-1传送的出口同步分组片段。要求使入口和出口分离的另一种情况是当出口控制路径上的延迟不同于入口控制路径上的延迟时。
要注意图2、4和6表示了从主模块到从属模块的单个控制路径。这并不排斥具有多个不同控制路径的可能性。图1中描述了一个典型例子,其中入口控制路径和出口控制路径是分离的。
任意公开的实施例可与表示和/或描述的一个或多个其它实施例组合。这也适用于实施例的一个或多个特征。
权利要求
1.一种处理数据分组的通信系统,每个数据分组包括一个具有控制信息的报头和一个数据有效负载,所述系统包括接收所述数据分组的入口端口,在所述入口端口中,每个数据分组被细分成多个片段;用于并行处理所述多个片段的一个主单元和一个或多个从属单元,所述主单元适合于通过数据路径从每个分组接收报头,所述一个或多个从属单元适合于通过数据路径接收数据片段,导出的控制信息可通过控制路径从主单元传送给一个或多个从属单元;在所述系统中,(a)设置同步提供装置(46、47、510、520、570),用于在和标准数据分组相同的路径上,从入口端口通过系统发送同样被细分成多个片段的同步分组,以及通过和标准导出控制信息相同的路径,使同步控制信息经过系统;(b)每个所述一个或多个从属单元包括时移信息装置(533、534、543、544),用于当收到同步分组片段和它的对应同步控制信息时,获得代表数据路径和控制路径之间的传播延迟差的时移信息;和(c)每个所述一个或多个从属单元包括延迟装置(530、531、532、540、541、542、581、582、583),用于响应所述时移信息装置(533、534、543、544)获得的所述时移信息,延迟数据片段或导出的控制信息。
2.一种处理数据分组的通信设备,每个数据分组包括一个具有控制信息的报头和一个数据有效负载,包括接收所述数据分组的入口端口,在所述入口端口中,每个数据分组被细分成多个片段;包括具有用于并行处理所述多个片段的一个主单元和一个或多个从属单元的通信系统,所述主单元适合于通过数据路径从每个分组接收具有控制信息的报头,所述一个或多个从属单元适合于通过数据路径接收数据片段;其中导出的控制信息通过控制路径从主单元传送给一个或多个从属单元;在所述设备中,(a)提供了装置(46、47、510、520、570),用于在和标准数据分组相同的路径上,从入口端口通过系统发送同样被细分成多个片段的同步分组,以及通过和标准导出控制信息相同的路径,使同步控制信息经过系统;(b)每个从属单元包括当收到同步分组片段和它的对应同步控制信息时,获得代表数据路径和控制路径之间的传播延迟差的时移信息的第一装置(533、534、543、544);和(c)每个从属单元包括响应所述第一装置(533、534、543、544)获得的所述时移信息,延迟数据片段或导出的控制信息的第二装置(530、531、532、540、541、542、581、582、583)。
3.按照权利要求2所述的通信设备,其特征在于与获得所述时移信息的所述第一装置相关地,每个所述一个或多个从属单元包括呈计数器形式的定序器(550),定序器(550)的内容响应相应从属单元的本地时钟脉冲而增大。
4.按照权利要求3所述的通信设备,其特征在于在获得所述时移信息的所述第一装置中,每个所述一个或多个从属单元包括,(a)控制时间戳记寄存器(533),用于在通过控制路径收到从同步分组导出的同步控制信息时保存定序器(550)的内容;和(b)数据时间戳记寄存器(543),用于在通过数据路径收到同步分组片段时保存所述定序器的内容。
5.按照权利要求4所述的通信设备,其特征在于提供内部或外部控制装置(580),用于评估一个或多个从属单元之一中的时间戳记寄存器的内容,并确定代表时移的差值,并且在所述第二装置中,每个所述一个或多个从属单元包括(a)独立延迟装置(540;530),用于延迟分组数据片段以及延迟导出的控制信息,和(b)激活装置(541,542;531,532),用于响应所述控制装置(580),在这些延迟装置(540,530)任意之一中有选择地激活延迟。
6.按照权利要求5所述的通信设备,其特征在于在每个从属单元中(a)每个延迟装置包括由写指针和读指针控制的循环移位寄存器(540,530),(b)每个激活装置包括写指针寄存器(541,531)和读指针寄存器(542,532),以及设置装置(583,582),所述设置装置(583,582)用于把写指针寄存器(541,531)之一的内容设置成代表所述两个时间戳记寄存器的内容之间的差值的延迟值,并把相应的另一写指针寄存器和两个读指针寄存器(542,532)的内容设置成0。
7.按照权利要求3所述的通信设备,其特征在于每个所述一个或多个从属单元包括响应同步分组片段或对应的导出同步控制信息的接收,不论这两者中的哪个首先到达,重置所述定序器(550)的装置(590)。
8.按照权利要求2所述的通信设备,还包括重新组装所述片段以形成数据分组的至少一个出口端口(660a),其特征在于提供一方面补偿通信系统的主单元及从属单元之间的路径上的传播延迟差,以及另一方面补偿出口端口的路径上的传播延迟差的辅助装置。
9.按照权利要求2所述的通信设备,包括至少两个分布式通信系统(600,660b),其特征在于提供补偿一个分布式通信系统(600)的模块的出口线路(640-i)和随后的分布式通信系统(660b)的模块的入口线路之间的数据路径,和控制路径(663-i)上的传播延迟差的辅助装置。
10.一种用于处理数据分组的主从通信系统中的本地同步方法,每个所述数据分组均包括一个具有控制信息的报头和一个数据有效负载,并且每个数据分组可通过至少一个入口端口被接收,在所述系统中,每个数据分组在所述入口端口中被细分成多个片段,以便并行处理所述多个片段;所述系统包括用于并行处理所述多个片段的一个主单元和一个或多个从属单元;其中主单元从每个分组接收具有控制信息的报头,一个或多个从属单元通过数据路径接收数据片段;其中导出的控制信息通过控制路径从主单元传送给一个或多个从属单元;所述方法包括下述步骤(a)在和标准数据分组相同的路径上,从所述入口端口通过系统发送同样被细分成多个片段的同步分组,并通过和标准导出控制信息相同的路径,使从同步分组的报头导出的同步控制信息经过系统;(b)当收到同步分组片段和它的对应同步控制信息时,在一个或多个从属单元中获得代表数据路径和控制路径之间的传播延迟差的时移信息;和(c)在一个或多个从属单元中,通过针对每个接收的分组片段,延迟分组片段本身或者导出的控制信息,补偿由在步骤(b)中获得的时移信息表示的所述传播延迟差。
11.按照权利要求10所述的方法,其中在标准数据分组之间,每隔一定时间,从入口端口同系统传送同步分组。
全文摘要
为了交换或传送数据分组,可提供一种通信系统,所述通信系统由并行作用于一个分组的多个片段,以便提高速度和处理容量的数个模块组成。一个模块充当主模块(21),其它模块是受由主模块导出的控制信号(25)控制的从属模块(22)。重要的是在每个模块中,数据片段和每个分组的相应控制信号被正确同步,因为在大型系统中,传送分组片段的数据路径和控制信号路径可能具有明显不同的延迟。本发明测量传播延迟差,并在每个从属模块中引入受控延迟,从而通过延迟数据片段或控制信号,能够正确地使数据片段和控制信号相关。除了标准数据分组之外,还传送同步分组,以便获得用于确定延迟差的时间戳记。
文档编号H04Q11/04GK1643854SQ03806594
公开日2005年7月20日 申请日期2003年3月31日 优先权日2002年4月30日
发明者弗兰科欧斯·G·阿贝尔, 阿兰·班那, 阿兰·布兰克, 迈克尔·克尔芒, 米奇·格萨特, 迈克尔·波雷, 诺博特·舒马切尔, 马克·韦尔哈潘 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1