CN102449965A - 中继器 - Google Patents

中继器 Download PDF

Info

Publication number
CN102449965A
CN102449965A CN2011800022471A CN201180002247A CN102449965A CN 102449965 A CN102449965 A CN 102449965A CN 2011800022471 A CN2011800022471 A CN 2011800022471A CN 201180002247 A CN201180002247 A CN 201180002247A CN 102449965 A CN102449965 A CN 102449965A
Authority
CN
China
Prior art keywords
repeater
professional
crowding
bus
congestion information
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN2011800022471A
Other languages
English (en)
Other versions
CN102449965B (zh
Inventor
吉田笃
山口孝雄
石井友规
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102449965A publication Critical patent/CN102449965A/zh
Application granted granted Critical
Publication of CN102449965B publication Critical patent/CN102449965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供一种中继器,控制业务流量,使得抑制集成电路整体的延迟时间及抖动的增加、吞吐量的降低等。中继器包括:切换接收业务数据的输入以及发送业务数据的输出的组合的开关;取得表示来自共同处理多个业务的相邻的中继器的各业务的拥挤程度的拥挤信息、和本中继器中的所述各业务的拥挤信息的拥挤信息处理部;根据从相邻的中继器取得的拥挤信息以及本中继器中的拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的拥挤信息比较部;根据拥挤度向各业务分配总线的传输频带的发送调度调整部;和根据总线的传输频带的分配结果,切换开关的开关分配部。

Description

中继器
技术领域
本发明涉及在具备分散型总线的半导体集成电路中调整在连接在总线间的多个中继器间流动的多个业务(traffic)的发送调度的技术。
背景技术
图1(a)示出集中型的总线控制的示例。在进行集中型的总线控制的现有集成电路中,主要通过一个总线连接在多个总线主控器(bus master)和存储器之间,通过仲裁器(arbiter)来调停从各总线主控器对存储器的访问。但是,由于集成电路的高功能化、多芯化,电路规模增大,业务也一边复杂地变动一边流过总线,基于集中型总线控制的集成电路的设计变得越来越困难。
另一方面,近年来,加入了具有并行计算机的连接技术、网络控制技术的分散型的总线的半导体集成电路的开发得到发展。图1(b)示出了分散型的总线控制的示例。具有分散型的总线的半导体集成电路构成为用多个总线连接多个中继器。近年来,通过采用图1(b)所示那样的分散型的总线,存在将大规模化的集成电路内的业务分散在多个总线进行传输的片上网络(Network on Chip)的架构。
但是,对于分散型的总线,在由中继器隔开的总线主控器间,不利用相互的发送调度进行调停。因此,在中继器中,由于业务合流的数量、业务的吞吐量的变化而产生干扰,引起延迟时间以及抖动(jitter)的增加、吞吐量的降低等,传输质量降低。
作为避免流过分散型总线的业务的传输质量的降低的技术,现在已知如下技术:在中继器中,通过调整每业务的发送调度,来抑制在中继器中的业务间的干扰(例如,参照专利文献1)。
图2示出专利文献1中所记载的现有的控制发送调度的中继器的构成、以及业务A~C的发送路径。业务A从总线主控器A经由中继器E以及中继器F而向存储器D发送。业务B从总线主控器B经由中继器E以及中继器F向存储器D发送。业务C从总线主控器C经由中继器F向存储器D发送。
图2所示的中继器具有多个发送缓冲器。此外,在从总线主控器A~C发送的数据包(packet)中附加有用于确定该数据包是哪个业务的数据包的信息。
各中继器在接收到数据包时,按照每个业务进行区别从而将各数据包存储到不同的缓冲器。而且,在向下一中继器发送数据包时,按照各业务的传输质量(延迟时间、吞吐量)变得公平的方式,发送各缓冲器内的数据包。该处理被称为“调度调整处理”。
在图2的示例中,在业务A和业务B合流的中继器E中,在向中继器2中继各个业务时,按照各50%公平地分配频带的方式调整发送调度。进而,在业务A、业务B、业务C合流的中继器F中,同样地按照对各业务公平地分配各33%的频带的方式,调整发送调度。
据此,对从3个总线主控器向存储器D的各业务公平地分配传输频带,所以能够抑制由业务间的干扰引起的传输性能的降低。
现有技术文献
专利文献
专利文献1:JP特开2008-541647号公报
发明要解决的问题
在现有的中继器中,按每个中继器,仅根据通过本身的业务的状态来调整发送调度,并且按照使得传输性能局部地变得公平的方式进行控制。换言之,各中继器独立地利己地调整发送调度。由此,根据优先级被设定地较高的业务等流过电路的业务的条件,由各中继器进行的发送调度的调整而产生业务间的竞争,反而使电路整体的传输性能(延迟时间、吞吐量)降低。
以下,对该课题进行具体说明。
图3示出在业务间发生了竞争时的业务A~C。
在图3中,总线主控器A将业务A经由中继器E和中继器F向存储器G发送,总线主控器B将业务B经由中继器E和中继器F向存储器D发送,总线主控器C将业务C经由中继器F向存储器D发送。
而且,在图3中,假设业务C在紧急时发送、被设定了相对高的优先级。对这种业务C,中继器F优先分配向存储器D的总线的全部传输频带(100%)。该结果,成为对业务B没有分配向存储器D的总线的频带。
若如以往那样,各中继器仅根据通过本身的业务的状态来进行中继器E和中继器F中的发送调度的调整,则尽管业务B的发送目的地的中继器F没有对业务B分配总线的频带,中继器E也对业务A和业务B公平地各分配50%的传输频带。这对于电路整体来说,中继器E执行的发送调度控制反而会使从中继器E向中继器F的总线的利用效率降低。
发明内容
本发明为了解决上述课题而开发,其目的在于控制中继器中的业务流量,以抑制电路整体的延迟时间或抖动的增加、吞吐量的降低等。
用于解决问题的手段
本发明的中继器,在具备分散型总线的集成电路中连接多个总线,所述中继器包括:开关,其切换接收业务数据的输入以及发送所述业务数据的输出的组合;拥挤信息处理部,其取得表示来自共同处理多个业务的相邻的中继器的各业务的拥挤程度的拥挤信息、和本中继器中的所述各业务的拥挤信息;拥挤信息比较部,其根据从所述相邻的中继器取得的所述拥挤信息以及本中继器中的所述拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息;发送调度调整部,其根据所述拥挤度,按所述各业务分配总线的传输频带从而调整发送调度;和开关分配部,其根据所述总线的传输频带的分配结果,切换所述开关。
所述拥挤信息表示在本中继器中各业务的业务数据通过本中继器所需要的延迟时间,所述拥挤信息比较部可以根据从所述相邻的中继器取得的各业务的延迟时间以及本中继器中的各业务的延迟时间,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息。
所述拥挤度是表示在传输路径上的各业务的流动难度的数值,业务越容易流动给予越小的数值,越难以流动给予越大的数值,所述发送调度调整部可以对所述拥挤度相对较小的业务优先地分配所述总线的传输频带。
所述发送调度调整部可以对所述拥挤度相对较小的业务相对较宽地确保所述总线的传输频带,使所述总线的传输频带能够先被利用,或者通过相对较长地确保所述总线的传输频带的可利用时间,从而优先地分配所述总线的传输频带。
各业务的业务数据被分割为包并在所述总线上传输,所述中继器可以还包括:包废弃部,其从输入缓冲器废弃所述拥挤度比预先确定的阈值大的业务的包;和重传请求部,其向作为发送源的缓冲器请求重传被废弃的包。
各业务的业务数据被分割为包并在所述总线上传输,所述中继器可以还包括:多个输出缓冲器,其分别连接于向不同的总线发送数据的多个输出;和路由再利用通知部,其对所述拥挤度比预先确定的阈值大的业务的连续的包,分配相同的输出缓冲器,而且对业务被发送到的下一中继器通知路由的设定的再利用。
所述总线的动作时钟能够变更,所述中继器可以还包括:动作时钟控制部,所述动作时钟控制部在所述拥挤度比预先确定的阈值大的业务被发送时,使连接了所述输出的总线的动作时钟提高。
所述中继器可以还包括:协调控制停止部,在本中继器中发生了比预先确定的阈值大的延迟时,所述协调控制停止部仅根据本中继器中的所述业务数据通过本中继器所需要的延迟时间,来决定所述拥挤度。
本发明的其他中继器,在具备分散型总线的集成电路中连接多个总线,所述中继器包括:开关,其切换接收业务数据的输入缓冲器以及发送所述业务数据的输出缓冲器的组合;拥挤信息处理部,其取得表示来自共同处理多个业务的相邻的中继器的各业务的拥挤程度的拥挤信息、和本中继器中的所述各业务的拥挤信息;拥挤信息比较部,其根据从所述相邻的中继器取得的所述拥挤信息以及本中继器中的所述拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息;发送调度调整部,其将各业务的拥挤度作为存储各业务的业务数据的输入缓冲器的拥挤度,根据所述输入缓冲器的拥挤度,决定存储所述业务数据的输出缓冲器的权重的值,根据所决定的权重的值向所述各业务分配总线的传输频带从而调整发送调度;和开关分配部,其根据所述总线的传输频带的分配结果,切换所述开关。
所述发送调度调整部可以对接收了发送请求的输入缓冲器,按与给予各输出缓冲器的权重的值对应的概率连接开关。
所述发送调度调整部可以将所述传输频带在时间上分割为多个时隙,向各个输出缓冲器分配由所述权重的值所指定的数量的时隙。
所述发送调度调整部可以利用由所述权重的值所预先指定的比例,概率性地选择所述输出缓冲器。
(发明效果)
根据本发明的中继器,根据从相邻的中继器取得的拥挤信息以及本中继器中的拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息。而且,根据该拥挤度,对各业务分配总线的传输频带从而调整发送调度。据此,能够抑制各业务的由于在传输路径上的业务间的干扰引起的传输质量(延迟时间、吞吐量等)的降低。能够通过提高分散总线整体的利用效率,从而实现集成电路整体的传输性能的提高(低延迟、高吞吐量)。
附图说明
图1的(a)是表示集中型的总线控制的示例的图,(b)是表示分散型的总线控制的示例的图。
图2是表示专利文献1中记载的现有的控制发送调度的中继器的构成、以及业务A~C的发送路径的图。
图3是表示在业务间发生了竞争时的业务A~C的图。
图4是表示本发明的中继器的动作概要的图。
图5是表示实施方式1中的分散型的总线的构成图。
图6是表示包60的传输格式的一例、和将包60分割为多个微片(flit)的示例的图。
图7是表示实施方式1中的中继器700的构成图。
图8是说明实施方式1中的中继器700的动作流程的流程图。
图9是说明按每个传输路径将各业务的包数据的流动难度作为拥挤信息而能够定量地进行测量的对象的图。
图10是说明通过比较中继器本身700和相邻的中继器711的拥挤状态,在本中继器700中计算业务A和业务B的拥挤度的方法的图。
图11是说明基于发送调度调整部709和缓冲器分配部705的输出缓冲器703的分配方法的图。
图12是说明基于开关分配部706的分配了输出缓冲器的业务间的发送调度的方法的图。
图13是说明通过加权轮询算法,切换开关时的权重的分配方法的图。
图14是表示图5的多级连接网中的业务A~C的各传输路径的图。
图15是表示同时流动业务A和业务B时的在业务A的传输路径上的各中继器的延迟时间的示例的图。
图16是表示同时流动业务A、业务B和业务C时的各中继器内的业务的延迟时间的示例的图。
图17是表示作为拥挤度的定义,作为本中继器和相邻中继器的拥挤信息的比率的替代使用了差分的示例的图。
图18是说明在中继器R6中根据在处于业务流的上游侧的中继器R0的延迟时间、和在中继器R2的延迟时间,对业务A以及业务C分配到中继器R10的总线的传输频带的图。
图19是表示将中继器排列为格子状的各种拓扑的图。
图20是实施方式2中的中继器800的构成图的构成图。
图21是表示在实施方式2中从总线主控器发送的包及其微片群、以及记载在头微片中的信息的图。
图22是说明实施方式2中的中继器800的动作的图。
图23是实施方式3中的中继器810的构成图。
图24是说明实施方式3中的中继器810的动作的图。
图25是实施方式4中的中继器820的构成图。
图26是说明实施方式4中的中继器820的动作的图。
图27是表示实施方式5中的中继器830的构成的图。
图28是说明实施方式5中的中继器830的动作的图。
图29是说明包交换方式和线路交换方式的不同的图。
图30是表示实施方式6中的线路交换方式的中继器840的构成的图。
具体实施方式
在说明本发明的各实施方式之前,首先说明本发明的中继器的动作原理。
图4示出本发明的中继器的动作概要。
在图4中,与图3同样地,假设总线主控器A经由中继器E以及中继器F向存储器G发送业务A,总线主控器B经由中继器E以及中继器F向存储器D发送业务B,总线主控器C经由中继器F向存储器D发送业务。
本发明的中继器E将业务A以及业务B发送给中继器F。在决定业务A以及业务B的传输频带时,中继器E向相邻的中继器F发出请求,向中继器F通知定量地表示中继器F中的业务A以及业务B的数据包的流动难度(流れにくさ)的值。在以下说明的实施方式中,将该值称为“拥挤信息”。在本说明书中,将各业务的数据包分别通过各中继器所需要的时间(以下称为各业务的“延迟时间”)用作拥挤信息。
从中继器F接收到拥挤信息的中继器E针对各业务,比较本中继器E中的延迟时间、和相邻的中继器F中的延迟时间。然后中继器E按每个业务算出定量地表示在路径上的数据包的流动难度的信息。在本说明书中,也将该信息称为“拥挤度”。在求出每个业务的拥挤度时,中继器E调整各业务的发送调度,使得根据该值的大小来分配向中继器F的总线的传输频带。
在图4中假设从总线主控器C向存储器D发送紧急时用的优先业务C的状况。此时,在中继器F中从中继器F向存储器D的总线的传输频带临时被业务C占有。因为由于紧急时的优先业务C的发生,业务B的数据包不能向存储器D发送,所以在中继器F内的业务B的延迟时间变长。
中继器F将业务A以及业务B的各延迟时间作为本身的拥挤信息通知给中继器E。中继器E比较从中继器F通知的延迟时间以及在本中继器的延迟时间。其结果,中继器E能够确定在中继器F中业务B的数据包变得比业务A难以流动。因此中继器E调整发送调度,使得对于业务A将到达中继器F的总线的传输频带优先地分配为从50%到100%。另一方面,调整发送调度,使得对于业务B将总线的传输频带削减为从50%到0%。
另外,在本申请说明书中,所谓“优先地分配”总线的传输频带,不局限于表示如上述那样地相对较宽地确保传输频带。此外,也可以表示按照该业务能够先利用总线的传输频带的方式进行释放从而相对地先传输该业务,还可以表示相对较长地确保该传输频带的可利用时间(容许时间)。
在本发明中,优先传输优先级高的业务,同时研究如何进行优先级低的业务、或者没有设定优先级的业务彼此的流控制的问题。
以下,参照附图来说明本发明的中继器的实施方式。
(实施方式1)
图5是本实施方式中的分散型的总线的构成图。
在本实施方式中,以用总线多级连接多个总线控制器(BM)和存储器、以及多个中继器的结构(多级连接网:MIN(Multistage InterconnectionNetwork))为例进行说明。
在图5中示出,用总线连接8个总线主控器(BM0~BM7)、12个中继器(R0~R11)、和8个存储器(存储器0~7)的电路的方式。将12个中继器每4个一组分为3组。3个组是连接于8个总线主控器的组(R0、R1、R2、R3)、连接于8个存储器的组(R8、R9、R10、R11)、以及将连接于总线主控器或者存储器的中继器连接起来的组(R4、R5、R6、R7)。
构成多级连接网的各中继器具备2输入2输出的交叉(crossbar)开关。如图5(b)所示,通过切换开关来改变输入和输出的组合,从而能够将业务流切换到2种传输路径进行发送。另外,若输出目的地的传输路径不同,则中继器可以同时将2个业务输出到各传输路径。
在多级连接网中,通过切换各中继器的开关,必定能够在全总线主控器和全存储器之间构建一个以上的传输路径。
一般,为了通过交叉开关连接全部N个总线主控器和M个存储器,开关需要N×M个。而且,伴随总线主控器或存储器的数量增加,开关的数量急剧增加。相对于此,对于多级连接网(MIN)存在如下特征:通过分级地连接输入输出数量少的交叉开关,能够用较少的开关切换总线主控器和存储器间的连接。
另外,在本实施方式中以多级连接网为例进行说明,但是这仅是一例。即使集成电路的结构是其他拓扑也可以应用本发明。此外,在本实施方式中,说明从总线主控器向存储器的数据转送通过包交换方式经由多个中继器来进行的情况。
如图5(a)所示,包被分割为被称为微片(flit)的大小,发送到相邻的中继器。
图6示出包60的传输格式的一例、和将包60分割为多个微片的示例。
包60包括头字段(field)61、数据字段62以及控制码字段63。
在头字段61中,例如记述发送目的地的地址、发送源的地址、表示业务的优先级的信息。优先级的记述方法是任意的,可以用多值来表现。在用多值进行记述的情况下,对需要较高响应性的用户接口的处理,可以分配较高的数值将优先级设定得较高。另一方面,对于在后台处理能够应对的影像的译码(transcode)处理,可以分配较低的数值将优先级设定得较低。在这些信息之后,记述要传输的数据。
在数据字段62中,例如记述影像数据、声音数据。在控制码字段63中,例如记述预先决定的包60的结束码。
根据上述头字段61的数据中的发送目的地的地址和发送源的地址,进行包60的中继处理、和在接收侧的接收处理。
发送侧的总线主控器将包60分解为被称作微片的较小的包单位之后传输。1微片是使用总线由1周期(cycle)能够传输的数据,其大小由总线宽度的大小来决定。对包60进行了分割的微片中的最初发送的微片被称作头微片(header flit)。在头微片中附加表示是包的开头的标记信息、以及包的发送目的地的地址信息。
另外,在继头微片之后的各微片中没有存储用于确定发送目的地的地址信息。该理由是继头微片之后的微片被发送到与头微片相同的目的地。通过头微片决定目的地,决定输出该业务的微片的输出缓冲器后,利用与头微片相同的输出缓冲器,将后续的微片传输到头微片所示的目的地。
接收侧的存储器在检测出控制码字段63中记述的结束码时,根据该结束码,将被传输的微片重构为包。
例如,1包的大小是128字节(byte),1微片的大小是32比特(bit)或者64比特。但是,1包的大小以及1微片的大小可以根据应用不同而不同,所以应注意上述的大小只不过是一例。微片的长度,可以将能够记述发送目的地的地址和发送源的地址等控制数据的长度作为基准。
在各中继器中,准备了用于蓄积被发送来的微片的缓冲器。微片被暂时蓄积在该缓冲器中之后,通过开关的切换,被发送到连接目的路径的中继器、或目的地的存储器。
图7是本实施方式中的中继器700的构成图。
图7的中继器700通过总线与相邻的中继器群710、711连接,为了将从相邻的中继器群710发送的微片中继到连接正确的目的地的相邻中继器711群,而切换开关,控制微片的发送调度。
中继器700具有输入缓冲器701、开关702、输出缓冲器703、路由处理部704、缓冲器分配部705、开关分配部706、拥挤信息处理部707、拥挤信息比较部708和发送调度调整部709。
下面,对各构成要素的功能进行说明。
输入缓冲器701是对从相邻的中继器(或者总线主控器)发送来的微片进行蓄积的临时缓冲器。构成输入缓冲器701的临时缓冲器,可以按每个中继器700的输入而设置一个,或者按照区别目的地不同的包分别进行蓄积、并能够分别进行发送调度控制的方式,可以按每个输入设置多个临时缓冲器。在本实施方式中,如图7所示,对每个输入各具备2个输入缓冲器。
开关702是用于切换中继器700的输入与输出的连接组合的交叉开关。
输出缓冲器703是向相邻的中继器711发送微片时利用的临时缓冲器。输出缓冲器703设置了与相邻的中继器711的输入缓冲器相同的数量。在中继器700的各输出缓冲器与中继器711的各输入缓冲器之间,规定了1对1的对应关系。从中继器700的输出缓冲器发送的微片,被蓄积在与该输出缓冲器703对应的相邻的中继器711的输入缓冲器中。因此,中继器700通过选择用于发送微片的输出缓冲器,能够指定相邻的中继器711的输入缓冲器。
路由处理部704,在输入缓冲器701中发送来新的头微片时,接收该头微片,并根据头微片中所记述的目的地信息,确定接下来要交付的中继器。
缓冲器分配部705对蓄积了微片的输入缓冲器分配用于发送微片的专用的输出缓冲器,使得将微片中继到适当的路径。
对于缓冲器分配部705,在头微片到达输入缓冲器时,从与由路由处理部704确定的发送路径连接的输出缓冲器703中,选择在该时点没有被利用的输出缓冲器,分配一个输出缓冲器703作为用于发送微片的专用缓冲器。
通过缓冲器分配部705,直到一个包整体通过中继器为止,维持输入缓冲器与输出缓冲器的组合。
开关分配部706从由缓冲器分配部705决定的输入缓冲器701和输出缓冲器703的组合中,决定实际对相邻的中继器711发送微片的组合,切换输入缓冲器701和输出缓冲器703之间的开关702。
拥挤信息处理部707对共同处理多个业务的邻近的中继器群710、711发出请求,取得按每个业务的表示拥挤程度的拥挤信息。此外,拥挤信息处理部707在从邻近的中继器群710、711接收到拥挤信息的请求时,对该中继器通过测量而取得按各传输路径的业务定量地表示数据包的流动难度的拥挤信息,并将所取得的拥挤信息输出给该中继器。
另外,作为拥挤信息,例如测量数据包通过中继器为止所花的延迟时间,使用该值。
由于在传输路径上数据包变得越难以流动,则越难以从中继器700内向总线发送微片,数据包的延迟时间变长,所以可以根据延迟时间定量地确定各传输路径上的数据包的流动难度。
拥挤信息比较部708比较从邻近的中继器710、711通知的各业务的拥挤信息、与由头部中记述的发送目的地确定的各业务的中继器700本身的拥挤信息,算出定量地表示各业务的路径上的流动难度的拥挤度。
发送调度调整部709根据由拥挤信息比较部708求出的拥挤度,对各业务调整总线的传输频带的分配。
在中继器700中的传输频带的分配的调整中,包含由缓冲器分配部705在输出缓冲器703中如何分配临时缓冲器的调度的调整、和开关分配部706如何切换开关702的调度的调整。
下面,对各中继器700的动作进行说明。
图8是说明本实施方式中的中继器700的动作的流程的流程图。
中继器700在从邻近的中继器710发送来微片时,将该微片蓄积到输入缓冲器701中的给定缓冲器(步骤801)。蓄积微片的缓冲器的选择方法可以考虑各种方法。例如如之前说明的那样,可以将从前级的中继器710的输出缓冲器发送的微片蓄积到与该输出缓冲器703对应的相邻的中继器711的输入缓冲器中。在不存在前级的中继器,从总线主控器直接发送微片的情况下,可以在总线主控器侧指定蓄积微片的输入缓冲器,中继器700将微片蓄积到在总线主控器侧指定的输入缓冲器中。除此之外,还可以在微片是头微片时蓄积到空的缓冲器,在不是头微片时蓄积到蓄积与该微片对应的头微片的缓冲器。也可以按每个构成相同包的微片进行区别,来选择不同的输入缓冲器。
输入缓冲器701判断被蓄积的微片是否是头微片(步骤802)。
在被蓄积的微片是头微片时,进入步骤803转移到用于确定数据的下一发送目的地的处理,在不是头微片的情况下,进入步骤807,将与对应于该微片的头微片相同的路径作为发送目的地。
路由处理部704在发送到输入缓冲器中的微片是头微片的情况下,根据头微片中附带的目的地的地址信息,决定接下来要发送的中继器(步骤803)。
在图5所示的多级连接网的情况下,对各存储器用3位的2进制数分配地址,在各包的头微片中对成为目的地的存储器的地址给予3位的2进制数。
各中继器的路由控制部704从给予头微片的3位的地址读取与中继器的级数相同的位的数字。然后决定路径,使得若该值是0则向图5中的右上的中继器发送微片,若值是1则向图5中的右下的中继器发送微片。
例如,在从总线主控器BM2向存储器5(地址:101)发送数据时,根据地址中记载的3位的数字,首先在中继器R1中向右下的中继器R7发送微片,接着在中继器R7中向右上的中继器R10发送微片,最后在中继器R10向右下的存储器5发送微片。据此,从总线主控器BM5向存储器2传输微片。
另外,作为在路由处理部704的路由(路径)控制的方法,只要是根据分散总线的拓扑,适当地将微片发送到目的地的方法,也可以是上述以外的方法。
当决定了发送微片的相邻的中继器时,中继器700通过拥挤信息处理部707从相邻的中继器711和中继器710取得并参考拥挤信息(步骤804)。
图9是说明按传输路径能够定量地测量各业务的包数据的流动难度的对象的图。将所测量的结果作为拥挤信息来使用。拥挤信息是在中继器700内的(1)数据包通过中继器700为止所花的延迟时间、(2)输入缓冲器内中剩余的微片数、(3)总线的空闲频带等。
在集成电路中,基于安装面积、成本等问题,大多希望尽可能地减小电路上的缓冲器的大小。因此,在输入缓冲器的大小较小的情况下,将输入缓冲器内的微片数(2)用作测量拥挤程度的指标时精度降低。此外,在测量总线的空闲频带(3)时,需要记录给定时间、总线的状态的存储器(缓冲器)。与此相对,将中继器内的微片的延迟时间(1)作为测量拥挤程度的指标时,即使利用较小的缓冲器大小也能够高精度地测量拥挤的程度。
此外,在本实施方式中,作为连接在中继器间的总线(3),假设为传递电信号的总线,但是除此之外,也可以是通过光信号传递数据的有线总线、利用磁或电磁波传递信号的无线总线。进而,对于利用光信号或電磁波进行的通信,能够在一个总线上同时使用不同的波长或频率。因此,可以根据在总线上利用的波长或频率的利用数、或者空余数来定义拥挤度。
在以下的说明中,假设中继器700内的缓冲器大小较小的情况,对(1)数据包通过中继器700为止所花的延迟时间作为拥挤信息来进行说明。另外,若能够确保缓冲器,则也可以采用上述的(2)或者(3)。该拥挤信息由拥挤信息处理部707来取得。
接下来,通过拥挤信息比较部708,比较中继器700与相邻的中继器710(中继器711)之间的拥挤信息,求出在路径上的按每个业务的表示流动难度的拥挤度(步骤805)。
图10是说明比较中继器本身700和相邻的中继器711的拥挤状态从而在本中继器700中计算业务A和业务B的拥挤度的方法的图。
在本实施方式中,对于拥挤度的值,通过拥挤信息比较部706,按每个业务将从处于下游侧的中继器711通知的数据包的延迟时间与在本中继器700的数据包的延迟时间的比率定义为拥挤度。
例如,在图10中,设对于业务A,数据包通过中继器700为止发生10周期的延迟,通过下游侧的中继器711发生5周期的延迟。此时,业务A的拥挤度能够如以下那样算出。
业务A的拥挤度:5/10=0.5
另一方面,对于业务B,设数据包通过中继器700要用12周期,通过中继器711要用15周期。此时,业务A的拥挤度可以如以下那样算出。
业务B的拥挤度:15/12=1.25
这里,设拥挤度的值越大,数据包越难以流动,对于中继器700的邻近,能够定量地确定业务A与业务B相比数据包的流动容易度。
在图10中,将拥挤度定义为中继器1的延迟时间与中继器2的延迟时间的比率,但是除此之外,还可以例如将在中继器1的延迟时间与在中继器2的延迟时间的差分、或延迟时间的总和等、本中继器700与相邻的中继器711的拥挤信息的比较后的值定义为拥挤度,并使用该值。
此外,还可以存在将中继器间的延迟时间的值和拥挤度的值的对应关系预先定义为表信息,并且参考表信息来计算与通知的延迟时间对应的拥挤度的方法。
接下来,在图8的步骤806中,发送调度调整部709根据业务的拥挤度,决定用于对求出拥挤度的输入缓冲器发送微片的优先顺序。所谓“求出拥挤度的输入缓冲器”,与各业务的拥挤度相同。即,在存在具有拥挤度x的业务t时,输入该业务t的微片的输入缓冲器的拥挤度成为x。而且缓冲器分配部705根据输入缓冲器的优先顺序来分配输出缓冲器。
图11是说明发送调度调整部709和缓冲器分配部705执行的输出缓冲器703的分配方法的图。
在中继器内对于输入缓冲器,按照各业务进行区别来蓄积微片,并通过输出缓冲器向下一中继器发送。
在图11中,对来自输入0的业务准备输入缓冲器0和输入缓冲器1,对来自输入1的业务准备输入缓冲器2和输入缓冲器3。而且,设通过拥挤信息比较部708对输入缓冲器0、输入缓冲器1、输入缓冲器2分别求出拥挤度为1.0、0.25、0.5。
输入缓冲器对哪个输出缓冲器请求分配,如之前所说明的那样,通过输入缓冲器中蓄积的各业务的微片利用哪个发送路径发送到存储器来进行确定。因为存在不同的输入缓冲器对连接于相同的输出的2个输出缓冲器请求分配,所以需要决定输出缓冲器的分配。
发送调度调整部709根据由拥挤信息比较部708求出的拥挤度的信息,对各输入缓冲器给予分配输出缓冲器的优先顺序。在图11的示例中,假设将各输入缓冲器的拥挤度直接用作分配输出缓冲器的优先顺序的情况并对此进行说明。另外,分配输出缓冲器的优先顺序被设为存储了从该输出缓冲器发送出去的微片的输入缓冲器的拥挤度的值越小越优先。
当决定了各输入缓冲器的优先级时,各输入缓冲器对由路由处理部704确定的向下一中继器连接的输出侧的输出缓冲器中的没有被利用的输出缓冲器请求输出缓冲器的分配。
缓冲器分配部705从对各输出缓冲器进行分配请求的输入缓冲器中对拥挤度最小的输入缓冲器通知分配的决定。
在图11的示例中,输入缓冲器0、输入缓冲器1、输入缓冲器2对输出0侧的输出缓冲器分别请求分配。而且,按各有请求的输出缓冲器,对拥挤度最小的输入缓冲器0和输入缓冲器2进行分配的决定。
在发送头微片时决定输出缓冲器的分配,直到构成与该头微片对应的包的全部微片被发送为止,继续输出缓冲器被分配的状态。
接下来,开关分配部706从拥挤度小的输入缓冲器开始依次连接输入缓冲器和输出缓冲器间的开关,将输入缓冲器内的微片发送到相邻的中继器(步骤807)。
图12是说明在由开关分配部706在分配了输出缓冲器的业务间调整发送调度的方法的图。
本实施方式中的在中继器的发送调度通过输入缓冲器与输出缓冲器间的开关的连接切换来进行。
在图12中,对全部输入缓冲器完成了输出缓冲器的分配。对输入缓冲器0分配了输出缓冲器0,对输入缓冲器1分配了输出缓冲器3。此外,对输入缓冲器2分配了输出缓冲器1,对输入缓冲器3分配了输出缓冲器2。
开关分配部706,在连接于与各个输出连接的输出缓冲器的输入缓冲器中对拥挤度小的输入缓冲器连接开关,许可向相邻的中继器发送微片。若输入以及输出的组不同,则开关分配部706可以对该不同的组同时并列地连接开关。
若对图12所示的与输出0连接的输出缓冲器0和输出缓冲器1进行研究,则分配了输出缓冲器1的输入缓冲器2的拥挤度0.5比分配了输出缓冲器0的输入缓冲器0的拥挤度1.0小。因此,在输入缓冲器2和输出缓冲器1之间进行开关的连接。当连接了开关的输入缓冲器的内容变空,该微片的发送结束时,在输入缓冲器0和输出缓冲器0之间进行开关的连接,发送微片。
同样地,若对与输出1连接的输出缓冲器2和输出缓冲器3进行研究,则分配了输出缓冲器3的输入缓冲器1的拥挤度0.25比分配了输出缓冲器2的输入缓冲器3的拥挤度2.0小。因此,在输入缓冲器3和输出缓冲器2之间进行开关的连接。当连接了开关的输入缓冲器的内容变空,该微片的发送结束时,在输入缓冲器1和输出缓冲器3之间进行开关的连接,发送微片。其结果,各个微片被发送到相邻的不同的中继器。
如此,通过根据各业务的拥挤度的值,调整开关的分配的优先顺序,能够对各业务调整传输频带对输出侧的总线的分配量。
另外,作为开关的切换方法,除了从拥挤度小的输入缓冲器开始切换开关的连接,依次使输入缓冲器的内容为空的方法以外,例如,还存在使用加权轮询算法(Weighted Round Robin:WRR)的方法。
图13是说明通过加权轮询算法切换开关时的权重的分配方法的图。
对于加权轮询算法,是对存在微片的发送请求的全部输入缓冲器,每发送1微片时,利用与给予各输出缓冲器的权重的值对应的(成比例的)概率来连接开关的方法。以下说明的权重的算出处理、分配处理通过发送调度调整部709来执行。
在图13的示例中,对于各输出缓冲器的权重,根据分配了该输出缓冲器的输入缓冲器的拥挤度,将其倒数用作权重。具体而言,给予输出缓冲器0的权重是输入缓冲器0的拥挤度1.0的倒数为1.0。给予输出缓冲器1的权重是输入缓冲器2的拥挤度0.5的倒数为2.0。给予输出缓冲器2的权重是输入缓冲器3的拥挤度2.0的倒数为0.5。给予输出缓冲器3的权重是输入缓冲器1的拥挤度0.25的倒数为4。
在使用加权轮询算法切换开关时,输出0根据输出缓冲器0和输出缓冲器1各自的权重,利用1对2的比例经由各个输出缓冲器发送微片。此外输出1根据输出缓冲器2和输出缓冲器3各自的权重,利用约1对8的比例经由各个输出缓冲器发送微片。
如此,对于利用加权轮询算法的发送调度,能够通过权重的值,在输出缓冲器间对输出侧的总线调整传输频带的分配比例。
另外,在图8的步骤806以及809中,以将拥挤度的值直接用于输出缓冲器的分配、以及开关的分配的情况为例进行了说明。但是,只要是反映了拥挤度的值,则也可以使用其他定义。此外,尽管说明了对想要优先输出缓冲器和开关的分配的输入缓冲器,使优先级的值变小的示例,但是也可以给予较大的值,从值大的输入缓冲器开始给予输出缓冲器和开关。
此外,作为基于加权轮询算法的传输频带向各输出缓冲器的分配的具体的调整方法,存在:将传输频带在时间上分割为多个时隙,对各个输出缓冲器分配由权重的值所指定的数量的时隙的方法;以及利用由权重的值而预先指定的比例,概率性地选择输出总线(输出缓冲器)的方法等。
在发送头微片以外的微片的情况下,不进行步骤803的路由以及步骤806的输出缓冲器的分配。拥挤信息处理部707进行相邻的中继器的拥挤信息的取得和参考(步骤807),拥挤信息比较部708仅进行与邻近的中继器相互的拥挤状况的比较(步骤808)。对于相邻的中继器的拥挤信息的取得/参考方法(步骤807)和与邻近的中继器相互的拥挤信息的比较方法(步骤808)分别与(步骤804)和(步骤805)的处理相同,所以省略说明。
中继器700在由开关分配部706决定了开关702的分配时,将输入缓冲器内的微片通过所分配的输出缓冲器发送给相邻的中继器711(步骤810)。
拥挤信息处理部707将微片发送后的中继器的拥挤信息通知给邻近的中继器710、711(步骤811)。
下面,使用图14、图15、图16来详细地说明本实施方式中的中继器的动作。
图14示出图5的多级连接网中的业务A~C的各传输路径。业务A从总线主控器BM0向存储器4传输。业务B从总线主控器BM1向存储器6传输。业务C从总线主控器BM5向存储器5传输。
在同时流动业务A和业务B时,在从中继器R0向中继器R6的总线上发生干扰。此外,在同时流动业务A和业务C时,在从中继器R6向中继器R10的总线上发生干扰。
图15示出同时流动业务A和业务B时的在业务A的传输路径上的各中继器的延迟时间的示例。
在图15中,在中继器R0内的业务A和业务B的延迟时间,由于相互干扰而分别设为10周期。此外,在中继器R6内的业务A和业务B的延迟时间因为分别流向不同的路径,所以分别设为5周期。于是,在中继器R0的业务A的拥挤度成为0.5、业务B的拥挤度成为0.5,传输路径上的流动难度对各业务都相同。因此,中继器R0调整发送的调度,使得将向中继器R6的总线的传输频带对业务A和业务B均等地各分配50%。所谓调度意味着输出缓冲器的分配、和开关的分配。以下也同样。
接下来,图16示出除了业务A和业务B之外还同时流动业务C时的在各中继器内的业务的延迟时间的示例。
在图16中,在中继器R0内的业务A和业务B的延迟时间由于相互干扰而分别设为10周期。此外,在中继器R6内,由于业务A和业务C相互干扰而延迟时间分别设为10周期。另一方面,向其他路径流动的业务B,因为不与其他业务发生干扰,则延迟时间设为5周期。于是,在中继器R0的业务A的拥挤度成为1、业务B的拥挤度成为0.5,确定了业务A与业务B相比在传输路径上难以流动。
中继器R0根据业务A和业务B的拥挤度的大小,分配向中继器R6的总线的传输频带。例如,在中继器R1利用加权轮询算法对各业务分配了与拥挤度的值成反比例的传输频带的情况下,中继器R0调整发送的调度,使得对业务A分配传输频带的33%、对业务B分配传输频带的66%。
此外,若通过中继器R0业务A的传输频带的分配变少,则在中继器R0中业务A和业务B的干扰变弱,所以业务B的延迟时间被削减。此外,因为在R6中业务A和业务C的干扰变弱,所以业务C的延迟时间被削减。
如此,对于业务数、流量的变化,通过在传输路径上减少与多个业务发生干扰的业务C的传输频带,增加相互不发生干扰的业务B和业务C的传输频带,优先地流动业务B和业务C,由此能够防止电路整体的利用效率的降低,抑制延迟的增加、吞吐量的降低。
图17示出作为拥挤度的定义,作为本中继器和相邻中继器的拥挤信息的比率的替代使用了差分的示例。
在图17中,按各业务,将从在本中继器的延迟时间减去在发送目的地的相邻中继的延迟时间所得的值定义为拥挤度。另外,在图17的式子中,为了能够由加权轮询算法处理拥挤度,加入了常数α。据此,可以将拥挤度作为正数来处理。作为常数α的具体值,为了拥挤度不变为负值,可以考虑设定在中继内能够容许的延迟时间的最大值的值的方法。
此外,在本实施方式中,说明了根据流动业务的下游侧的中继器的拥挤信息,调整发送调度(输出缓冲器的分配、开关的分配)的示例。但是,也可以根据业务从其流动来的上游侧的中继器的拥挤信息来调整发送调度。
图18是说明根据在处于业务流的上游侧的中继器R0的延迟时间、和在中继器R2的延迟时间,中继器R6如何向业务A和业务C分配向中继器R10的总线的传输频带的图。
在图18中,在中继器R0内的业务A和业务B的延迟时间,由于相互干扰而分别设为10周期。此外,在中继器R6内,业务A和业务C相互干扰,延迟时间分别设为10周期,在中继器R2中,因为仅流过业务C所以延迟时间设为5周期。
中继器R6由中继器R0取得业务A和业务B的延迟时间,由中继器R2取得业务C的延迟时间,根据与在本中继器内的各个业务的延迟时间的比较,计算拥挤度。这里,与使用从流动业务的下游侧的中继器通知的延迟时间来计算拥挤度的情况同样地,作为拥挤度的定义,使用在处于其下游的本中继器R6的延迟时间对在流动业务的上游侧的中继器的延迟时间的比率的值。
求出业务A的拥挤度为1(=10÷10)、业务B的拥挤度为0.5(=5÷10)。
在求出拥挤度时,例如,在中继器R1使用加权轮询算法,与拥挤度的值成反比例地对各业务分配传输频带的情况下,中继器R6进行发送的调度的调整,使得向业务A分配传输频带的33%、向业务C分配传输频带的66%。
此外,在中继器R6中,不仅使用来自流动业务的上游侧的中继器的拥挤信息,还使用来自下游侧的中继器的拥挤信息,来求出在传输路径上的拥挤度,并将其用于发送调度的调整。
例如,可以按每业务求出上游侧的拥挤度和下游侧的拥挤度,将其平均值定义为拥挤度。
如以上那样,通过使用图7说明的结构、和用图8说明的处理,传输路径上的各中继器在相邻的中继器间交换拥挤信息,并基于根据该比较表示在传输路径上的业务的流动难度的拥挤度,调整各业务的发送调度。据此,能够抑制由业务间的干扰引起的延迟的增加。
另外,尽管在本实施方式中,以集成电路的拓扑为多级连接网的情况为例进行了说明,但是如图19所示,即使是将中继器排列为格子状从而网状型、环面型、分级地连接总线的拓扑等、通过中继器、开关经由多个总线的拓扑,也能够同样地适用。
(实施方式2)
在实施方式1中,在相邻的中继器间交换拥挤信息,按每业务基于表示在传输路径上的数据包的流动难度的拥挤度,对各业务的发送调度进行了调整。
与此相对,本实施方式的中继器比较所求出的拥挤度,暂时废弃数据包的难以流动的一方的包,并再次向作为所废弃的包的发送源的总线主控器请求包的重传。据此,能够抑制拥挤度小的业务的延迟时间的增加。另外需注意,并不是向总线主控器直接请求包的重传,而是将包含目的地为该总线主控器的重传请求的微片发送给曾发送来该包的相邻的中继器的缓冲器。相邻的中继器再将该重传请求发送给上游的中继器或者该总线主控器。
中继器可以利用作为在1周期能够发送的数据量的1微片来发送重传请求。但是,微片数也可以是2以上。或者,可以用包来发送重传请求。可以在通常的业务流动的传输路径上发送重传请求,也可以设置重传请求专用的传输路径。
在因特网或无线LAN等的网络控制中,作为抑制在中继器的拥挤(拥塞)的方法,一般采用废弃包的方法。但是,在集成电路中对可靠性的要求较高,所以当发生流过电路内的业务的数据丢失时,需要再次从发送源重传在拥挤时废弃的包。
图20是本实施方式中的中继器800的构成图的。对于图20的构成要素中与图7相同的构成,标注相同的参照符号并省略说明。
包废弃部1401在检测出由拥挤信息比较部708求出的各业务的拥挤度中超过给定阈值的业务时,从输入缓冲器701删除相应的业务的包。
重传请求部1402向作为发送源的总线主控器通知由所述包废弃部删除的包的重传请求。
图21示出在本实施方式中从总线主控器发送的包及其微片群、以及头微片中记载的信息。在头微片中,除了头标记、目的地地址之外,还记载了发送源的地址、以及包的ID。防备包废弃部1401废弃包的情况,重传请求部1402每当头微片到达时预先存储该包的头微片的信息(至少发送源的地址、以及包的ID)。而且,根据所保持的该信息,向作为发送源的总线主控器请求具有特定的ID的包的重传。
被废弃了包的总线主控器为了避免拥挤,待机给定时间,再次开始包的发送。
图22是说明本实施方式中的中继器800的动作的图。
对于与图8同样的动作,标注相同的参照符号并省略说明。
中继器800与相邻的中继器710交换相互的拥挤信息,按各业务计算在路径上的业务的流动难度作为拥挤度,并且判断该值是否收于给定阈值以内(步骤2401)。若拥挤度的值为阈值以下,则转移到步骤809,为了发送输入缓冲器内的微片而进行开关的分配处理。
在步骤2401中,在判断为拥挤度超过了给定阈值的情况下,中继器800的包废弃部1401废弃相应输入缓冲器内的全部微片,此外,释放分配给该输入缓冲器的输出缓冲器(步骤2402)。
若拥挤度超过给定阈值以上的输入缓冲器内的微片被废弃,则中继器内的重传请求部1402向所废弃的包的发送源请求重传所废弃的包(步骤2403)。
作为从重传请求部1402向发送源通知重传的方法,可以列举在流过来业务的传输路径上向相反方向转送传递重传请求的包的方法、以及使用用于在中继器800和发送源之间通知重传的专用控制信号线的方法。
通过增加以上的构成和处理,本实施方式中的中继器800废弃拥挤度比给定阈值高的业务的包,所以能够抑制由包数据的难以流动的业务引起的电路整体的传输性能的降低。
(实施方式3)
在本实施方式中,在向下一中继器连续发送目的地共同的包时,利用相同的输出缓冲器向下一中继器进行发送,而且向下一中继器通知被连续发送的包是去向相同的目的地的包,由此省略对后续的包进行的路由处理(步骤803)和输出缓冲器的分配(步骤806),缩短在中继器内的延迟时间。
图23是本实施方式中的中继器810的构成图。对图23的构成要素中与图7相同的构成,标注相同的参照符号并省略说明。
路由再利用通知部1501是在通过相同的输出缓冲器向下一中继器711传输目的地共同的包时,向下一中继器711通知被连续发送的包是去向相同的目的地的包的处理部。另外,通过相同的输出缓冲器向下一中继器711发送的包在下一中继器711中被发送到相同的输入缓冲器。
图24是说明本实施方式中的中继器810的动作的图。
对于与图8同样的动作,标注相同的参照符号并省略说明。
在连续发送的包是被发送到相同目的地的包的情况下,中继器810的路由再利用通知部1501向下一中继器711发送用于进行路由处理的再利用的通知。以下,说明进行该处理的中继器810的处理。
当从相邻的中继器710发送来微片时,中继器810将微片蓄积到自己的输入缓冲器701中的给定输入缓冲器中(步骤801)。
在步骤802中,在所接收的微片是头微片时,路由处理部701确认是否从中继器710接收了路由的再利用通知(步骤2601)。
在没有路由的再利用通知的情况下,需要确定下一发送目的地。因此,路由处理部704进行路由处理(步骤803)。
另一方面,在存在路由的再利用通知的情况下,路由处理部704省略路由处理,并判断是否可以利用前一个包的发送时所使用的路由的处理结果,换言之,判断输出缓冲器的再利用是否可以(步骤2602)。
缓冲器分配部705在能够继续利用接收了再利用通知的输入缓冲器、并且前一个包的发送时所利用的输出缓冲器没有通过来自其他输入缓冲器的请求而被分配的情况下,判断为输出缓冲器的再利用是可以的。此时,缓冲器分配部705省略输出缓冲器的分配的决定(步骤806),再利用前一个包的发送时所使用的输出缓冲器。而且,路由再利用通知部1501向下一中继器711通知路由的再利用(步骤2603)。
在不能继续利用前一个包的发送时所利用的输出缓冲器的情况下,处理进入步骤804,缓冲器分配部705再次决定要利用的输出缓冲器。
在步骤806中,当通过缓冲器分配部705对输入缓冲器分配输出缓冲器时,路由再利用通知部1501判断输入缓冲器内的包的目的地是否与前一个包的目的地相同(步骤2604)。当向相同的输出缓冲器连续分配目的地相同的包时,路由再利用通知1501向对包进行中继的下一中继器通知不需要路由处理(步骤2605)。
如此,本实施方式的中继器810通过路由再利用通知部1501判断路由的再利用的可否,在可以再利用时,向下一中继器711通知路由的再利用是可以的。而且,省略在下一中继器711的路由处理(步骤803)以及输出缓冲器的分配(步骤806)。据此,能够削减在中继器内的延迟时间。
此外,在缓冲器分配部705中,当对各输入缓冲器分配输出缓冲器时,可以根据拥挤信息,将目的地相同的包连续分配给相同的输出缓冲器。
例如,在相对于通过中继器的业务的数量,输入输出缓冲器的数量较少时,不得不在业务间交替利用输入输出缓冲器。因此,仅对拥挤度低的业务优先地分配相同的输入输出缓冲器,将相同目的地的包连续通过相同的输出缓冲器发送到下一中继器。据此,能够进一步削减拥挤度低的业务的延迟时间。
通过加入以上的构成和处理,本实施方式中的中继器810能够省略对拥挤度低的业务的路由处理和输出缓冲器的分配所需的处理,所以能够抑制在电路整体的传输性能的降低。
另外,在本实施方式的说明中,以对拥挤度低的业务优先地分配相同的输出缓冲器的情况为例进行了说明。但是,相反也可以对拥挤度高的业务优先地分配相同的输出缓冲器,从而抑制拥挤度高的业务的延迟时间。据此,也可以进行传输延迟的改善。
另外,在本实施方式中,通过路由再利用通知,省略了路由处理。用于路由处理的计算处理、以及再利用的可否判断都最低需要1周期。因此,通过接收了业务的中继器自己不进行路由,能够改善处理时间。
路由再利用通知的“判断处理”例如可以与头微片的“判断处理”并列进行。因此,不会使处理时间增加。
因此,通过将在前级的中继器的路由结果顺序传递给下一中继器从而省略相同的处理,能够削减处理时间。
(实施方式4)
在本实施方式中,假设通过中继器,能够个别地改变分散总线的动作时钟的情况,提高流过拥挤度大的业务的路径上的总线的动作时钟,比其他总线较快地发送微片,由此抑制传输延迟。
图25是本实施方式中的中继器820的构成图。对于图25的构成要素中的与图7相同的构成,标注相同的参照符号并省略说明。
动作时钟调整部1601通过发送调度调整部709检测到拥挤度大、优先级低的业务时,提高输出业务的一侧的总线的动作时钟。
图26是说明本实施方式中的中继器820的动作的图。
对于与图8相同的动作,标注相同的参照符合并省略说明。
动作时钟调整部1601在通过开关分配部706决定了各输入缓冲器和输出缓冲器间的开关的分配时,判断缓冲器的拥挤度是否比给定阈值高(步骤2701)。
若不存在拥挤度超过阈值的输入缓冲器,则动作时钟调整部1601将对应的总线的动作速度设定为假设通常的利用时而事前设定的动作速度(步骤2702)。
在存在拥挤度超过阈值的输入缓冲器时,动作时钟调整部1601将对应的总线的动作速度设定为比假设通常的利用时而事前设定的动作速度快的动作速度(步骤2703)。
通过加入以上的构成,本实施方式的中继器820能够快速地将拥挤度高的业务发送到下一中继器,削减延迟时间。因此,能够抑制电路整体的传输性能的降低。
(实施方式5)
在本实施方式1~4中,在相邻的中继器间按每业务交换延迟时间,通过相互的延迟时间的比较来按每业务求出在路径上的流动难度,并根据该值来调整对各业务的发送调度。因此,对于实施方式1~实施方式4的中继器,相邻的中继器彼此协作,进行协调的发送调度控制。
在这种中继器间协调的发送调度控制中,在某中继器中,存在某业务的延迟时间变得比给定阈值大的情况。即使要抑制该业务的延迟时间,也是与相邻的中继器协调的发送调度被优先,立即在本中继器内发生业务的延迟。
与此相对,在本实施方式中,在本中继器的拥挤度比给定阈值高的情况下,不进行与相邻的中继器协调的发送调度,仅根据在本中继器内的拥挤的状况,进行利己的发送调度,一边抑制在本中继器内的延迟。
图27是表示本实施方式中的中继器830的构成的图。对于图27的构成要素中的与图7相同的构成,标注相同的参照符合并省略说明。
内部拥挤信息监视部2801是判断业务在本中继器830的延迟时间是否超过给定阈值的处理部。
协调控制停止部2802是在业务在本中继器830的延迟时间超过给定阈值时,停止基于与相邻的中继器711的延迟时间的比较的拥挤度的计算,代替之,仅根据在本中继器的延迟时间来确定拥挤度的处理部。
图28是说明本实施方式中的中继器830的动作的图。
对于与图8相同的动作,标注相同的参照符合并省略说明。
中继器830的内部拥挤度监视部2801判断本中继器830内的输入缓冲器的延迟时间是否大于给定阈值(步骤2801)。
在本中继器830内的输入缓冲器的延迟时间小于给定阈值时,协调控制停止部2802指示拥挤信息比较部708,通过比较在相邻的中继器711的延迟时间和在本中继器830的延迟时间来求出拥挤度,并将拥挤度传达给发送调度调整部709(步骤2802)。
另一方面,在本中继器830内的输入缓冲器的延迟时间大于给定阈值的情况下,协调控制停止部2802代替拥挤信息比较部708仅利用在本中继器830的延迟时间的大小来求出拥挤度,并将拥挤度传达给发送调度调整部709(步骤2802)。
通过加入以上的构成,本实施方式的中继器830在本中继器中发生的延迟时间比给定阈值高的情况下,不与相邻的中继器的拥挤的状况相匹配,而通过利己的发送调度控制,能够使在本中继器内的延迟时间的削减最优先,因此能够抑制电路整体的传输性能的降低,同时还可以抑制局部的传输性能的降低。
(实施方式6)
在实施方式6中,说明线路交换方式的中继器调整发送调度的处理。
图29是说明包交换方式和线路交换方式的不同的图。
图29(a)、(b)的图表分别表示交换方式下的数据的流动方式,图表的纵轴表示数据的位置,横轴表示时间的流逝。
在包交换方式中,如图29(a)所示,业务以微片单位依次从总线主控器向中继器发送。
与此相对,在线路交换方式中,如图29(b)所示,最初用于线路交换的信号从总线主控器依次通过中继器被发送到目的地。据此,线路被切换,之后,发送数据。
图30表示本实施方式的线路交换方式的中继器840的构成。在中继器840中,如图30所示,输入缓冲器701只要有用于蓄积开关的切换信号的1微片量的大小即可。除此之外与图7的包交换方式的构成相同,所以省略说明。
由于在线路交换方式中,在确保线路后,在业务间不发生干扰,所以仅对于发送数据前的开关的切换用信号调整发送调度即可,该调整可以利用与包交换方式的头微片相同的方法来调整。
以上,说明了本发明的各实施方式。在本说明书中,假设各实施方式的中继器的构成要素都通过硬件来实现而进行了说明。硬件可以按各构成要素来设置,也可以作为合并了多个构成要素的电路等来设置。通过作为硬件来设置,可以使各中继器的处理高速化,将内部处理延迟抑制到最小限度。另外,在能够高速地进行处理使得内部处理延迟不会成为问题的情况下,也可以通过微型计算机执行软件,从而在软件上实现上述构成要素的一个或多个功能。
产业上的可利用性
由于本发明所涉及的中继器能够在具备分散型总线的集成电路中抑制由多个业务的干扰造成的延迟或抖动的增加,所以在介质处理等实时发生多个业务传输的SoC(System on Chip,片上系统)等的分散总线控制中是有用的。
此外,通过抑制延迟时间从而缩短处理时间,对于集成电路的省电也是有用的。
符号说明
700 中继器
701 输入缓冲器
702 开关
703 输出缓冲器
704 路由处理部
705 缓冲器分配部
706 开关分配部
707 拥挤信息处理部
708 拥挤信息比较部
709 发送调度调整部
710 相邻的中继器(接收侧)
711 相邻的中继器(发送侧)
1401 包废弃部
1402 重传请求部
1501 路由再利用通知部
1601 动作时钟调整部
2801 内部拥挤信息监视部
2802 协调控制停止部

Claims (12)

1.一种中继器,在具备分散型总线的集成电路中连接多个总线,所述中继器包括:
开关,其切换接收业务数据的输入以及发送所述业务数据的输出的组合;
拥挤信息处理部,其取得表示来自共同处理多个业务的相邻的中继器的各业务的拥挤程度的拥挤信息、和本中继器中的所述各业务的拥挤信息;
拥挤信息比较部,其根据从所述相邻的中继器取得的所述拥挤信息以及本中继器中的所述拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息;
发送调度调整部,其根据所述拥挤度,按所述各业务分配总线的传输频带从而调整发送调度;和
开关分配部,其根据所述总线的传输频带的分配结果,切换所述开关。
2.根据权利要求1所述的中继器,其中,
所述拥挤信息表示在本中继器中各业务的业务数据通过本中继器所需要的延迟时间,
所述拥挤信息比较部根据从所述相邻的中继器取得的各业务的延迟时间以及本中继器中的各业务的延迟时间,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息。
3.根据权利要求1所述的中继器,其中,
所述拥挤度是表示在传输路径上的各业务的流动难度的数值,业务越容易流动给予越小的数值,越难以流动给予越大的数值,
所述发送调度调整部对所述拥挤度相对较小的业务优先地分配所述总线的传输频带。
4.根据权利要求3所述的中继器,其中,
所述发送调度调整部对所述拥挤度相对较小的业务相对较宽地确保所述总线的传输频带,使所述总线的传输频带能够先被利用,或者通过相对较长地确保所述总线的传输频带的可利用时间,从而优先地分配所述总线的传输频带。
5.根据权利要求1所述的中继器,其中,
各业务的业务数据被分割为包并在所述总线上传输,
所述中继器还包括:
包废弃部,其从输入缓冲器废弃所述拥挤度比预先确定的阈值大的业务的包;和
重传请求部,其向作为发送源的缓冲器请求重传被废弃的包。
6.根据权利要求1所述的中继器,其中,
各业务的业务数据被分割为包并在所述总线上传输,
所述中继器还包括:
多个输出缓冲器,其分别连接于向不同的总线发送数据的多个输出;和
路由再利用通知部,其对所述拥挤度比预先确定的阈值大的业务的连续的包,分配相同的输出缓冲器,而且对业务被发送到的下一中继器通知路由的设定的再利用。
7.根据权利要求1所述的中继器,其中,
所述总线的动作时钟能够变更,
所述中继器还包括:动作时钟控制部,所述动作时钟控制部在所述拥挤度比预先确定的阈值大的业务被发送时,使连接了所述输出的总线的动作时钟提高。
8.根据权利要求1所述的中继器,其中,
所述中继器还包括:协调控制停止部,在本中继器中发生了比预先确定的阈值大的延迟时,所述协调控制停止部仅根据本中继器中的所述业务数据通过本中继器所需要的延迟时间,来决定所述拥挤度。
9.一种中继器,在具备分散型总线的集成电路中连接多个总线,所述中继器包括:
开关,其切换接收业务数据的输入缓冲器以及发送所述业务数据的输出缓冲器的组合;
拥挤信息处理部,其取得表示来自共同处理多个业务的相邻的中继器的各业务的拥挤程度的拥挤信息、和本中继器中的所述各业务的拥挤信息;
拥挤信息比较部,其根据从所述相邻的中继器取得的所述拥挤信息以及本中继器中的所述拥挤信息,求出定量地表示在传输路径上的各业务的流动难度的拥挤度的信息;
发送调度调整部,其将各业务的拥挤度作为存储各业务的业务数据的输入缓冲器的拥挤度,根据所述输入缓冲器的拥挤度,决定存储所述业务数据的输出缓冲器的权重的值,根据所决定的权重的值向所述各业务分配总线的传输频带从而调整发送调度;和
开关分配部,其根据所述总线的传输频带的分配结果,切换所述开关。
10.根据权利要求9所述的中继器,其中,
所述发送调度调整部对接收了发送请求的输入缓冲器,按与给予各输出缓冲器的权重的值对应的概率连接开关。
11.根据权利要求9所述的中继器,其中,
所述发送调度调整部将所述传输频带在时间上分割为多个时隙,向各个输出缓冲器分配由所述权重的值所指定的数量的时隙。
12.根据权利要求9所述的中继器,其中,
所述发送调度调整部利用由所述权重的值所预先指定的比例,概率性地选择所述输出缓冲器。
CN201180002247.1A 2010-03-05 2011-01-07 中继器 Active CN102449965B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-049108 2010-03-05
JP2010049108 2010-03-05
PCT/JP2011/000034 WO2011108174A1 (ja) 2010-03-05 2011-01-07 中継器

Publications (2)

Publication Number Publication Date
CN102449965A true CN102449965A (zh) 2012-05-09
CN102449965B CN102449965B (zh) 2015-01-14

Family

ID=44541846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180002247.1A Active CN102449965B (zh) 2010-03-05 2011-01-07 中继器

Country Status (4)

Country Link
US (1) US8670327B2 (zh)
JP (2) JP4856790B2 (zh)
CN (1) CN102449965B (zh)
WO (1) WO2011108174A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104953999A (zh) * 2014-03-26 2015-09-30 联发科技股份有限公司 馈通信号传输电路和方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013054497A1 (ja) 2011-10-14 2013-04-18 パナソニック株式会社 中継器、中継器の制御方法、およびコンピュータプログラム
JP5552196B2 (ja) * 2011-11-17 2014-07-16 パナソニック株式会社 中継装置、中継装置の制御方法、およびコンピュータプログラム
JP5024493B1 (ja) * 2012-03-01 2012-09-12 富士ゼロックス株式会社 集積回路及び電子機器
US20130286825A1 (en) * 2012-04-30 2013-10-31 Derek Alan Sherlock Feed-forward arbitration
WO2014017069A1 (ja) * 2012-07-24 2014-01-30 パナソニック株式会社 バスシステムおよび中継器
US9124426B2 (en) * 2012-12-21 2015-09-01 Xg Technology, Inc. Hybrid ARQ system with a snapshot feedback mechanism for interference prone wireless networks
JP5842174B2 (ja) 2013-03-13 2016-01-13 パナソニックIpマネジメント株式会社 バス制御装置、中継装置およびバスシステム
TWI531187B (zh) * 2014-11-24 2016-04-21 財團法人工業技術研究院 晶片上網路之時序功率估算裝置與方法
US10728178B2 (en) 2015-12-23 2020-07-28 Intel Corporation Apparatus and method for distribution of congestion information in a switch
US10355978B2 (en) 2017-06-19 2019-07-16 Hewlett Packard Enterprise Development Lp Calculating times to live for transaction requests
US10887217B2 (en) * 2018-06-29 2021-01-05 Hewlett Packard Enterprise Development Lp Routing packets based on congestion metric thresholds and weights
US10944693B2 (en) * 2018-11-13 2021-03-09 Advanced Micro Devices, Inc. Routing flits in a network-on-chip based on operating states of routers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516412A (zh) * 2002-12-23 2004-07-28 ���Ͽع����޹�˾ 光突发交换网络中的拥塞控制
JP3716238B2 (ja) * 2002-08-21 2005-11-16 エヌイーシーコンピュータテクノ株式会社 クロスバスイッチの調停制御方法及びクロスバスイッチの調停制御方式
US20080084893A1 (en) * 2006-10-10 2008-04-10 Samsung Electronics Co., Ltd. Network-on-chip apparatus, and method for controlling dynamic frequency for the same

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI92361C (fi) * 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
KR0133409B1 (en) * 1994-12-22 1998-04-27 Korea Electronics Telecomm Compensated upc/npc algorithm to generate qos in atm networks
US5872769A (en) * 1995-07-19 1999-02-16 Fujitsu Network Communications, Inc. Linked list structures for multiple levels of control in an ATM switch
US5757771A (en) * 1995-11-14 1998-05-26 Yurie Systems, Inc. Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
CA2292828A1 (en) * 1999-12-22 2001-06-22 Nortel Networks Corporation Method and apparatus for traffic flow control in data switches
US6961340B2 (en) * 2001-04-06 2005-11-01 Texas Instruments Incorporated AAL2 receiver for filtering signaling/management packets in an ATM system
US6813673B2 (en) * 2001-04-30 2004-11-02 Advanced Micro Devices, Inc. Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation
US7417995B2 (en) * 2004-01-20 2008-08-26 Nortel Networks Limited Method and system for frame relay and ethernet service interworking
WO2006123287A2 (en) 2005-05-18 2006-11-23 Koninklijke Philips Electronics N.V. Integrated circuit and method of arbitration in a network on an integrated circuit
JP2007251777A (ja) * 2006-03-17 2007-09-27 Toshiba Corp Ip通信方法およびip通信システム
US7966419B2 (en) * 2006-07-03 2011-06-21 Palo Alto Research Center Incorporated Congestion management in an ad-hoc network based upon a predicted information utility
JP4757770B2 (ja) * 2006-10-23 2011-08-24 株式会社Kddi研究所 通信ルート選択制御装置、無線装置及び通信ルート選択方法
US8837308B2 (en) * 2009-11-04 2014-09-16 Electronics And Telecommunications Research Institute Power efficient link group communication apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3716238B2 (ja) * 2002-08-21 2005-11-16 エヌイーシーコンピュータテクノ株式会社 クロスバスイッチの調停制御方法及びクロスバスイッチの調停制御方式
CN1516412A (zh) * 2002-12-23 2004-07-28 ���Ͽع����޹�˾ 光突发交换网络中的拥塞控制
US20080084893A1 (en) * 2006-10-10 2008-04-10 Samsung Electronics Co., Ltd. Network-on-chip apparatus, and method for controlling dynamic frequency for the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104953999A (zh) * 2014-03-26 2015-09-30 联发科技股份有限公司 馈通信号传输电路和方法
CN104953999B (zh) * 2014-03-26 2018-01-26 联发科技股份有限公司 馈通信号传输电路和方法

Also Published As

Publication number Publication date
JP4856790B2 (ja) 2012-01-18
US8670327B2 (en) 2014-03-11
US20120057467A1 (en) 2012-03-08
WO2011108174A1 (ja) 2011-09-09
CN102449965B (zh) 2015-01-14
JP5400109B2 (ja) 2014-01-29
JP2011229192A (ja) 2011-11-10
JPWO2011108174A1 (ja) 2013-06-20

Similar Documents

Publication Publication Date Title
CN102449965A (zh) 中继器
CN105191233B (zh) 用于交换机内部传输的方法和设备
CN102523764B (zh) 中继装置
CN105577576B (zh) 分布式交换机架构
US8045463B2 (en) Path estimation in a wireless mesh network
CN1614956B (zh) 调度高优先级分组的方法和设备
WO2012120769A1 (ja) 中継装置、中継装置の制御方法、およびプログラム
CN103348640A (zh) 中继装置
CN103841041A (zh) 一种多流业务并发传输控制方法及装置
CN103238302A (zh) 中继器、中继器的控制方法、以及程序
US9584429B2 (en) Credit based flow control for long-haul links
US20100195531A1 (en) Method of routing virtual links in a frame-switching network with guaranteed determinism
EP2800009B1 (en) Computer system, communications control device, and control method for computer system
CN103814563A (zh) 数据通信装置、数据发送方法以及计算机系统
CN103607343B (zh) 一种适用于星载处理转发器的混合交换结构
JPH01132246A (ja) トラヒックの片寄りを無くすことができるデータ伝送システム
EP2323317A1 (en) Band control method and band control device for node device
US20130265876A1 (en) Apparatus and method for controlling packet flow in multi-stage switch
CN109104382B (zh) 一种动态调度方法、装置及系统
WO2016004820A1 (zh) 交换系统的流量转发方法和装置
US7012889B1 (en) Method and apparatus for controlling input rates within a packet switching system
US7535842B1 (en) Method and system for merging bandwidth in multiplexing flows
CN102461086B (zh) 利用pi型控制器在弹性分组环网络中分配带宽
JP5406136B2 (ja) 通信システム、トラフィック制御方法及びトラフィック制御プログラム
CN103329608A (zh) 一种调度数据流通过共享通信链路的传输的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant