CN102301365B - 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 - Google Patents
信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 Download PDFInfo
- Publication number
- CN102301365B CN102301365B CN2009801558243A CN200980155824A CN102301365B CN 102301365 B CN102301365 B CN 102301365B CN 2009801558243 A CN2009801558243 A CN 2009801558243A CN 200980155824 A CN200980155824 A CN 200980155824A CN 102301365 B CN102301365 B CN 102301365B
- Authority
- CN
- China
- Prior art keywords
- data
- tunnel
- mentioned
- dimension
- signal conditioning
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1523—Parallel switch fabric planes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质。在信息处理装置相互多维地连接而成的信息处理系统中,在信息处理装置中进行以下控制:对发出数据的维度的发送目的地和本装置的同维度的位置进行比较,在该比较的结果为,本装置的位置是前一台信息处理装置的位置的情况下,变更该数据所属的虚拟通道。
Description
技术领域
本发明涉及信息处理系统,涉及例如多个信息处理装置相互多维连接的信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及保存控制程序的计算机可读记录介质。
背景技术
多个信息处理装置相互连接的信息处理系统被称作并行计算机系统。在并行计算机系统中,作为连接多个信息处理装置的网络,最理想的方式之一是各信息处理装置与系统上的其他所有信息处理装置一一对应地连接的、被称作全连接(full connection)的方式。然而,在全连接方式中,能够想到将各信息处理装置连接时的电缆的成本会增加,电缆布线变得复杂之类的问题。因此,认为在具备非常多的信息处理装置的系统中应用全连接方式是比较困难的。
作为其代替方案,当前被广泛使用的方式是,利用多维环、多维网格之类的拓扑结构来形成网络的方式。该方式中,对一个信息处理装置一一对应地连接多个信息处理装置,并连续地实施该连接方法。其结果,使系统中所包含的所有信息处理装置相互连接。根据该方式,通过在信息处理装置间经由其他信息处理装置,从任意的信息处理装置最终能够访问系统中所包含的所有的信息处理装置。即、在理论上,能够从任意一个信息处理装置对系统上的所有信息处理装置进行访问。
然而,在利用多维环、多维网格之类的拓扑结构的方式中,所有的信息处理装置并不是一一对应地连接。因此,能想到下述问题。即,对于从某个信息处理装置向其他信息处理装置转发数据的最短路径,在全连接方式的情况下是一条,但是在利用多维环、多维网格之类的拓扑结构的情况下,信息处理装置间的最短路径存在多条。因此,需要用于决定从多条路径中采用哪条路径的路由算法。
专利文献1:日本特表2004-527176号公报
专利文献2:日本特开平08-185380号公报
专利文献3:日本特开平07-191947号公报
专利文献4:日本特开平06-266684号公报
专利文献5:日本特开平10-021208号公报
专利文献6:美国专利第6,674,720号
非专利文献1:″Age-based packet arbitration in large radix k-aryand n-cubes″,Denis Abts and Deborah Weisser,SC07,2007
非专利文献2:″Routing and flow control in systems networkalgorism″,V. Ahuja,IBM journal,1978
非专利文献3:″Flexible oblivious router algorism″,U.Par et.al.,IBM journal,1995
非专利文献4:“コンピユ一タア一キテクチヤ定量的アプロ一チ第4版”、著者:John L.Hennessy and David A.Patterson、出版社:株式会社 翔泳社、付録E、E-3 P22~概要、E-4 P30~トポロジ一関連、E-5 P45~ル一テイング関連、E-6 P57~スイツチのマイクロア一キテクチヤ関連
发明内容
本实施例的目的在于,在信息处理装置相互多维连接的信息处理系统中缩短数据的发送等待时间。
各信息处理装置对发送数据的维度中的发送目的地和本装置的同维度的位置进行比较,在发送目的地比较的结果是,本装置的位置是成为数据的上述维度中的发送目的地的前1台信息处理装置的位置的情况下,变更数据的虚拟通道。
根据本发明所公开的内容,能够在信息处理装置相互多维连接的信息处理系统中,有效利用虚拟通道来缩短数据的发送等待时间。
附图说明
图1是用于对实施例1的信息处理系统的整体构成例进行说明的框图。
图2是用于对图1中各信息处理装置的内部构成例进行说明的框图。
图3是用于对由图2中的路由控制器实施的、基于维序路由方式的维度控制方法进行说明的处理流程图。
图4是用于对由图2中的路由控制器实施的虚拟通道控制方法进行说明的处理流程图。
图5是对图2中的路由控制器的构成例进行说明的框图。
图6是用于举例对图4示出的虚拟通道控制方法进行说明的图(之一)。
图7是用于举例对图4示出的虚拟通道控制方法进行说明的图(之二)。
图8是用于对通过实施虚拟通道控制方法而获得的作用效果进行说明的图(之一)。
图9是用于对通过实施虚拟通道控制方法而获得的作用效果进行说明的的图(之二)。
图10是用于对虚拟通道控制方法的动作流程具体地进行说明的处理流程图。
图11是用于对能在实施例1的信息处理系统中应用的数据包的构成例进行说明的图。
图12是用于对图2中的路由控制器所具备的交叉开关接口的构成例进行说明的图(之一)。
图13是用于对图2中的路由控制器所具备的交叉开关接口的构成例进行说明的图(之二)。
图14是用于对图2中的路由控制器的构成例进行说明的图。
图15是用于对图2中的信息处理部的构成例进行说明的框图。
图16是用于对用于验证应用了实施例1的情况下的效果的模拟结果进行说明的图。
图中标号说明
4 路由控制器
5 信息处理部
41 交叉开关
42、43、44、45 各方向的交叉开关接口
48 CPU交叉开关接口
402 包头分析部
404、405 缓冲区
408 包头发送部
VC0、VC1 虚拟通道
P11、P12、P21、P12 数据收发端口
具体实施方式
图1是实施例1中的信息处理系统的整体构成图。在图1中,信息处理系统具有各节点N连接成2维环状的拓扑。即图1中,位于左右端部的节点分别通过(0)、(1)、...、(5)的相同数字连接。同样,位于上下端部的节点分别通过(10)、(11)、...、(15)的相同数字连接。其结果,各节点连接成2维环状。
这里,每个节点N都是信息处理装置。在图1的构成例的情况下,节点N沿着+/-x方向(图中横向)排列有6个,沿着+/-y方向(图中纵向)排列有6个,共计包括36个节点N。另外,在图1中,右方向为+x方向,下方向为+y方向。各节点N与在+/-x方向、+/-y方向上相互邻接的节点N之间,通过物理通道彼此连接。各物理通道为双向通道。这里,如图1所示,36个节点N当中,位于-x和-y方向的角的节点N00(图1中左上角的节点N00)的坐标为原点(0,0)。同样,位于+x和+y方向的角的节点N55(图1中右下角的节点N55)的坐标为(5,5)。同样,位于+x和-y方向的角的节点N50(图1中右上角的节点N50)的坐标为(5,0)。同样,位于-x和+y方向的角的节点N05(图1中左下角的节点N05)的坐标为(0,5)。即相对于位于原点的节点N而言,在+x方向位于第n个、在+y方向位于第m个的节点N的坐标为(n,m)。例如在图1中,相对于位于原点的节点N00而言,在+x方向位于第3个、在+y方向位于第2个的节点N32的坐标为如图所示的(3,2)。另外,在图1中,各节点的坐标被标记在表示该节点的正方形的右上角的外侧部分。
图2是用于对各节点N的内部构成例进行说明的框图。如图2所示,节点N具备路由控制器4和信息处理部5。路由控制器4对由信息处理部5生成的数据包、或者从邻接节点转发来的数据包进行维度控制以及虚拟通道控制。关于维度控制以及虚拟通道控制将在后面进行说明。这里,连接节点间的物理通道在节点N内部中被连接于路由控制器4。另外,信息处理部5具有CPU(中央处理单元;Central Processing Unit),在后面将结合图15进行说明。
路由控制器4实施被称作所谓的维序路由的路由方式。下面将对维序路由进行说明。如图1所示,设想多个信息处理装置、即节点N被多维、在实施例1中是被2维连接的信息处理系统。所谓的维序路由,是指在节点被多维连接的信息处理系统中,按照遵循规则的顺序使各维度的坐标依次与发送目的地的坐标一致这样的算法。对于上述遵循规则的顺序,例如在连接成上述2维环状的信息处理系统的情况下为x、y的顺序。这里,设想多个信息处理装置连接成如实施例那样的2维环状的信息处理系统,并且出发点、即信息的发送源的坐标为(0,0)、到达点即信息的发送目的地的坐标为(2,1)的情况。在该情况下,以(0,0)→(1,0)→(2,0)→(2,1)的顺序转发数据包。
即,首先,沿着在x坐标上配置的节点转发数据包。这里,在节点间依次转发数据包,直到保持数据包的节点的x坐标值与数据包的发送目的地的x坐标一致。在保持数据包的节点的x坐标值与数据包的发送目的地的x坐标一致了的情况下,该节点向y轴方向转发数据包。然后,沿着在y轴方向配置的节点转发数据包。这里,在节点间依次转发数据包,直到保持数据包的节点的y坐标值与数据包的发送目的地的y坐标一致。即、在某个维度上,在同维度上的节点间依次转发数据包,直到保持数据包的节点的位置与发送目的地位置一致。接着,变更维度,在变更后的维度上,在同维度上依次转发数据包,直到保持数据包的节点的位置与同维度的发送目的地位置一致。根据该顺序,在各维度上保持数据包的节点的位置依次与发送目的地位置一致。最终,在所有维度上,保持该数据包的节点的位置与发送目的地位置一致。即数据包到达发送目的地的节点。
该路由算法的优点在于,通过包含后述的日期变更线所涉及的控制,在理论上不会引起由于数据的转发路径成为闭环结构而出现的死锁、即成为无死锁。
另外,图2中的P11、P12、P21、P22分别表示后述的收发端口。
图3是对实施例1中的、用于进行维序路由的维度控制方法进行说明的流程图。
图3中,在步骤S1中,在以i维度发送数据包的情况下,从邻接的节点接收到数据包的节点,判定数据包是否已到达i维度的发送目的地。在位于i维度的发送目的地的节点以外的节点接收到数据包的情况下,该节点沿着与接收到数据包的维度相同的维度发送数据包。即,该情况下,当数据包沿着x轴被转发过来时,接收到该数据包的节点发送数据包的维度继续是x轴。
在步骤S1中,各节点从所接收到的数据包的包头读取数据包的x轴的发送目的地坐标。另外,关于数据包的构成例,将结合图11在后面进行说明。并且,将所读取的数据包的x轴的发送目的地坐标与本装置的x坐标进行比较。在比较的结果是数据包的发送目的地x坐标与本装置的x坐标一致的情况下(步骤S1的是),数据包在当前时刻到达x轴的发送目的地。因此,下一个维度,为了到达(i+1)维度、例如y轴的发送目的地,将进行数据包的转发的维度变更成(i+1)维度、即y轴(步骤S2)。另一方面,在步骤S1的判定结果为否的情况下,由于数据包尚未到达x轴的发送目的地,因此为了到达x轴的发送目的地,接收到数据包的节点继续将x轴维持成进行该数据包的转发的维度(步骤S3)。
这里,维序路由的算法如上述那样具有无死锁这样的优点,另一方面,从通信效率这样的观点考虑的话仍有研究的余地。即、在应用了维序路由的情况下,在实际运用时,与从x轴向y轴以跨维度的方式进行的转发相比,如上述的例所示那样在沿x轴、y轴等轴一直前进的方式的通信被认为相当多。其结果,能够想到下述情形,即、节点间在对所接收到的数据包进行临时保存的缓冲区的使用率上出现不均,发生数较少的、跨轴的方式的转发会阻碍直线前进的方式的转发。在实施例1中,采用具有无死锁这一特点的维序路由,同时使系统整体的通信效率提高。
图4是用于对实施例1的虚拟通道控制方法进行说明的流程图。
图4中,节点在发出数据包时,判定所发出的数据包是否超过了日期变更线(步骤S11)。这里,所谓的日期变更线,按每个维度决定,设于各维度的规定的节点间。所谓的各维度的规定的节点间,例如在如图1所示的信息处理系统的情况下,是指左右端的节点在(0)、(1)、(2)、...、(5)分别相互连接的部分。而且,同样,也指上下端的节点在(10)、(11)、(12)、...、(15)分别相互连接的部分。所谓的日期变更线,如图1示出的信息处理系统那样,在连接成环状的信息处理系统中,在实施上述维序路由时,为了实现无死锁而被设置。即,若转发数据包的路径是维度被变更的机会较少的路径,则在同一维度转发数据包期间,存在发生死锁的可能性。在如上述那样转发数据包的路径是维度被变更的机会较少的路径的情况下,为了在同一维度转发数据包期间使产生虚拟通道的变更而设置日期变更线。其结果,在实施维序路由的基础上,能够实现无死锁。
这里,对虚拟通道进行说明。例如在如图1示出的信息处理系统那样的、节点连接成环状的结构中,节点间在物理上通过1个通道连接。在实施例1中,在各节点设置多个缓冲区,对多个缓冲区的每一个分配虚拟通道。其结果,能够获得如下效果,即节点间通过与上述多个缓冲区数目相同的多个虚拟通道而被连接。
对上述死锁进行说明。在如图1示出的信息处理系统那样的连接成环状的结构中,在转发数据包时,有时特定的多个节点会成为闭环结构。在特定的多个节点成为闭环结构的情况下,有时会在各节点所具有的一个虚拟通道的所有缓冲区中保存有数据包,从而成为没有空置的状态。在各节点所具有的一个虚拟通道的所有缓冲区中保存有数据包,从而没有空置的状态下,各节点发出数据包的接收侧节点所具有的上述一个虚拟通道的缓冲区中无空置。因此,各节点无法发出保存在上述一个虚拟通道的缓冲区中的数据包。将这种状态称为死锁。通过上述日期变更线的功能,在同一维度转发数据包期间,若超过日期变更线则发生虚拟通道的变更。通过虚拟通道的变更,上述闭环结构中包含的各节点所具有的缓冲区中、与上述无空置的缓冲区不同的虚拟通道的缓冲区被使用。由此,若使用与无空置的缓冲区不同的虚拟通道的缓冲区,则该不同的虚拟通道的缓冲区中有空置,节点能够向接收节点的该缓冲区的空置发出数据包。因此上述死锁不会发生。
回到图4的说明,在S11中,当节点接收到数据包时,判断是否是如下情况,即该节点是与日期变更线邻接的节点、且发出数据包的方向是超过日期变更线的方向。在判断的结果为,该节点是与日期变更线邻接的节点、且发出数据包的方向是超过日期变更线的方向的情况下,则步骤S11的判定结果为是。在步骤S11的判定结果为是的情况下,将数据包的虚拟通道从当前的虚拟通道变更为其他虚拟通道(步骤S12)。例如从一个虚拟通道变更为其他虚拟通道。这里,虚拟通道的变更是通过重写数据包所具有的包头中的虚拟通道信息VC(将结合图11在后面进行说明)来进行的。若数据包的包头的虚拟通道信息VC被重写,则在接收到该数据包的接收侧的节点进行接下来的动作。即,在接收侧的节点中,将所接收到的数据包保存到接收到的数据包所具有的包头中的虚拟通道信息VC所表示的虚拟通道的缓冲区中。
在步骤S11的判定结果为否的情况下,转移到步骤S13。在步骤S13中,判定相对于发出数据包的维度的发送目的地坐标,本节点的同维度的坐标是否是前一台节点的坐标。在判定的结果为,本节点的坐标是发送目的地坐标的前一台的坐标的情况下(是),将数据包的虚拟通道从当前的虚拟通道变更成其他虚拟通道(步骤S14)。例如,从一个虚拟通道变更成其他虚拟通道。
在步骤S13的判定结果为否的情况下,转移到步骤S15。在步骤S15中,判定发出数据包的维度的发送目的地坐标是否与本节点的同维度的坐标一致。在判定的结果为坐标一致的情况下(是),判定本节点是否是该数据包的最终的发送目的地(步骤S16)。在判定的结果为,本节点是该数据包的最终的发送目的地的情况下(是),结束图4的处理。另一方面,在步骤S16的判定的结果为否的情况下,当数据包的虚拟通道已经在上述步骤S11或步骤S13中被变更时,使数据包的虚拟通道回到变更前的虚拟通道(步骤S17)。例如从上述其他虚拟通道回到一个虚拟通道。在数据包的虚拟通道未在上述步骤S11或步骤S13中被变更的情况下,在步骤S17中不进行任何虚拟通道的变更。
下面,结合图5~7,对结合图4进行了说明的上述虚拟通道控制方法进行更加具体的说明。
在虚拟通道控制方法中,如上所述,各节点具有多个缓冲区。并且,设置多个具有这种结构的收发端口。关于应用了虚拟通道控制方法的节点N的构成,将结合图5在下面进行说明。
图5表示结合图2进行了说明的上述的各节点N的构成。但是,图5的情况下,为了便于说明而仅仅示出路由控制器4的功能所涉及的构成。如图5所示,路由控制器4具有交叉开关41。该交叉开关41具有如下功能,即在具有交叉开关41的节点N发出的数据包发生了冲突的情况下,其作为进行协调的协调部。
这里,作为结合图1、2说明的上述各节点N收发数据的端口,在各方向具有1组数据收发端口。这里,1组数据收发端口是指,1个发送端口和1个接收端口的组合。作为收发端口,在节点N设有+x方向用的收发端口P11、-x方向用的收发端口P12、+y方向用的收发端口P21、以及-y方向用的收发端口P22共计4组收发端口。另外,对于各收发端口,设有虚拟通道的个数的量的缓冲区,该缓冲区临时保存发出的数据包。在实施例1的情况下,虚拟通道为VC0、VC1共计2个,在节点N共计设有4组收发端口,因此缓冲区如图5所示,设有共计8个。在图5中,每个收发端口设置的2个缓冲区被表示为VC0、VC1。所谓发出的数据冲突的情况,是指相对于发出数据包的各方向,发出了虚拟通道相同的两个以上的数据包的情况。
此外,被节点N接收的数据包,按照每个被接收的方向,被保存在2个缓冲区(VC0,VC1)当中的、设于该数据包的虚拟通道一侧的缓冲区中。各缓冲区具有FIFO(先入先出;First In First Out)结构,在如上所述被保存于各缓冲区的数据包当中,从最前面的数据包开始依次被发出。这里,在上述共计8个缓冲区的最前面的数据包当中,虚拟通道相同、且其发出的方向相互一致的多个数据包,成为上述冲突的数据包。
图6是用于对实施了结合图4说明了的上述的虚拟通道控制方法的情况下的数据包的动作进行说明的图。图6中,如作为数据转发方向A而示出的那样,数据被从位于右下的节点向位于左上的节点转发。即、图6中,数据从节点N1被依次转发至N5。但是,在图6的例子的情况下,节点N5并不是该数据包的最终的发送目的地的节点。
在图6中,各节点所具有的2个椭圆分别表示虚拟通道VC0、VC1的缓冲区。另外,上述2个椭圆中的、划有阴影线的一侧的椭圆表示保存有上述数据包的一侧的缓冲区。
图6中,数据首先向左方向从节点N1被转发至N3,在数据到达维度的发送目的地、即节点N3的位置之后,转发数据的维度被变更。然后,在图6中,数据向上方向从节点N3被转发至N5。在图6的例子的情况下,设定在转发数据时不会超过日期变更线。因此,在图6示出的数据转发期间,图4的步骤S11的判定结果总是为否。
图6中,数据从节点N1被发送到N2时,接收到数据的维度的节点N2的坐标是该维度的发送目的地的节点、即N3的前一台的坐标。因此,图4的步骤S13的判定结果为是。这里,对于节点N2所接收的数据,表示为SD1,在各节点N1、N2中使用虚拟通道VC0的缓冲区。因此,在节点N2,根据S13的判定结果变更数据的虚拟通道、转发数据时所使用的缓冲区从虚拟通道VC0的缓冲区被变更为VC1的缓冲区(步骤S14)。其结果,数据在从节点N2被发出之后(SD2),被保存于节点N3的虚拟通道VC1的缓冲区中。
这里,从节点N2接收到数据的维度的节点N3的坐标,与该维度的数据的发送目的地的坐标一致。因此,节点N3处的图4的步骤S15的判定结果为是。另外,节点N3不是数据的最终的发送目的地的节点(步骤S16的否)。其结果,在从节点N3向节点N4发出数据时(SD3),转发数据的虚拟通道从当前的VC1回到VC0(步骤S17)。即,通过通道转换(SD1),从VC0向VC1移动了的数据,再次回到原来的虚拟通道VC0(SD3)。然后,数据从节点N4被向节点N5发送。从节点N4向节点N5的数据发送在图6中表示为SD4。
接下来,结合图7,对与图6的例子不同的虚拟通道控制方法的例子进行说明。
图7是从结合图1说明的上述节点的排列中抽出沿x轴排列的6个节点N11~N16来进行表示的图。各节点N11~N16的x坐标分别为0~5。为了便于说明,在图7中,设定数据包被从-x侧向+x侧转发。另外,在图7中,各节点的上段表示虚拟通道VC0的缓冲区,下段表示虚拟通道VC1的缓冲区。另外,在各节点内示出的“0>3”、“0>2”、“1>4”,“1>3”之类的事项,表示被保存在各节点的缓冲区中的数据包。这里,例如“0>3”的“>”的左侧的数字“0”表示数据包的发送源的x坐标,右侧的数字“3”表示数据包的发送目的地的x坐标。
另外,在图7的例子中,日期变更线设于x坐标“0”与“5”之间、即节点N11与节点N16之间。例如对于在节点N16的VC0的缓冲区的最上段保存的数据“4>1”来说,发送源的x坐标是4、发送目的地的x坐标是1。即、该数据被从节点N15向节点N12转发。这里,在实施例1中,形成环状的连接、即圆环状的连接,转发方向为单一的方向,在图7的例子的情况下,x轴的维度中的数据的转发方向为+x方向。因此,“4>1”的数据包,被从位于节点N16的左侧相邻位置的、x坐标为4的节点N15沿+x方向发送,并由节点N16接收,然后,在被从节点N16向x坐标为0的节点N11转发之后,被从节点N11向x坐标为1的节点N12转发。即,该情况下,由于是圆环状的连接,数据包到达x坐标的最大值“5”的节点N16之后,被从N16直接向x坐标具有最小值“0”的节点11发送。然后,数据包被转发至发送目的地的x坐标“1”的节点N12。这里,在数据包从节点N16被向节点N11转发时,数据包通过x坐标“5”与“0”之间、即日期变更线。在该情况下,图4的步骤S11的判定结果为是,虚拟通道从当前的VC0变更成VC1。
接下来,在图7中,着眼于在节点N12下段的虚拟通道VC1的缓冲区的最上段示出的数据包“0>1”。对于该数据包来说,发送源的x坐标为“0”、即是保持该数据包的节点N12的左边紧相邻的节点N11的坐标位置。另外,数据包的发送目的地x坐标为“1”,是节点N12自身的坐标位置。因此,数据包是从节点N11向着节点N12,向+x方向、即图7中的右侧被发送来的数据包。在从节点N11向节点N12发送数据包之前,在节点N11,判定为数据包的虚拟通道为VC0,相对于发出数据包的维度、即x轴的维度的发送目的地“1”,自身的同维度的坐标位置“0”为前1台节点的坐标(图4中步骤S13的是)。其结果,在节点N11,虚拟通道从VC0变更成VC1(图4中的步骤S14)。然后,通过虚拟通道VC1,该数据包被节点N12接收。按照同样的次序,在各个节点的左侧紧相邻的节点中,数据包的虚拟通道从VC0变更成VC1,在此基础上节点所接收到的数据包如下。即,在图7中,在节点N13中为下段的“1>2”、“0>2”,在节点N14中为下段的“2>3”、“1>3”、“0>3”,在节点N15中为下段的“3>4”、“2>4”、“1>4”。并且,在节点N16中为下段的“4>5”、“3>5”、“2>5”。
由此,在实施例1中,应用超过日期变更线的数据的虚拟通道从VC0变更成VC1这一规则,即、除了图4中的步骤S11、S12之外,还应用图4中的步骤S13、S14的规则。即,增加在如从x轴向y轴移动那样、数据转发的维度发生变化的节点的前1台节点中变更虚拟通道这样的规则。
下面对上述实施例1的效果进行说明。
作为实施例1的效果,能够举出与交叉开关41的握手机会和其成立概率增大。关于这一点,结合图8进行说明。在各节点,在向其他节点发出数据时进行以下动作。首先,对交叉开关41,从具有各方向的收发端口的交叉开关接口42~45发出数据的发送请求。并且,若收到发送请求的交叉开关41成为能发送的状态,则向交叉开关接口42~45给予发送允许。通常缓冲区具有FIFO结构,仅针对各缓冲区的最前面的数据包发出发送请求。在图8中,每个虚拟通道的缓冲区表示为VC0、VC1。
在实施例1的情况下,将图4中的步骤S13、S14的规则追加到步骤S11、S12的规则中而设置,因此,虚拟通道VC0、VC1间的数据包移动的机会大幅增大。其结果,对于各方向的收发端口,数据包容易分散在VC0、VC1两个缓冲区。其结果,如图7所示,在节点间转发的数据包不会偏向于一方的虚拟通道的缓冲区,数据包分别被分散地保存在VC0、VC1两个缓冲区。其结果,针对各缓冲区的最前面的数据包,向交叉开关41发出发送请求,因此成为同时发出多个发送请求的状态。其结果,在各交叉开关接口42~45与交叉开关41之间,握手成立的可能性也增大。这里,所谓握手的成立是指,在某个方向的交叉开关接口42~45向交叉开关41发出发送请求时,给予针对发送请求的发送允许。
在图8的例子中,被保存在各交叉开关接口的虚拟通道VC0、VC1的各自的缓冲区中的数据包的虚拟通道未变更。即,保存在虚拟通道VC0的缓冲区的数据包的虚拟通道为VC0,同样,保存在虚拟通道VC0的缓冲区的数据包的虚拟通道为VC1。
另外,在图8的例子中,假定以下的情况。即,-x的交叉开关接口43的虚拟通道VC0的缓冲区的最前面保存朝向+x方向的数据包,在虚拟通道VC1的缓冲区的最前面保存朝向+y方向的数据包。同样,在-y的交叉开关接口45的虚拟通道VC0的缓冲区的最前面保存朝向+y方向的数据包,在虚拟通道VC1的缓冲区的最前面保存朝向+x方向的数据包。在这种情况下,交叉开关41进行以下那样的动作。
针对交叉开关接口43的虚拟通道VC0的缓冲区的朝向+x方向的数据包,向交叉开关41发出发送请求(S21)。同样,针对朝向+y方向的虚拟通道VC0的缓冲区的数据包,从交叉开关接口45向交叉开关41发出发送请求(S22)。上述S21、S22的发送请求的方向为+x、+y,彼此不同。因此,从交叉开关接口43被发送的数据包、与从交叉开关接口45被发送的包不冲突。因此,针对来自两个交叉开关接口43、45的发送请求S21、S22,交叉开关41分别发出发送允许。其结果,与两个交叉开关接口43、45的发送请求S21、S22有关的数据包均被发出。
同样,针对朝向+y方向的虚拟通道VC1的缓冲区的数据包,从交叉开关接口43向交叉开关41发出发送请求S23。同样,针对朝向+x方向的虚拟通道VC1的缓冲区的数据包,从交叉开关接口45向交叉开关41发出发送请求(S24)。来自两个交叉开关接口43、45的发送请求S23、S24的方向为+y、+x,彼此不同。因此,来自两个交叉开关接口43、45的发送请求S23、S24不冲突。因此,针对来自两个交叉开关接口43、45的发送请求S23、S24,交叉开关41分别发出发送允许。其结果,与来自两个交叉开关接口43、45的发送请求S23、S24有关的数据包均被发出。
由此,根据实施例1,2个数据包被同时发出,并行性较高。即,根据实施例1,在各收发端口,所有的数据包有效利用2个虚拟通道VC0、VC1来从最前面发出。其结果,使用不同的虚拟通道同时地并行发出多个发送请求的可能性提高,数据包的发送方向不冲突的可能性增加,数据发送的效率增加。
这里,在如图1示出的结构的信息处理系统的情况下,在虚拟通道VC0存在同轴通信的数据包、相对地在虚拟通道VC1中,轴移动的通信的数据包存在的频度增高。这里,所谓同轴通信是指不移动维度而被转发的数据,所谓轴移动的通信是指移动维度而被转发的数据。其结果,与经由各虚拟通道同时地并行发出多个来自各交叉开关接口的发送请求的效果相结合,能够同时地从多个方向的收发端口并行发出数据包的机会的频度增高。能够同时地从多个方向的收发端口并行发出数据包的机会的频度增高的理由如下。即,如上所述,由于从各虚拟通道的缓冲区同时地并行发出多个来自各交叉开关接口的发送请求,因此,与其他发送请求不冲突的发送请求的发生频度增高。由于与其他发送请求不冲突的发送请求能够立刻被允许并进行发送,因此能够同时地从多个方向的收发端口并行发出数据包的机会的频度增高。
另外,在实施例1中,如图7所示,虚拟通道VC0的缓冲区的使用率与虚拟通道VC1的缓冲区的使用率之差较小。其结果,能够立刻结束缓冲区的使用,最终能够降低数据滞留这样的情形发生的可能性。即,根据实施例1,由于在虚拟通道VC0、VC1的共计2个缓冲区均等地分配数据包,因此不用增加物理上的缓冲区的量,就能够在实质上获得与增加了虚拟通道VC0的缓冲区的量同样的效果。
而且,根据实施例1,由于能够向交叉开关41同时地发出多个发送请求,因而当某个数据包成为了能转发的状态时,错过其转发机会的可能性减低。因此,能够抑制交叉开关41进行协调时所用的时间的偏差。作为一例,在图9示出的参照例中是如下的情况,即、产生了由步骤S32表示的+y方向的同轴通信,同时产生了由步骤S31表示的从另一轴、即+x方向向+y方向变更转发方向的轴移动的通信。在该情况下,上述同轴通信S32和轴移动的通信S31的发送方向分别为+y,彼此一致。另外,虚拟通道也分别为VC0,彼此一致。因此,针对S32、S31各自的通信的发送请求彼此冲突。其结果,无法同时实施S32、S31各自的通信,对于一方的通信来说,会失去通信机会。与此相对,根据实施例1,如上述的图8示出的例子中所示那样,数据包被分散地保存在2个虚拟通道的缓冲区VC0、VC1。其结果,即使是在产生了由步骤S22表示的+y方向的同轴通信、和由步骤S23表示的从+x方向向+y方向变更转发方向的通信,从而发送方向为+y,彼此一致的情况下,也能同时实施S22、S23各自的通信。
即,根据实施例1,由于能够向交叉开关41同时地并行发出多个发送请求,因而能够有效地降低失去通信机会的情形的发生频度。即,在图8示出的实施例1的情况下,进行以下所示的动作。由步骤S22表示的同轴通信的数据包和由步骤S23表示的来自其他轴的轴移动的通信的数据包都分别来到与彼此不同的虚拟通道对应的缓冲区VC0、VC1的最前面。若同轴通信的数据包和来自其他轴的轴移动的通信的数据包都来到与不同的虚拟通道对应的缓冲区VC0、VC1的最前面,则同时地并行发出同轴通信的发送请求和轴移动的通信的发送请求。因此,同轴通信和轴移动的通信被同时地并行实施。
另外,在图9的参照例中,步骤S31、S32都处于+y方向的数据包在缓冲区的最前面,并发出了针对+y方向的发送请求的状态。另一方面,在保存有S31、S32的通信所涉及的数据包的各交叉开关接口43、45的各自的VC0的缓冲区中,在朝向该+y方向的数据包之后,保存有朝向+x方向的数据包。然而,由于上述朝向+x方向的数据包不在缓冲区的最前面,因此无法向交叉开关41发出发送请求,从而无法发送。与此相对,根据图8所示的实施例1,朝向+x方向的数据包,在各交叉开关接口43、45中,被保存于虚拟通道的缓冲区VC1中。该虚拟通道VC1的缓冲区与保存有朝向+y方向的数据包的虚拟通道VC0的缓冲区不同。因此,上述朝向+x方向的数据包分别在虚拟通道VC1的缓冲区的最前面。因此,如步骤S21、S24所示,能够同时并行地向交叉开关41发出上述朝向+X方向的各个数据包的通信请求。
由此,根据实施例1,如图8所示,朝向+x方向的数据包和朝向+y方向的数据包两方均来到缓冲区的最前面的可能性增加。若朝向+x方向的数据包和朝向+y方向的数据包两方均来到缓冲区的最前面,则进行以下动作。即,同时并行地发出朝向+x方向的数据包的发送请求(S21、S24)和朝向+y方向的数据包的发送请求(S23、S22)。因此,如图8所示,x轴的通信和y轴的通信被同时并行地实施。根据实施例1,通过上述效果,并行计算机系统整体的通信效率提高。
图10是用于对本实施例的虚拟通道控制方法进行更为具体的说明的流程图。图10中,节点发出数据包时,在步骤S31中确认数据包的发送目的地。这里,所确认的发送目的地是发出数据包的维度中的发送目的地。发出数据包的维度通过上述维度控制方法的实施来确定。例如如果发出数据包的维度是x轴,则确认数据包的x坐标的发送目的地。接下来,在步骤S32中,将所确认到的数据包的发送目的地与本节点的位置进行比较。如果比较的结果是,本节点的位置相对于数据包的发送目的地是前一台节点(S32是),即当前的位置是发送目的地的前一台,则转移到步骤S33。在步骤S33中,节点将发出数据包的虚拟通道从当前的虚拟通道变更成其他虚拟通道。另一方面,在步骤S32的判定结果为否的情况下,节点不对该数据包进行虚拟通道的变更(步骤S34)。在步骤S33或者S34之后,节点向交叉开关41发送数据包。
在实现如图10等所示的虚拟通道控制方法时,能够利用数据包的包头中保存的信息。数据包的所需要的最低限度的构成如图11所示。即,作为包头而保存成为数据包发送目的地的节点的x坐标以及y坐标。另外,还能采用以下方法,即:作为数据包的包头中所保存的信息,用到发送目的地的相对坐标来取代上述的发送目的地坐标。在该方法的情况下,将到发送目的地的相对坐标保存在包头中,每当数据包在节点间移动时,就适当地重写该相对坐标。并且,在数据包的包头中保存有虚拟通道信息VC(例如2比特)。在虚拟通道信息VC中,被写入有用于识别该数据包的虚拟通道是VC0、还是VC1的信息。各节点若接收到数据包,则参照该虚拟通道信息VC,将该包保存于虚拟通道信息VC所表示的虚拟通道的缓冲区中。
图12是表示图2示出的路由控制器4内的构成例的框图。图12表示设于图2示出的4个方向+x、-x、+y、-y的各方向的收发端口上的4个交叉开关接口42~45、以及将结合图14在后面进行说明的CPU交叉开关接口48的各自的构成例。
图12示出的交叉开关接口42~45以及CPU交叉开关接口48,分别具有包输入部401、包头分析部402、多路分配器403、虚拟通道VC0的缓冲区404、虚拟通道VC1的缓冲区405、多路复用器406和包输出部411。
包输入部401被连接于包头分析部402,经收发端口,将设有该路由控制器的节点所接收到的数据包交付给包头分析部402。在包头分析部402中,确认所接收到的数据包的包头中保存的发送目的地x坐标、发送目的地y坐标以及虚拟通道信息VC,分别根据确认结果执行结合图3说明的上述维度控制方法以及结合图4说明的上述虚拟通道控制方法。
通过包头分析部402执行虚拟通道控制方法,决定是否变更该数据包的虚拟通道。在上述决定的结果是变更虚拟通道的情况下,包头分析部402重写数据包的虚拟通道信息VC。在上述决定的结果是不变更虚拟通道的情况下,包头分析部402不重写数据包的虚拟通道信息VC。然后,包头分析部402向多路分配器发送数据包。另外,包头分析部402在从多路复用器406向交叉开关41发出该数据包时,预先向交叉开关41发送该数据包所涉及的发送请求408。
多路分配器403在包头分析部402的控制下,在从包头分析部402发出的数据包的、被该节点接收到的时刻的虚拟通道信息VC所表示的虚拟通道的缓冲区404或者405中保存该数据包。即,即使在包头分析部402如上述那样实施虚拟通道控制方法的结果是重写了虚拟通道信息VC的情况下,多路分配器403也将数据包保存于重写前的虚拟通道信息VC所表示的虚拟通道的缓冲区中。
被保存在各缓冲区404、405的数据包,在包头分析部402的控制下,依次经由多路复用器406被从该交叉开关接口向交叉开关41发送。在数据包被从交叉开关接口向交叉开关41发送时,如上所述,预先从该交叉开关接口的包头分析部402向交叉开关41发送针对该数据包的发送请求408。在包头分析部402中,仅在从交叉开关41给予了发送允许的情况下,才从缓冲区404、405取出数据包,并经多路复用器406向交叉开关41发出。
在交叉开关41中,在由此从各交叉开关接口42~45、48发送的发送请求发生了冲突的情况下,进行发送请求间的协调。另外,所谓发送请求冲突的情况是指,多个发送请求所涉及的数据包的发出方向彼此一致、且虚拟通道信息VC所表示的虚拟通道彼此一致的情况。对于针对4组收发端口的协调顺序没有特别限定,但是可以考虑例如预先对4组收发端口建立等级并遵循该等级的方法、加入协调的履历的方法等。
在数据包的发送请求与其他数据包的发送请求不冲突的情况下,交叉开关41向该数据包给予发送允许。并且,交叉开关41向发出方向的交叉开关接口发送根据该发送允许而从发送源的交叉开关接口发送过来的数据包。另一方面,在数据包的发送请求与其他数据包的发送请求冲突的情况下,交叉开关41如上述那样进行协调。协调的结果是,交叉开关41向一方的数据包给予发送允许。并且,交叉开关41向发出方向的交叉开关接口发送根据该发送允许而从发送源的交叉开关接口发送过来的数据包。数据包被从该发出方向的交叉开关接口的包输出部411经收发端口向节点的外部发出。
图12的例子中,交叉开关接口42~45、48的各自的各功能块401、402、403、404、405、406、411全部通过硬件来实现。通过这样由硬件来实现,与由软件来实现的情况相比,具有能够高速地执行数据包的处理的优点。
图13表示了在图12示出的各交叉开关接口42~45、48的各自的构成中,设置了包头发送部408来取代包头分析部402的例子。在图13的例子的情况下,将包头分析部402所进行的动作,通过由设于交叉开关接口的外部的信息处理部5执行软件来实现。其他方面与图12的情况相同,省略重复的说明。这里,在图13的构成的情况下,在变更结合图3说明的上述维度控制方法或者结合图4说明的上述虚拟通道控制方法这样的情况下,能够比较容易地变更维度控制方法或者虚拟通道控制方法的具体内容。即,在图13的构成的情况下,仅通过变更安装于信息处理部5的软件,便能够容易地变更维度控制方法或者虚拟通道控制方法的具体内容。其结果,能够容易地变更路由的方法。
图14是表示在各方向+x、-x、+y、-y的收发端口P11、P12、P21、P22配设有交叉开关接口42~45的路由控制器4的构成例的框图。如图14所示,在路由控制器4中,除了设有各方向的交叉开关接口42~45之外,还设有上述CPU交叉开关接口48。CPU交叉开关接口48在节点中与信息处理部5连接。在实施例1中,CPU交叉开关接口48具有与结合图12、图13说明的上述各方向的交叉开关接口42~45相同的构成。CPU交叉开关接口48若从信息处理部5接收到数据包,则经由图12中的包输入部401向包分析部402交付数据包。包分析部402执行图3的维度控制方法以及图4的虚拟通道控制方法。作为维度控制方法中的“发出数据包的维度”,作为初始值例如设定第1维度、即x轴。另外,作为虚拟通道控制方法中的“数据包的虚拟通道”,作为初始值例如设定第1虚拟通道、即虚拟通道VC0。另外,交叉开关41除了接收来自各方向的交叉开关接口42~45的发送请求之外,还接收来自CPU交叉开关接口48的发送请求,并根据需要进行包括来自CPU交叉开关接口48的发送请求在内的发送请求间的协调。
图15表示信息处理部5的构成例。图15中,主体部101大体上具有通过总线200连接的CPU201、由RAM或ROM等构成的存储器部202、光盘110用的光盘驱动器203以及硬盘驱动器(HDD)204。显示器102、键盘103以及鼠标104也如图所示经总线200与CPU201连接,但是它们也可以直接与CPU201连接。另外,信息处理部5的构成不局限于图15所示的构成,可以使用各种周知的构成来取代。
在上述构成的信息处理部5中,在采用图13的构成的情况下,用于使计算机执行上述维度控制方法以及虚拟通道控制方法的程序被安装并由CPU201执行。其结果,如结合图13所说明的那样,能利用软件实现维度控制方法以及虚拟通道控制方法。
下面,对通过模拟来验证了实施例1的作用效果的结果进行说明。模拟的初始条件和设定内容如下。
●作为拓扑,以8节点×8节点的排列形成2维环状的连接。
●设置2个CPU交叉开关接口48。
●数据包的模式:所有的节点具有64个数据包,各个节点向其他节点转发数据包。对于64个数据包的模式,在所有的节点中具有“相同的目的地+长度”的组合模式。
●“包的长度”、“数据包的目的地”采用均匀随机数来设定。“数据包的长度”在与1~128时钟周期相当的范围内设定。
●所有的数据包在初始状态下被保存在CPU交叉开关接口48。
●没有电缆延迟。
另外,模拟中的算法如下。
1)交叉开关41确认当前的发送状况。
2)交叉开关41确认从CPU交叉开关接口48和各方向的交叉开关接口42~45发送的发送请求,进行对应于发送状况的公平的协调。
3)交叉开关41进行的协调的结果是,获得“发送允许”的交叉开关接口42~45或者CPU交叉开关接口48开始发出数据包。
4)以各时间步长进行以上过程,直到所有的数据包到达所期望的CPU交叉开关接口48。
将上述模拟的结果表示于图16中。在图16中,纵轴表示未到达数据包数,横轴表示经过时间。实线(normal-all)表示通常的维序路由的未到达包数。细虚线(onehop-all)表示实施了实施例1的方法的情况下的未到达数据包数。接下来,细虚线(normal-x)表示在通常的维序路由中存在于当前x轴的收发端口上的数据包数。粗虚线(onehop-x)表示在实施了实施例1的方法的情况下,存在于x轴上的数据包数。单点划线(normal-y)表示存在于通常的维序路由的y轴上的数据包数。双点划线(onehop-y)表示在执行了实施例1的方法的情况下,y轴上所存在的数据包数。
根据该结果能够理解以下方面。即,在系统整体中,采用实施例1的方法时存在于x轴的数据包数的峰值最大数降低,相反,y轴的峰值最大数增加。因此,能有效地进行维序路由,结果并行性提高,成功地消减了10%左右的通信时间。
为了简便,在2维环状的连接的情况下进行了上述模拟,但是当然,实施例1的技术思想与拓扑无关,都是有效的。
Claims (12)
1.一种信息处理系统,其特征在于,由多个信息处理装置相互多维地连接而形成,
上述多个信息处理装置各自在每个收发数据的方向上具有:保存属于第1虚拟通道的数据的第1接收保存装置、和保存属于第2虚拟通道的数据的第2接收保存装置,
上述信息处理系统具有:
虚拟通道控制部,该虚拟通道控制部对数据被发出的维度的发送目的地与接收数据的本信息处理装置在维度中的位置进行比较,在该比较的结果是,接收数据的本信息处理装置的位置为前1台信息处理装置的位置的情况下,变更该数据所属的虚拟通道;
数据保存部,该数据保存部对应于由上述虚拟通道控制部进行了虚拟通道的控制之后的上述数据所属的虚拟通道,将该数据保存于上述第1或者第2接收保存装置中;
发出维度控制部,该发出维度控制部对数据被发出的维度的发送目的地与接收数据的本信息处理装置在该维度中的位置进行比较,在上述接收数据的本信息处理装置的位置与上述发送目的地一致的情况下,将发出该数据的维度变更成下一个维度;和
协调部,该协调部进行保存于上述第1以及第2接收保存装置中的数据中的、以每个接收保存装置为一个单位的数据之间的协调,经过上述协调,将以发出数据的各方向的每个方向为一个单位的数据决定为实际发出的数据。
2.根据权利要求1所述的信息处理系统,其特征在于,
在上述发出维度控制部进行的上述比较的结果为,发送目的地的位置和接收数据的本信息处理装置的位置一致时,如果发出该数据的虚拟通道的变更已经被进行,则上述虚拟通道控制部使发出该数据的虚拟通道返回到变更前的虚拟通道。
3.根据权利要求1所述的信息处理系统,其特征在于,
在接收数据的本信息处理装置的位置与发出数据的维度的虚拟通道变更位置一致的情况下,上述虚拟通道控制部变更发出该数据的虚拟通道。
4.根据权利要求1所述的信息处理系统,其特征在于,
上述多个信息处理装置被连接成多维环状。
5.一种信息处理装置,其特征在于,是由多个信息处理装置相互多维地连接而形成的信息处理系统中的各个信息处理装置,
在每个收发数据的方向上具有:保存属于第1虚拟通道的数据的第1接收保存装置、和保存属于第2虚拟通道的数据的第2接收保存装置,
上述信息处理装置具有:
虚拟通道控制部,该虚拟通道控制部对数据被发出的维度的发送目的地与接收数据的本信息处理装置在该维度中的位置进行比较,在该比较的结果是,接收数据的本信息处理装置的位置为前1台信息处理装置的位置的情况下,变更该数据所属的虚拟通道;
接收数据保存部,该接收数据保存部对应于由上述虚拟通道控制部执行了虚拟通道控制之后的上述数据所属的虚拟通道,将该数据保存于上述第1或者第2接收保存装置中;
发出维度控制部,该发出维度控制部对数据被发出的维度的发送目的地与接收数据的本信息处理装置在该维度中的位置进行比较,在上述接收数据的本信息处理装置的位置与上述发送目的地一致的情况下,将发出该数据的维度变更成下一个维度;和
协调部,该协调部进行保存于上述第1以及第2接收保存装置中的数据中的、以每个接收保存装置为一个单位的数据之间的协调,经过上述协调,将以发出数据的各方向的每个方向为一个单位的数据决定为实际发出的数据。
6.根据权利要求5所述的信息处理装置,其特征在于,
在上述发出维度控制部进行的上述比较的结果为,发送目的地的位置与接收数据的本信息处理装置的位置一致时,如果发出该数据的虚拟通道已经被变更,则上述虚拟通道控制部使发出该数据的虚拟通道返回到变更前的虚拟通道。
7.根据权利要求5所述的信息处理装置,其特征在于,
在接收数据的本信息处理装置的位置与发出数据的维度的虚拟通道变更位置一致的情况下,上述虚拟通道控制部变更发出该数据的虚拟通道。
8.根据权利要求5所述的信息处理装置,其特征在于,
在上述信息处理系统中,上述多个信息处理装置被连接成多维环状。
9.一种信息处理装置的控制方法,其特征在于,用于由多个信息处理装置相互多维地连接而形成的信息处理系统中的各个信息处理装置,
在每个收发数据的方向上具有:保存属于第1虚拟通道的数据的第1接收保存装置、和保存属于第2虚拟通道的数据的第2接收保存装置,
上述信息处理装置的控制方法执行:
虚拟通道控制步骤,对数据被发出的维度的发送目的地与接收数据的本信息处理装置在该维度中的位置进行比较,在该比较的结果是,接收数据的本信息处理装置的位置为前1台信息处理装置的位置的情况下,变更该数据所属的虚拟通道;
接收数据保存步骤,对应于执行了上述虚拟通道控制步骤之后的上述数据所属的虚拟通道,将该数据保存于上述第1或者第2接收保存装置中;
发出维度控制步骤,对数据被发出的维度的发送目的地与接收数据的本信息处理装置在该维度中的位置进行比较,在上述接收数据的本信息处理装置的位置与上述发送目的地一致的情况下,将发出该数据的维度变更成下一个维度;和
协调步骤,进行保存于上述第1以及第2接收保存装置中的数据中的、以每个接收保存装置为一个单位的数据之间的协调,经过上述协调,将以发出数据的各方向的每个方向为一个单位的数据决定为实际发出的数据。
10.根据权利要求9所述的信息处理装置的控制方法,其特征在于,
在上述发出维度控制步骤中的上述比较的结果为,发送目的地的位置与接收数据的本信息处理装置的位置一致时,如果发出该数据的虚拟通道已经被变更,则在上述虚拟通道控制步骤中,还使发出该数据的虚拟通道返回到变更前的虚拟通道。
11.根据权利要求9所述的信息处理装置的控制方法,其特征在于,
上述虚拟通道控制步骤还具有,在接收数据的本信息处理装置的位置与数据被发出的维度的虚拟通道变更位置一致的情况下,变更发出该数据的虚拟通道的步骤。
12.根据权利要求9所述的信息处理装置的控制方法,其特征在于,
在上述信息处理系统中,上述多个信息处理装置被连接成多维环状。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/051609 WO2010087002A1 (ja) | 2009-01-30 | 2009-01-30 | 情報処理システム、情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及びコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102301365A CN102301365A (zh) | 2011-12-28 |
CN102301365B true CN102301365B (zh) | 2013-12-25 |
Family
ID=42395272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801558243A Active CN102301365B (zh) | 2009-01-30 | 2009-01-30 | 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8090895B2 (zh) |
EP (1) | EP2393015B1 (zh) |
JP (1) | JP5195933B2 (zh) |
KR (1) | KR101250666B1 (zh) |
CN (1) | CN102301365B (zh) |
WO (1) | WO2010087002A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218364A (ja) * | 2009-03-18 | 2010-09-30 | Fujitsu Ltd | 情報処理システム、通信制御装置および方法 |
US8539130B2 (en) * | 2009-09-24 | 2013-09-17 | Nvidia Corporation | Virtual channels for effective packet transfer |
US8850089B1 (en) * | 2010-06-18 | 2014-09-30 | Integrated Device Technology, Inc. | Method and apparatus for unified final buffer with pointer-based and page-based scheme for traffic optimization |
US20150033276A1 (en) * | 2012-01-31 | 2015-01-29 | Zte (Usa) Inc. | Method and system for managing multimedia quality of experience in a transport-independent fashion |
JP5790526B2 (ja) * | 2012-02-06 | 2015-10-07 | 富士通株式会社 | 分散処理方法および分散処理システム |
NO2776466T3 (zh) * | 2014-02-13 | 2018-01-20 | ||
CN104484293B (zh) * | 2014-11-20 | 2017-09-08 | 浪潮(北京)电子信息产业有限公司 | 一种在多控存储系统中实现前端协议的方法和设备 |
US20160187958A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Techniques for managing power and performance for a networking device |
US10462059B2 (en) | 2016-10-19 | 2019-10-29 | Intel Corporation | Hash table entries insertion method and apparatus using virtual buckets |
CN109937409A (zh) * | 2016-11-28 | 2019-06-25 | 特博数据实验室公司 | 分布式系统 |
JP7167687B2 (ja) * | 2018-12-18 | 2022-11-09 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933933A (en) * | 1986-12-19 | 1990-06-12 | The California Institute Of Technology | Torus routing chip |
US5659796A (en) * | 1995-04-13 | 1997-08-19 | Cray Research, Inc. | System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function |
EP0821816B1 (en) * | 1995-04-13 | 2000-01-12 | Cray Research, Inc. | Adaptive routing mechanism for torus interconnection network |
EP1222558B1 (en) * | 1999-09-17 | 2003-07-09 | Advanced Micro Devices, Inc. | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation |
CN1764150A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 直接互连交换网路由的方法 |
CN1787478A (zh) * | 2004-12-09 | 2006-06-14 | 电子科技大学 | 一种多维交换结构中的无死锁自适应路由方法 |
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN101242372A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | k元N维mesh网中的无死锁路由方法 |
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN101267394A (zh) * | 2008-03-10 | 2008-09-17 | 清华大学 | 三维mesh网中无死锁的平面自适应路由方法 |
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101335704A (zh) * | 2008-04-18 | 2008-12-31 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01241660A (ja) * | 1988-03-24 | 1989-09-26 | Toshiba Corp | プロセッサ間通信方式 |
JPH0626684A (ja) | 1992-07-13 | 1994-02-04 | Matsushita Seiko Co Ltd | 換気ユニットの電装ボックス |
JPH06266684A (ja) | 1993-03-15 | 1994-09-22 | Toshiba Corp | プロセッサ間ルーティング方式 |
JPH07191947A (ja) | 1993-12-27 | 1995-07-28 | Toshiba Corp | 並列計算機 |
JPH08185380A (ja) * | 1994-12-28 | 1996-07-16 | Hitachi Ltd | 並列計算機 |
JP3860257B2 (ja) * | 1996-06-28 | 2006-12-20 | 富士通株式会社 | チャネルの決定方法 |
US6888843B2 (en) * | 1999-09-17 | 2005-05-03 | Advanced Micro Devices, Inc. | Response virtual channel for handling all responses |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US6633580B1 (en) * | 2000-03-07 | 2003-10-14 | Sun Microsystems | N×N crossbar packet switch |
JP3871327B2 (ja) | 2001-02-24 | 2007-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 最適化されたスケーラブル・ネットワーク・スイッチ |
US6912612B2 (en) * | 2002-02-25 | 2005-06-28 | Intel Corporation | Shared bypass bus structure |
-
2009
- 2009-01-30 CN CN2009801558243A patent/CN102301365B/zh active Active
- 2009-01-30 JP JP2010548330A patent/JP5195933B2/ja active Active
- 2009-01-30 KR KR1020117017974A patent/KR101250666B1/ko active IP Right Grant
- 2009-01-30 EP EP09839192.3A patent/EP2393015B1/en active Active
- 2009-01-30 WO PCT/JP2009/051609 patent/WO2010087002A1/ja active Application Filing
-
2011
- 2011-07-21 US US13/137,122 patent/US8090895B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933933A (en) * | 1986-12-19 | 1990-06-12 | The California Institute Of Technology | Torus routing chip |
US5659796A (en) * | 1995-04-13 | 1997-08-19 | Cray Research, Inc. | System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function |
EP0821816B1 (en) * | 1995-04-13 | 2000-01-12 | Cray Research, Inc. | Adaptive routing mechanism for torus interconnection network |
EP1222558B1 (en) * | 1999-09-17 | 2003-07-09 | Advanced Micro Devices, Inc. | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation |
CN1764150A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 直接互连交换网路由的方法 |
CN1787478A (zh) * | 2004-12-09 | 2006-06-14 | 电子科技大学 | 一种多维交换结构中的无死锁自适应路由方法 |
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN101242372A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | k元N维mesh网中的无死锁路由方法 |
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN101267394A (zh) * | 2008-03-10 | 2008-09-17 | 清华大学 | 三维mesh网中无死锁的平面自适应路由方法 |
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101335704A (zh) * | 2008-04-18 | 2008-12-31 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5195933B2 (ja) | 2013-05-15 |
CN102301365A (zh) | 2011-12-28 |
EP2393015A4 (en) | 2014-04-09 |
EP2393015B1 (en) | 2015-07-01 |
US8090895B2 (en) | 2012-01-03 |
JPWO2010087002A1 (ja) | 2012-07-26 |
EP2393015A1 (en) | 2011-12-07 |
KR101250666B1 (ko) | 2013-04-03 |
KR20110102932A (ko) | 2011-09-19 |
WO2010087002A1 (ja) | 2010-08-05 |
US20110283038A1 (en) | 2011-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102301365B (zh) | 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 | |
Zhao et al. | Message ferrying: Proactive routing in highly-partitioned wireless ad hoc networks | |
Dorfman et al. | Scheduling trains on a railway network using a discrete event model of railway traffic | |
US9660942B2 (en) | Automatic buffer sizing for optimal network-on-chip design | |
CN103181127B (zh) | 中继装置、中继装置的控制方法及程序 | |
US4667287A (en) | Multiprocessor multisystem communications network | |
KR102437780B1 (ko) | 솔리드 스테이트 드라이브 메모리 캐시 점유 예측 시스템 및 그 방법 | |
KR100758983B1 (ko) | Gals 기반 네트워크 온 칩 및 그 데이터 전송방법 | |
JP2019503024A (ja) | ロボット現場戻りのための方法及び装置{method and device for returning robots from site} | |
CN101515899B (zh) | 一种路由生成方法和装置 | |
CN105915467A (zh) | 一种面向软件定义的数据中心网络流量均衡方法及装置 | |
CN105359471A (zh) | 分层/无损的分组抢先以减少流控制的基于分组的网络中的等待时间抖动 | |
CN108881009A (zh) | 基于临空信息网的时延约束路由方法及装置 | |
US6721816B1 (en) | Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels | |
US20190190744A1 (en) | Information transmission network and corresponding network node | |
JP2001517023A5 (zh) | ||
US20120079052A1 (en) | Control unit in a network, network, and routing method for messages in a network | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
CN102449959B (zh) | 通过p控制器在弹性分组环网络中分配带宽 | |
US20050027880A1 (en) | System and method for routing information in a nodal computer network | |
KR20130022454A (ko) | 네트워크 코딩을 사용하는 무선 네트워크 및 상기 무선 네트워크에서 버퍼링 타임을 적응적으로 조절하는 방법 | |
CN105892463B (zh) | 一种用于自动导引运输车的通讯系统及其通讯方法 | |
CN107196856A (zh) | 一种确定路由转发路径的方法和装置 | |
CN113595767B (zh) | 一种数据链网络资源分配方法及系统 | |
KR20030009334A (ko) | 복수개의 제어선을 이용한 복수 단계 최소 로직네트워크상의 처리능력을 증가시키는 확장성 장치 및 방법 |
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 |