CN1316399C - 互连并行计算机的处理器以有利于环状分区的方法和系统 - Google Patents

互连并行计算机的处理器以有利于环状分区的方法和系统 Download PDF

Info

Publication number
CN1316399C
CN1316399C CNB2004100912282A CN200410091228A CN1316399C CN 1316399 C CN1316399 C CN 1316399C CN B2004100912282 A CNB2004100912282 A CN B2004100912282A CN 200410091228 A CN200410091228 A CN 200410091228A CN 1316399 C CN1316399 C CN 1316399C
Authority
CN
China
Prior art keywords
port
switch
make
subregion
outside
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.)
Expired - Fee Related
Application number
CNB2004100912282A
Other languages
English (en)
Other versions
CN1627285A (zh
Inventor
L·J·斯托克迈耶
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1627285A publication Critical patent/CN1627285A/zh
Application granted granted Critical
Publication of CN1316399C publication Critical patent/CN1316399C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种互连一并行计算机的L个处理器以有利于环状分区的方法和系统,(a)其中每一个该处理器都包括一处理单元和一开关,(b)其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,(c)其中该L个处理器构成R个不重叠的分区,(d)其中该每个分区包括至少一个该处理器的处理单元,(e)其中L是≥2的整数,R是≥1的整数。在一示例性实施例中,本方法和系统包括将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中,和设置该相连接的L个开关从而使该每个分区互连成一环。

Description

互连并行计算机的处理器以有利于环状分区的方法和系统
技术领域
本发明涉及并行计算机,并具体涉及一种互连一并行计算机的处理器以有利于环状分区的方法和系统。
背景技术
随着计算机硬件例如微处理器和存储器的成本逐渐降低,以及需要计算机解决的问题的复杂性日益增加,并行计算变得越来越重要。并行计算机通常使用紧密连接的多处理器,即一组用电缆互连的并在单个操作系统下运行的微处理器。这与松散连接的多计算机形成对比,其中几个单处理器在一个网络(例如以太网)内相互连接,每个处理器均具有其自己的操作系统。
紧密耦合的处理器
为了提高效率,在紧密连接的多处理器中的单个微处理器(下文中称为“处理器”)的硬件通常分为以下两个部分:
(1)一处理单元(下文中称为“PU”),其用于执行在包含该多处理器的并行计算机上运行的程序;和
(2)一用于处理该处理器和计算机内其他处理器之间的通信的开关。
在每个处理器中,该PU和开关是逻辑连接的。通常,该PU和该开关是电连接的。
开关
每个开关具有一定数量的外部端口和内部端口。图1A示出一现有技术的处理器110,该处理器划分成一PU 112和一开关114,其中该开关114包括4个标记为E1、E2、E3和E4的外部端口,以及两个标记为I1和12的内部端口。一个开关的一外部端口可通过一电缆与另一个开关的一外部端口相连接。每个外部端口仅能与一条电缆相连接。外部端口也可不与电缆相连接。这两个内部端口I1和I2使开关例如开关114和PU例如PU112相连接。开关能够在它自己的(内部和外部)端口之间实现内部连接,从而在不同PU之间实现电缆连接。
通常的开关114包括至少4个外部端口、至少两个内部端口,以及一完整的交叉开关(crossbar)的开关能力,从而给定该开关的任意的端口配对,可设置该开关以连接每一对内的两个端口。
开关连接
开关可以互连。例如,现有技术的图1B示出两个处理器(PU/开关组合)110和120,其中处理器120包括一PU122和一开关124。如图1B所示,开关114被设置为使端口E1和I1相连接,以及使端口E4和I2相连接。如图1B中所示,开关124被设置为使端口E1和I1相连接,使端口E2和I2相连接,以及使端口E3和E4相连接。还示出一电缆130位于开关114的端口E4和开关124的端口E1之间。因此,开关114的端口I2与开关124的端口I1相连接,从而连接这两个PU。
端口J和K之间的连接由对(J,K)表示。开关的设置是它的端口之间的连接的集合,从而每个端口在至多一个连接对中出现。例如,图1B中开关114的设置由集合{(E1,I1),(E4,I2)}表示。图1B中开关124的设置由集合{(E1,I1),(E2,I2),(E3,E4)}表示。
该连接集合可以是空的,这表示开关的任何端口都没有相互连接。可将连接动态地添加到开关设置中以及从开关设置中删除。任何时候都可以删除一连接。
当且仅当一连接不使用已用于一现有连接的、该开关的一个端口时,可添加该连接。例如,可将连接(E2,E3)添加到图1B的开关114的设置{(E1,I1),(E4,I2)}中。但是不能添加连接(E1,E3),因为端口E1已被图1B的开关114的设置中的连接(E1,I1)使用。
互连结构
由于物理限制,每个开关只能具有少量的端口,从而一个开关(以及因而它的PU)仅可与少量其他的开关(PU)直接连接。由于物理的和电的限制,每个电缆的长度可能不能超过某一规定的量。电缆在外部端口之间的布置方式形成计算机的互连结构:这些电缆的布置是固定的。(尽管可将电缆插入端口中,但是如果电缆的布置改变了,则这将构成另一种互连结构。)
蜂窝状结构
处理器通常布置成一矩形结构,经常被称为蜂窝状结构。在一个非常普遍的蜂窝状结构中,将处理器布置在一1维、2维或3维阵列的单元中。通过指定计算机在每一维上的长度来定义一个阵列,其中该长度由处理器的数量给出。例如,在一2维阵列的情况下,并称该两维为X和Y,该阵列由X维上的长度LX和Y维上的长度LY规定。该阵列包括总共LX×LY个处理器。例如,图1C示出一LX=5和LY=4的2维阵列140,该阵列总共包含20个处理器。如图1C所示,用该阵列中的每个处理器在该阵列中的坐标来识别该处理器。这些坐标也可识别组成该处理器的PU和开关。在一3维阵列中,每一个处理器(PU和开关)均通过一三元组(x,y,z)被识别,该三元组分别给出该处理器在X-,Y-和Z-维上的坐标。
连接开关的外部端口
计算机的互连结构指定了电缆在开关的外部端口之间的布置方式。通常对于每一维分别进行电缆布线。例如,在3维阵列的情况中,开关被划分成一X-开关、一Y-开关和一Z-开关,每个开关具有其自己的4个外部端口和两个内部端口。只有当两个开关具有相同的维度(例如都是X-开关)时,电缆才可使一开关的一外部端口与另一开关的一外部端口相连接。
与维度的划分情况一致,计算机在每一维上划分为一些1-维“线”。在一个线内,除了一个以外的所有坐标均为固定值,而该不固定的坐标包括该坐标所有可能的值。例如,图1D示出X-线152,其坐标y固定为1,并示出Y-线154,其x坐标固定为4。
为了使计算机的结构简单并且有规则,并使用维度X为例,仅在属于相同X-线的开关之间安置电缆,并且计算机内的所有X-线通常具有相同的电缆布线结构。例如,在一LX×LY×LZ的3维计算机中,通过对一个长度为LX的线的电缆布线来指定X维度的电缆布线(将在属于同一X-线的X-开关之间安置的电缆)。将对该线的电缆布线复制给该计算机内的所有X-线。从而,为了指定这种类型的“规则的”计算机的电缆结构,指定三个电缆布线—一个针对长度为LX的线、一个针对长度为LY的线和一个针对长度为LZ的线——就足够了。
网状和环状互连结构
两种常见的、现有技术的互联结构是网状结构和环状结构。例如,如图1E所示,所示一现有技术的网状结构160包括开关161、162、163、164、165、166、167和168。同样,例如如图1F所示,一现有技术的环状结构包括开关171、172、173、174、175、176、177和178。
还以维度X为例,在网状结构160中,在一X-线上的X开关以线性的方式相连接,即开关161、162、163、164、165、166、167和168。在环状结构170中,X-开关以循环的方式相连接,即171、173、175、177、178、176、174、172、并回到171。尽管图1E和1F示出一长度为8的线的网状结构和环状结构,但很清楚它们可扩展到任意长度的线。
通过在网状结构160的开关161和开关168之间添加一条电缆就可由网状结构160得到环状结构170。然而,这很可能破坏对电缆长度的限制。为了保持电缆短,如图1F所示该循环是“折叠的”。
通过将图1E和1F中一个线的网状和环状电缆布线分别复制给计算机内的所有X-线、Y-线和Z-线,就可定义2维和3维阵列的网状和环状结构。
分区
互连结构的有用性中的一重要因素是该结构将计算机划分成几个独立的部分的灵活性。分区对于允许几个程序或“作业”在计算机上同时执行是重要的。当开始运行一个作业时,一用户指定一个“分区”,即将专门用于该作业的、该计算机的部分。一“用户”可以是一人类用户或系统软件的一部分例如作业调度程序。计算机的一分区是一个作业所使用的PU的集合。
指定PU
通过对于每个维度,在X维上给出坐标集合PX、在Y维上给出坐标集合PY和在Z维上给出坐标集合PZ,来指定一分区P。这样,当且仅当x属于PX和y属于PY以及z属于PZ时,坐标为(x,y,z)的PU属于分区P。换句话说,PU的坐标的集合是PX、Py和Pz的笛卡尔乘积。例如,在一8×8×8的3维计算机中,用户可通过X维中的集合PX={3,4}、Y维中的集合PY={3,5}和Z维中的集合PZ={1}指定一分区。属于该分区的PU是坐标为(3,3,1)、(3,5,1)、(4,3,1)和(4,5,1)的PU。
分区是分别在作业开始和结束时动态地形成和释放的。为了防止一作业干扰另一作业,不同的作业不能使用相同的PU,并且不同的作业不能使用相同的电缆。不同的作业可使用同一开关,但开关的使用受到不同作业不能使用相同的PU或电缆的要求的限制。
指定连接类型
除了指定分区中的PU外,用户也为该分区指定连接类型或结构。两种非常常见的连接类型是网状结构和环状结构。指定连接类型反映了以下事实,即如果用户已得到计算机的一个分区,则该用户愿意使他或她的分区“看起来象”整个计算机的一个较小的版本。
网状结构
网状结构例如网状结构160具有这样的令人满意的特性,即通过适当地设置开关可使每个分区互连成一(通常较小的)网。例如,图1G示出如何设置开关以便经由连接180、181、182、183、184、185、186、187、188、189和190使分区{163,164,166,167}互连成一现有技术的网。更具体的,图1G示出如何设置该些开关以便经由内部连接180、182、183、185、187、188和190以及外部连接181、184、186和190使分区{163,164,166,167}互连成现有技术的网。图1G还示出两个PU例如PU164和166之间的一连接可由两条或更多条串联的外部连接例如外部连接184和186形成。如果PU165(a)属于另一个现有的分区或(b)是有故障的,则可“跳过”PU165。可通过电缆、光纤或另一种电磁连接来实现一外部连接。
在更大的普遍性上,如果两个不同的分区不“重叠”,则可同时存在多个分区,其中每个分区互连成一个网。更具体的,定义一1维分区的跨度(span)(坐标的集合)是位于该分区的最小坐标和最大坐标之间并包含该最小坐标和最大坐标的坐标的集合。例如,分区{163,164,166,167}的跨度是{163,164,165,166,167}。要求两个分区不重叠即是要求它们的跨度不包含共同的坐标。
多维设置中的重叠分区是1维情况下的重叠分区的普遍化。例如,在三维的情况下,如果用坐标集合PX、PY和PZ的笛卡儿乘积定义一3维分区P,则P的跨度是PX的跨度、PY的跨度和PZ的跨度的笛卡儿乘积。如如果3维分区P的跨度和3维分区Q的跨度包含一相同的坐标,则这两个3维分区P和Q重叠。如果P由PX、PY和PZ定义,并且Q由QX、QY和QZ定义,则如果PX和QX重叠,或PY和QY重叠,或PZ和QZ重叠,则P和Q重叠。
环状结构
环状结构例如图1F中的环状结构170不具有这样的令人满意的特性,即可以使多个未重叠分区中的每个分区具有一(较小的)环状的互连结构。如示出的,这对于任意两个大小为2或更大的分区都是有效的。例如,分区{171、172}可互连成一个环,但这仅能通过使用该线上的所有电缆来实现。因此,这个分区不能与任何大小至少为2的环状互连的分区例如{176、177}同时存在。
使用的连接数量
假设PX是一X-线的一个分区,并且NX是PX中的坐标的数量,如果NX≥2,则PX的任何环状互连使用X-线中的至少NX个连接或电缆。同样的事实也适用于Y维和Z维具有。
区间分区(interval partition)
如果一个线的一个1维分区P是连续坐标的集合例如{173、174、175、176},则该分区P是一区间分区。如果其PX、PY和PZ都是1维区间分区,则一阵列的一3维分区P是一区间分区。当且仅当P的跨度与其自身相同时,P是一区间分区。
因此,需要一种互连一并行计算机的处理器以有利于环状分区的方法和系统。
发明内容
本发明提供了一种互连一并行计算机的L个处理器以有利于环状分区的方法和系统,(a)其中每一个该处理器都包括一处理单元和一开关,(b)其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,(c)其中该L个处理器构成R个不重叠的分区,(d)其中该每个分区包括至少一个该处理器的处理单元,以及(e)其中L是≥2的整数,R是≥1的整数。在一示例性实施例中,本方法和系统包括(1)将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中,和(2)设置该相连接的L个开关从而使该每个分区互连成一环。
在一示例性实施例中,所述连接包括连接开关1的第一外部端口和开关2的第一外部端口。在一进一步的实施例中,所述连接包括(a)如果L≥3,则使第(L-1)个开关的第四外部端口与第L个开关的第四外部端口相连接,(b)对于1≤i≤L-1,其中i是一整数,使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接,和(c)对于1≤i≤L-2,其中i是整数,使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接。在一特定实施例中,所述连接包括经由电缆连接该L个开关。
在一示例性实施例中,设置包括计算分区的跨度。在一示例性实施例中,所述计算包括(a)寻找该分区中的最小坐标MIN,(b)确定该分区中的最大坐标MAX,和(c)设置该分区的跨度等于坐标i的集合,其中MIN≤i≤MAX,i是一整数。在一进一步的实施例中,所述计算包括,如果分区的跨度正好包含一个坐标,其中i是属于该跨度的坐标,则使第i个开关的第一内部端口和第二内部端口(I1,I2)相连接。
在一进一步的实施例中,所述计算包括如果该分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的两个坐标,则(1)如果i=1,则(a)使第一开关的第三外部端口和第二内部端口(E3,I2)相连接,(b)使第一开关的第一外部端口和第一内部端口(E1,I1)相连接,(c)使第二开关的第二外部端口和第二内部端口(E2,I2)相连接,和(d)使第二开关的第一外部端口和第一内部端口(E1,I1)相连接,(2)如果i=L-1,则(a)使第(L-1)个开关的第三外部端口和第一内部端口(E3,I1)相连接,(b)使第(L-1)个开关的第四外部端口和第二内部端口(E4,I2)相连接,(c)使第L个开关的第二外部端口和第一内部端口(E2,I1)相连接,和(d)使第L个开关的第四外部端口和第二内部端口(E4,I2)相连接,以及(3)否则,其中2≤i≤L-2,(a)使第(i-1)个开关的第三外部端口和第四外部端口(E3,E4)相连接,(b)使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接,(c)使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接,(d)使第(i+1)个开关的第一外部端口和第一内部端口(E1,I1)相连接,和(e)使第(i+1)个开关的第二外部端口和第二内部端口(E2,I2)相连接。
在一进一步的实施例中,所述计算包括如果该分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,(1)使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接,(2)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,(3)使第(i+2)个开关的第一外部端口和第一内部端口(E1,I1)相连接,(4)使第(i+2)个开关的第二外部端口和第二内部端口(E2,I2)相连接,(5)如果(i+1)属于该分区,则(a)使第(i+1)个开关的第二外部端口和第一内部端口(E2,I1)相连接以及(b)使第(i+1)个开关的第三外部端口和第二内部端口(E3,I2)相连接,和(6)如果(i+1)不属于该分区,则使第(i+1)个开关的第二外部端口和第三外部端口(E2,E3)相连接。
在一进一步的实施例中,所述计算包括如果该分区的跨度包括至少4个坐标,则对于每个坐标i,其中MIN≤i≤MAX,(1)如果i=MIN,(a)使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,(2)如果i=MAX,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第二外部端口和第二内部端口(E2,I2)相连接,(3)如果i=MIN+1并且i属于该分区,(a)使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,(4)如果i=MIN+1并且i不属于该分区,使第i个开关的第二外部端口和第四外部端口(E2,E4)相连接,(5)如果i=MAX-1并且i属于该分区,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接,(6)如果i=MAX-1并且i不属于该分区,使第i个开关的第一外部端口和第三内部端口(E1,I3)相连接,(7)如果MIN+2≤i≤MAX-2并且i属于该分区,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,和(8)如果MIN+2≤i≤MAX-2且i不属于该分区,使第i个开关的第一外部端口和第四外部端口(E1,E4)相连接。
在一示例性实施例中,本方法和系统包括将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展环状结构中。在一示例性实施例中,所述连接包括连接开关1的第一外部端口和开关2的第一外部端口。在一进一步的实施例中,所述连接包括(a)如果L≥3,则使第(L-1)个开关的第四外部端口与第L个开关的第四外部端口相连接,(b)对于1≤i≤L-1,其中i是整数,使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接,和(c)对于1≤i≤L-2,其中i是整数,使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接。在一特定实施例中,所述连接包括经由电缆连接该L个开关。在另一个实施例中,本方法和系统包括设置该相连接的L个开关从而使该每个分区互连成一环。
本发明提供了一种使一并行计算机的L个处理器互连以有利于环状分区的方法和系统,(a)其中每一个该处理器都包括一处理单元和一开关,(b)其中该开关包括一第一外部端口、一第二外部端口、一第三外部端口、一第四外部端口、一第一内部端口和一第二内部端口,(c)其中该L个处理器构成R个不重叠的分区,(d)其中该每个分区包括至少一个该处理器的处理单元,(e)其中L是≥2的整数,R是≥1的整数,以及(f)其中将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中。在一示例性实施例中,本方法和系统包括设置该相连接的L个开关从而使该每个分区互连成一环。
本发明提供了一种可用于一可编程的计算机的、包含可读程序代码的计算机程序产品,该计算机程序代码可使一并行计算机的L个处理器互连以有利于环状分区,其中该每一个处理器都包括一处理单元和一开关,其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,其中该L个处理器构成R个不重叠的分区,其中该每个分区包括至少一个该处理器的处理单元,其中L是≥2的整数,并且R是≥1的整数。在一示例性实施例中,该计算机程序产品包括(1)用于将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中的计算机可读代码,和(2)用于设置该相连接的L个开关从而使该每个分区互连成一环的计算机可读代码。
附图说明
图1A是一现有技术的处理器的结构图。
图1B是两个现有技术的处理器的一现有技术互连的结构图。
图1C图示出一现有技术的阵列。
图1D图示出一现有技术的阵列。
图1E是一现有技术的网状互连结构的结构图。
图1F是一现有技术的环状互连结构的结构图。
图1G是一现有技术的网状互连结构的结构图。
图2是一根据本发明的一个示例性实施例的扩展的环状结构的结构图。
图3是一根据本发明的一个示例性实施例的开关设置的结构图。
图4是一根据本发明的一个示例性实施例的开关设置的结构图。
图5是一根据本发明的一个示例性实施例的开关设置的结构图。
图6是一根据本发明的一个示例性实施例的流程图。
图7A是一根据本发明的一个示例性实施例的连接步骤的流程图。
图7B是一根据本发明的一个示例性实施例的连接步骤的流程图。
图7C是一根据本发明的一个特定实施例的连接步骤的流程图。
图8A是一根据本发明的一个示例性实施例的设置步骤的流程图。
图8B是一根据本发明的一个示例性实施例的计算步骤的流程图。
图9是一根据本发明的一进一步的实施例的计算步骤的流程图。
图10A是一根据本发明的一进一步的实施例的计算步骤的流程图。
图10B是一根据本发明的一进一步的实施例的计算步骤的流程图。
图10C是一根据本发明的一进一步的实施例的计算步骤的流程图。
图11A是一根据本发明的一进一步的实施例的计算步骤的流程图。
图11B是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12A是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12B是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12C是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12D是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12E是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12F是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12G是一根据本发明的一进一步的实施例的计算步骤的流程图。
图12H是一根据本发明的一进一步的实施例的计算步骤的流程图。
图13A是一根据本发明的一个示例性实施例的流程图。
图13B是一根据本发明的一个示例性实施例的连接步骤的流程图。
图13C是一根据本发明的一个示例性实施例的计算步骤的流程图。
图13D是一根据本发明的一特定实施例的连接步骤的流程图。
图13E是一根据本发明的一进一步的实施例的流程图。
图14是一根据本发明的一个示例性实施例的流程图。
具体实施方式
本发明提供了一种互连一并行计算机的处理器以有利于环状分区的方法和系统。在一示例性实施例中,本方法和系统利用一网状结构例如网状结构160和一环状结构例如环状结构170中的开关的空闲的外部端口,以获得一具有一有用的特性的互连结构,该有用的特性是该网状和环状结构所不具备的。在一示例性实施例中,本发明提供了一种互连一并行计算机的L个处理器以有利于环状分区的方法和系统,(a)其中该每个处理器包括一处理单元和一开关,(b)其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,(c)其中该L个处理器构成R个不重叠的分区,(d)其中该每个分区包括至少一个该处理器的处理单元,以及(e)其中L是≥2的整数,R是≥1整数。在一个示例性实施例中,本方法和系统包括(1)将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中,以及(2)设置该连接的L个开关从而使该每个分区互连成一环。
参照图6,在一个示例性实施例中,本发明包括一步骤610和一步骤612,该步骤610为将L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中,该步骤612为设置该连接的L个开关从而使该每个分区互连成一环。
使开关互连
在一个示例性实施例中,本方法和系统包括将L个开关在这些开关的外部端口之间互连在一扩展的环状结构200中,该结构如示例性的图2中所示具有一示例性的长度L=8个处理器的线,这8个处理器具有它们8个相应的PU和8个相应的开关171、172、173、174、175、176、177、和178,其中L是≥2的整数。在一个示例性实施例中,开关通过电缆互连。
在一个示例性实施例中,本方法和系统连接所有开关的外部端口。在一示例性实施例中,本方法和系统连接一开关1例如开关171的端口E1和一开关2例如开关172的端口E1,如由图2中的连接210所例示的。在一示例性实施例中,如果L≥3,则本方法和系统使开关(L-1)例如开关177的端口E4和开关L例如开关178的端口E4相连接,如由220所例示的。在一示例性实施例中,对于所有满足1≤i≤L-1的i,本方法和系统使开关i的端口E3与开关(i+1)的端口E2相连接,例如连接230、231、232、233、234、235和236。在一示例性实施例中,对于所有满足1≤i≤L-2的i,本方法和系统使开关i的端口E4和开关(i+2)的端口E1相连接,例如连接240、241、242、243、244和245。在一特定实施例中,本方法和系统经由电缆连接端口。
对于每个开关,该开关的外部端口最多可与4条电缆相连接。在一示例性实施例中,在应用本方法和系统之间,每个开关最初最少有4个空闲的外部端口。
参照图7A,在一示例性实施例中,连接步骤610包括连接开关1的第一外部端口和开关2的第一外部端口的步骤710。在一进一步的实施例中,如图7B所示,连接步骤610包括步骤722、步骤724和步骤726,在步骤722中如果L≥3,则连接第(L-1)个开关的第四外部端口和第L个开关的第四外部端口,在步骤724中,对于1≤i≤L-1,其中i是整数,使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接,在步骤726中,对于1≤i≤L-2,其中i是整数,使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接。在一特定实施例中,如图7C所示,连接步骤610包括经由电缆连接L个开关的步骤732。
设置开关
在一示例性实施例中,本方法和系统包括将已互连在一环状结构例如扩展的环状结构200中的L个开关设置成至少一个分区P,以便将该至少一个分区P互连成一环。对于在根据本发明互连的一行开关中的任意多个不重叠的分区,该些开关被设置成使得属于每个单个分区的PU互连成一个环。例如,图3示出如何将171、172、173、174、175、176、177和178设置成分区{171}、{172,173,174,175}和{176,177,178},从而这三个分区的每一个都互连成一环,结果形成开关设置300。使用粗线来表示由之些分区之一所使用的电缆和开关连接。
图4示出形成开关设置400的分区{171,172,173,174}、{175,176}和{177,178}的示例,从而一开关例如开关174可用于形成两个不同分区即分区{171,172,173,174}和{175,176}的互连。
图5示出形成开关设置500的分区{171,173,175,176}和[177,178}。开关设置500表明,为了对于一个分区P例如{171,173,175,176}形成一环状互连,其中因为P的跨度大于P自身,例如P的跨度是{171,172,173,174,175,176},本方法和系统(a)对于P的跨度形成一环状互连和(b)然后对于所有位于P的跨度内但不在P自身中的开关c,重新设置c以便修改后的开关设置避开PU c。
在一示例性实施例中,本方法和系统通过以下方法计算P的跨度,即(1)寻找被称为MIN的、P中的最小坐标,(2)寻找被称为MAX的、P中的最大坐标,并且(3)设定S(P的跨度)等于坐标i的集合,其中MIN≤i≤MAX。在一示例性实施例中,如果S正好包含一个坐标,则本方法和系统向开关i的设置添加一个连接(I1,I2)例如图3中的连接310,其中i是属于该跨度的坐标。
参照图8A,在一个示例性实施例中,设置步骤612包括一计算该分区的跨度的步骤810。参照图8B,在一个示例性实施例中,计算步骤810包括一寻找该分区中的最小坐标MIN的步骤822,一确定该分区中的最大坐标MAX的步骤824,和一设定该分区的跨度等于坐标i的集合的步骤826,其中MIN≤i≤MAX,i是一整数。
S正好包含一个坐标
在一进一步的实施例中,如图9所示,计算步骤810包括一步骤910,在该步骤910中,如果该分区的跨度正好包含一个坐标,其中i是属于该跨度的坐标,则连接第i个开关的第一内部端口和第二内部端口(I1,I2)。
S正好包含两个坐标
在一示例性实施例中,如果S正好包含两个坐标,其中i和i+1是属于该跨度S的两个坐标,(1)如果i=1,则本方法和系统(a)向开关1的设置添加连接(E3,I2)和(E1,I1)以及(b)向开关2的设置添加(E2,I2)和(E1,I1),(2)如果i=L-1,本方法和系统(a)向开关(L-1)的设置添加连接(E3,I1)和(E4,I2),分别例如图4中的开关177的连接410和412以及(b)向开关L的设置分别添加连接(E2,I1)和(E4,I2),分别例如图4中的开关178的连接414和416,和(3)否则,其中2≤i≤L-2,本方法和系统(a)向开关(i-1)的设置添加连接(E3,E4),例如图4中的开关174的连接420,(b)向开关i的设置添加连接(E2,I1)和(E3,I2),例如图4中的开关175的连接422和424,和(c)向开关(i+1)的设置添加连接(E1,I1)和(E2,I2),例如图4中的开关176的连接426和428。
在一进一步的实施例中,如图10A所示,计算步骤810包括一步骤1012,在该步骤1012中,如果分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的两个坐标,并且如果i=1,则(a)使第一开关的第三外部端口和第二内部端口(E3,I2)相连接,(b)使第一开关的第一外部端口和第一内部端口(E1,I1)相连接,(c)使第二开关的第二外部端口和第二内部端口(E2,I2)相连接,和(d)使第二开关的第一外部端口和第一内部端口(E1,I1)相连接。
在一进一步的实施例中,如图10B所示,计算步骤810包括一步骤1022,在该步骤1022中,如果分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的两个坐标,并且如果i=L-1,则(a)使第(L-1)个开关的第三外部端口和第一内部端口(E3,I1)相连接,(b)使第(L-1)个开关的第四外部端口和第二内部端口(E4,I2)相连接,(c)使第L个开关的第二外部端口和第一内部端口(E2,I1)相连接,和(d)使第L个开关的第四外部端口和第二内部端口(E4,I2)相连接。
在一进一步的实施例中,如图10C所示,计算步骤810包括一步骤1032,在该步骤1032中,如果分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的两个坐标,并且在与前述不同的情况下,其中2≤i≤L-2,则(a)使第(i-1)个开关的第三外部端口和第四外部端口(E3,E4)相连接,(b)使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接,(c)使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接,(d)使第(i+1)个开关的第一外部端口和第一内部端口(E1,I1)相连接,和(e)使第(i+1)个开关的第二外部端口和第二内部端口(E2,I2)相连接。
S正好包含三个坐标
在一个示例性实施例中,如果S正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,本方法和系统(1)向开关i的设置添加连接(E3,I1)和(E4,I2),例如图3中的开关176的连接320和322,(2)向开关(i+2)的设置添加连接(E1,I1)和(E2,I2),例如图3中的开关178的连接330和332,(3)如果(i+1)属于该分区P,则向开关(i+1)的设置添加连接(E2,I1)和(E3,I2),例如图3中的开关177的连接340和342,和(4)如果(i+1)不属于分区P,则向开关(i+1)的设置添加连接(E2,E3)。
在另一个实施例中,如图11A中所示,计算步骤810包括一步骤1112、一步骤1114、一步骤1116和一步骤1118,在步骤1112中,如果分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接,在步骤1114中,如果分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,在步骤1116中,如果分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,使第(i+2)个开关的第一外部端口和第一内部端口(E1,I1)相连接,在步骤1118中,如果分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,使第(i+2)个开关的第二外部端口和第二内部端口(E2,I2)相连接。
在一进一步的实施例中,如图11B所示,计算步骤810包括一步骤1122和一步骤1124,在步骤1122中,如果该分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,并且如果(i+1)属于该分区,则(a)使第(i+1)个开关的第二外部端口和第一内部端口(E2,I1)相连接以及(b)使第(i+1)个开关的第三外部端口和第二内部端口(E3,I2)相连接,在步骤1124中,如果分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的三个坐标,并且如果(i+1)不属于该分区,则使第(i+1)个开关的第二外部端口和第三外部端口(E2,E3)相连接。
S包含至少4个坐标
在一示例性实施例中,如果S包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,(1)如果i=MIN,则本方法和系统向开关i的设置添加连接(E3,I1)和(E4,I2),例如图4中的开关171的连接430和432,(2)如果i=MAX,则本方法和系统向开关i的设置添加连接(E1,I1)和(E2,I2),例如图4中的开关174的连接440和442,(3)如果i=MIN+1并且i属于P,则本方法和系统向开关i的设置添加连接(E2,I1)和(E4,I2),例如开关172的连接450和452,(4)如果i=MIN+1并且i不属于P,则本方法和系统向开关i的设置添加连接(E2,E4),例如图5中的开关172的连接510,(5)如果i=MAX-1并且i属于P,则本方法和系统向开关i的设置添加连接(E1,I1)和(E3,I2),例如图4中的开关173的连接460和462,(6)如果i=MAX-1并且i不属于P,则本方法和系统向开关i的设置添加连接(E1,E3),(7)如果MIN+2≤i≤MAX-2并且i属于P,则本方法和系统向开关i的设置添加连接(E1,I1)和(E4,I2),例如图5中的开关173的连接520和522,以及(6)如果MIN+2≤i≤MAX-2并且i不属于P,则本方法和系统向开关i的设置添加连接(E1,E4),例如图5中的开关174的连接530。
在一进一步的实施例中,如图12A所示,计算步骤810包括一步骤1212,在步骤1212中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MIN,(a)使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接。
在一进一步的实施例中,如图12B所示,计算步骤810包括一步骤1222,在步骤1222中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MAX,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第二外部端口和第二内部端口(E2,I2)相连接。
在一进一步的实施例中,如图12C所示,计算步骤810包括一步骤1232,在步骤1232中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MIN+1且i属于该分区,(a)使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接。
在一进一步的实施例中,如图12D所示,计算步骤810包括一步骤1242,在步骤1242中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MIN+1且i不属于该分区,使第i个开关的第二外部端口和第四外部端口(E2,E4)相连接。
在一进一步的实施例中,如图12E所示,计算步骤810包括一步骤1252,在步骤1252中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MAX-1且i属于该分区,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接。
在一进一步的实施例中,如图12F所示,计算步骤810包括一步骤1262,在步骤1262中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果i=MAX-1且i不属于该分区,使第i个开关的第一外部端口和第三外部端口(E1,E3)相连接。
在一进一步的实施例中,如图12G所示,计算步骤810包括一步骤1272,在步骤1272中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果MIN+2≤i≤MAX-2且i属于该分区,(a)使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及(b)使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接。
在一进一步的实施例中,如图12H所示,计算步骤810包括一步骤1282,在步骤1282中,如果该分区的跨度包含至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,并且如果MIN+2≤i≤MAX-2且i不属于该分区,使第i个开关的第一外部端口和第四内部端口(E1,E4)相连接。
其他可选择的开关设置
在一示例性实施例中,根据计算机的硬件设计可能需要对所述开关设置进行修改。例如,可能有必要互换与某些开关的端口I1和I2的连接。例如,如果S正好包含两个坐标,其中i和i+1是属于该跨度S的两个坐标,本方法和系统添加连接(E3,I1)和(E1,I2),而不是(E3,I2)和(E1,I1)。
连接开关
参照图13A,在一个示例性实施例中,本发明包括一步骤1310,该步骤为将L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中。参照图13B,在一个示例性实施例中,连接步骤1310包括一连接开关1的第一外部端口和开关2的第一外部端口的步骤1322。在另一个实施例中,如图13C中所示,连接步骤1310包括一步骤1332、一步骤1334和一步骤1336,在步骤1332中,如果L≤3,则使第(L-1)个开关的第四外部端口与第L个开关的第四外部端口相连接,在步骤1334中,对于1≤i≤L-1,其中i是整数,使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接,在步骤1336中,对于1≤i≤L-2,其中i是整数,使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接。在一特定实施例中,如图13D中所示,连接步骤1310包括一经由电缆连接L个开关的步骤1342。在一进一步的实施例中,如图13E所示,本发明包括一步骤1352,在该步骤中,设置相连接的L个开关,从而使每个分区互连成一环。在一示例性实施例中,设置步骤1352包括设置步骤612。
设置开关
在一示例性实施例中,本发明提供一种使一并行计算机的L个处理器互连以有利于环状分区的方法和系统,(a)其中该每一个处理器都包括一处理单元和一开关,(b)其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,(c)其中该L个处理器构成R个不重叠的分区,(d)其中该每个分区包括至少一个该处理器的处理单元,(e)其中L是≥2的整数,并且R是≥1的整数,以及(f)其中将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中。参照图14,在一示例性实施例中,本发明包括一设置相连接的L个开关从而使该每个分区互连成一环的步骤1410。在一示例性实施例中,设置步骤1410包括设置步骤612。
多维阵列
将开关互连
在一示例性实施例中,本方法和系统包括将开关互连在一n维的具有PU和开关的处理器阵列中,其中n是大于或等于2的整数。例如对于一n=3的3维阵列,本发明和系统(1)为一个X-线、一个Y-线和一个Z-线,将开关互连,并且(2)然后将得到的互连复制给该阵列的所有X-线、Y-线和Z-线。
设置开关
在一示例性实施例中,所述设置开关应用于一n维的具有PU和开关的处理器的阵列,其中n是大于或等于2的整数。给定由PX、PY和PZ指定的分区,则本方法和系统(1)应用用于1维分区PX的开关设置来确定所有X-开关的开关设置,(2)应用用于1维分区PY的开关设置来确定所有Y-开关的开关设置,(3)应用用于1维分区PZ的开关设置来确定所有Z-开关的开关设置。
在一示例性实施例中,通过对于一3维阵列中的任意M个不重叠分区按任意顺序设置每个单独的分区的开关,本方法和系统设置开关以便对于M中的每个单独的分区P,属于P的PU互连成一3维环。另外,在一示例性实施例中,通过对于一3维阵列中的任意M个不重叠分区按任意顺序设置每个单独的分区的开关,对于由大小分别为NX、NY和NZ的集合PX、PY和PZ定义的、M中的每个单独的分区,以及对于该分区的每个X-线,本方法和系统以如下方式形成环状结构:
(1)如果NX=1,则不使用外部连接在X-线中形成P的环状互连;
(2)如果PX是一区间分区并且如果NX=2,则最多使用三个外部连接以在X-线中形成P的一环状互连接,而NX=2最多比在X-线中形成P的一环状互连所需的外部连接的最小可能数量多一;
(3)如果PX是一区间分区并且如果NX≥3,则最多使用NX个连接以在X-线中形成P的环状互连,而NX≥3是在X-线中形成P的一环状互连所需的外部连接的最小可能数量。
动态环境
应指出,本发明可应用于一动态环境,在该动态环境中可在任意时候形成和释放分区。用P1,P2,...,Pk表示M中的分区,本方法和系统(1)设置P1的开关以获得实现P1的一环状互连的开关连接的集合C1,(2)然后,设置P2的开关以获得实现P2的一环状互连的开关连接的集合C2,其中C2中没有连接使用也由C1中的一连接所使用的一开关的一端口,其中可形成C2中的连接而不干涉C1中的任何一个连接,(3)然后,设置P3的开关以获得实现P3的一环状互连的开关连接的集合C3,其中C3中没有连接使用也由C1或C2中的一连接所使用的一开关的一端口,其中可形成C3中的连接而不干涉C1或C2中的任何一个连接,和(4)类似地,设置余下的直到PK的分区的开关。
在一示例性实施例中,其中P1,P2,...,PK是多个不重叠的分区,通过设置开关从而产生实现每个单独的分区的一环状互连的开关连接的集合,并且P是任何没有与P1,P2,...,PK中的任何一个重叠的分区,本方法和系统获得实现P的一环状互连的开关连接的集合,其没有干涉以前获得的P1,P2,...,PK的开关连接中的任何一个。
在一示例性实施例中,其中通过f(1)=0,f(2)=3和对于所有N≥3,f(N)=N,来定义一函数f,并且如果分区P是一个没有与P1,P2,-...,PK中的任何一个重叠的区间分区,本方法和系统使用最多如下数量的外部连接来形成P的环状互连:
f(NX)NY NZ+NX f(NY)NZ+NX NY f(NZ)。
如果NX、NY和NY都不等于2,则本方法和系统使用形成P的一环状互连所必需的最小可能数量的外部连接来形成P的环状互连。
结论
在充分地说明了本发明的一优选实施例和各种变型后,本技术领域中的技术人员通过本文中的教导可认识到存在许多不偏离本发明的变型和等价物。因此,本发明不是由上述说明书限定而仅由附属权利要求限定。

Claims (20)

1.一种互连一并行计算机的L个处理器以有利于环状分区的方法,其中每一个该处理器都包括一处理单元和一开关,其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,其中该L个处理器构成R个不重叠的分区,其中该每个分区包括至少一个该处理器的处理单元,其中L是≥2的整数,R是≥1的整数,该方法包括:
将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中;以及
设置该相连接的L个开关从而使该每个分区互连成一环。
2.根据权利要求1的方法,其特征在于,该连接包括:
连接开关1的第一外部端口和开关2的第一外部端口。
3.根据权利要求2的方法,其特征在于,该连接还包括:
如果L≥3,则使第(L-1)个开关的第四外部端口与第L个开关的第四外部端口相连接;
对于1≤i≤L-1,其中i是整数,使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接;以及
对于1≤i≤L-2,其中i是整数,使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接。
4.根据权利要求1的方法,其特征在于,该连接包括:
经由电缆连接该L个开关。
5.根据权利要求1的方法,其特征在于,该设置包括:
计算该分区的跨度。
6.根据权利要求5的方法,其特征在于,该计算包括:
寻找该分区中的最小坐标MIN;
确定该分区中的最大坐标MAX;以及
设置该分区的跨度等于坐标i的集合,其中MIN≤i≤MAX,i是一整数。
7.根据权利要求6的方法,其特征在于,该计算还包括:
如果该分区的跨度正好包含一个坐标,其中i是属于该跨度的该坐标,
使第i个开关的第一内部端口和第二内部端口(I1,I2)相连接。
8.根据权利要求6的方法,其特征在于,该计算还包括:
如果该分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的这两个坐标,
如果i=1,
使第一开关的第三外部端口和第二内部端口(E3,I2)相连接,
使第一开关的第一外部端口和第一内部端口(E1,I1)相连接,
使第二开关的第二外部端口和第二内部端口(E2,I2)相连接,以及
使第二开关的第一外部端口和第一内部端口(E1,I1)相连接;
如果i=L-1,
使第(L-1)个开关的第三外部端口和第一内部端口(E3,I1)相连接,
使第(L-1)个开关的第四外部端口和第二内部端口(E4,I2)相连接,
使第L个开关的第二外部端口和第一内部端口(E2,I1)相连接,以及
使第L个开关的第四外部端口和第二内部端口(E4,I2)相连接;以及
在与前述不同的情况下,其中2≤i≤L-2,
使第(i-1)个开关的第三外部端口和第四外部端口(E3,E4)相连接,
使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接,
使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接,
使第(i+1)个开关的第一外部端口和第一内部端口(E1,I1)相连接,以及
使第(i+1)个开关的第二外部端口和第二内部端口(E2,I2)相连接。
9.根据权利要求6的方法,其特征在于,该计算还包括:
如果该分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的这三个坐标,
使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接,
使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接,
使第(i+2)个开关的第一外部端口和第一内部端口(E1,I1)相连接,
使第(i+2)个开关的第二外部端口和第二内部端口(E2,I2)相连接;
如果(i+1)属于该分区,
使第(i+1)个开关的第二外部端口和第一内部端口(E2,I1)相连接,以及
使第(i+1)个开关的第三外部端口和第二内部端口(E3,I2)相连接;以及
如果(i+1)不属于该分区,
使第(i+1)个开关的第二外部端口和第三外部端口(E2,E3)相连接。
10.根据权利要求6的方法,其特征在于,该计算还包括:
如果该分区的跨度包括至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,
如果i=MIN,
使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接以及
使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接;
如果i=MAX,
使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及
使第i个开关的第二外部端口和第二内部端口(E2,I2)相连接;
如果i=MIN+1且i属于该分区,
使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接以及
使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接;
如果i=MIN+1且i不属于该分区,
使第i个开关的第二外部端口和第四外部端口(E2,E4)相连接;
如果i=MAX-1且i属于该分区,
使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及
使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接;
如果i=MAX-1且i不属于该分区,
使第i个开关的第一外部端口和第三外部端口(E1,E3)相连接;
如果MIN+2≤i≤MAX-2且i属于该分区,
使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接以及
使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接;以及
如果MIN+2≤i≤MAX-2且i不属于该分区,
使第i个开关的第一外部端口和第四内部端口(E1,E4)相连接。
11.一种互连一并行计算机的L个处理器以有利于环状分区的系统,其中每一个该处理器都包括一处理单元和一开关,其中该开关包括第一外部端口、第二外部端口、第三外部端口、第四外部端口、第一内部端口和第二内部端口,其中该L个处理器构成R个不重叠的分区,其中该每个分区包括至少一个该处理器的处理单元,其中L是≥2的整数,R是≥1的整数,该系统包括:
一连接模块,其被配置成将该L个处理器的L个开关在该L个开关的外部端口之间连接在一扩展的环状结构中;以及
一设置模块,其被配置成设置该相连接的L个开关从而使该每个分区互连成一环。
12.根据权利要求11的系统,其特征在于,该连接模块包括:
一配置成连接开关1的第一外部端口和开关2的第一外部端口的连接模块。
13.根据权利要求12的系统,其特征在于,该连接还包括:
如果L≥3,一配置成使第(L-1)个开关的第四外部端口与第L个开关的第四外部端口相连接的连接模块;
对于1≤i≤L-1,其中i是整数,一配置成使第i个开关的第三外部端口与第(i+1)个开关的第二外部端口相连接的连接模块;以及
对于1≤i≤L-2,其中i是整数,一配置成使第i个开关的第四外部端口与第(i+2)个开关的第一外部端口相连接的连接模块。
14.根据权利要求11的系统,其特征在于,该连接模块包括:
一配置成经由电缆连接该L个开关的连接模块。
15.根据权利要求11的系统,其特征在于,该设置模块包括:
一配置成计算该分区的跨度的计算模块。
16.根据权利要求15的系统,其特征在于,该计算模块包括:
一配置成寻找该分区中的最小坐标MIN的寻找模块;
一配置成确定该分区中的最大坐标MAX的确定模块;以及
一配置成设置该分区的跨度等于坐标i的集合的设置模块,其中MIN≤i≤MAX,i是一整数。
17.根据权利要求16的系统,其特征在于,该计算模块还包括:
如果该分区的跨度正好包含一个坐标,其中i是属于该跨度的该坐标,
一配置成使第i个开关的第一内部端口和第二内部端口(I1,I2)相连接的连接模块。
18.根据权利要求16的系统,其特征在于,该计算模块还包括:
如果该分区的跨度正好包含两个坐标,其中i和i+1是属于该跨度的这两个坐标,
如果i=1,
一配置成使第一开关的第三外部端口和第二内部端口(E3,I2)相连接的第一连接模块,
一配置成使第一开关的第一外部端口和第一内部端口(E1,I1)相连接的第二连接模块,
一配置成使第二开关的第二外部端口和第二内部端口(E2,I2)相连接的第三连接模块,
一配置成使第二开关的第一外部端口和第一内部端口(E1,I1)相连接的第四连接模块;
如果i=L-1,
一配置成使第(L-1)个开关的第三外部端口和第一内部端口(E3,I1)相连接的第一连接模块,
一配置成使第(L-1)个开关的第四外部端口和第二内部端口(E4,I2)相连接的第二连接模块,
一配置成使第L个开关的第二外部端口和第一内部端口(E2,I1)相连接的第三连接模块,以及
一配置成使第L个开关的第四外部端口和第二内部端口(E4,I2)相连接的第四连接模块;以及
在与前述不同的情况下,其中2≤i≤L-2,
一配置成使第(i-1)个开关的第三外部端口和第四外部端口(E3,E4)相连接的第一连接模块,
一配置成使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接的第二连接模块,
一配置成使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接的第三连接模块,
一配置成使第(i+1)个开关的第一外部端口和第一内部端口(E1,I1)相连接的第四连接模块,以及
一配置成使第(i+1)个开关的第二外部端口和第二内部端口(E2,I2)相连接的第五连接模块。
19.根据权利要求16的系统,其特征在于,该计算模块还包括:
如果该分区的跨度正好包含三个坐标,其中i、i+1和i+2是属于该跨度的这三个坐标,
一配置成使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接的第一连接模块,
一配置成使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接的第二连接模块,
一配置成使第(i+2)个开关的第一外部端口和第一内部端口(E1,I1)相连接的第三连接模块,
一配置成使第(i+2)个开关的第二外部端口和第二内部端口(E2,I2)相连接的第四连接模块,
如果(i+1)属于该分区,
一配置成使第(i+1)个开关的第二外部端口和第一内部端口(E2,I1)相连接的第五连接模块,以及
一配置成使第(i+1)个开关的第三外部端口和第二内部端口(E3,I2)相连接的第六连接模块;以及
如果(i+1)不属于该分区,
一配置成使第(i+1)个开关的第二外部端口和第三外部端口(E2,E3)相连接的第五连接模块。
20.根据权利要求16的系统,其特征在于,该计算模块还包括:
如果该分区的跨度包括至少4个坐标,对于每个满足MIN≤i≤MAX的坐标i,
如果i=MIN,
一配置成使第i个开关的第三外部端口和第一内部端口(E3,I1)相连接的第一连接模块,以及
一配置成使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接的第二连接模块;
如果i=MAX,
一配置成使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接的第一连接模块,以及
一配置成使第i个开关的第二外部端口和第二内部端口(E2,I2)相连接的第二连接模块;
如果i=MIN+1且i属于该分区,
一配置成使第i个开关的第二外部端口和第一内部端口(E2,I1)相连接的第一连接模块,以及
一配置成使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接的第二连接模块;
如果i=MIN+1且i不属于该分区,
一配置成使第i个开关的第二外部端口和第四外部端口(E2,E4)相连接的连接模块;
如果i=MAX-1且i属于该分区,
一配置成使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接的第一连接模块,以及
一配置成使第i个开关的第三外部端口和第二内部端口(E3,I2)相连接的第二连接模块;
如果i=MAX-1且i不属于该分区,
一配置成使第i个开关的第一外部端口和第三外部端口(E1,E3)相连接的连接模块;
如果MIN+2≤i≤MAX-2且i属于该分区,
一配置成使第i个开关的第一外部端口和第一内部端口(E1,I1)相连接的第一连接模块,以及
一配置成使第i个开关的第四外部端口和第二内部端口(E4,I2)相连接的第二连接模块;以及
如果MIN+2≤i≤MAX-2且i不属于该分区,
一配置成使第i个开关的第一外部端口和第四外部端口(E1,E4)相连接的连接模块。
CNB2004100912282A 2003-12-13 2004-11-17 互连并行计算机的处理器以有利于环状分区的方法和系统 Expired - Fee Related CN1316399C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/734,340 US7191311B2 (en) 2003-12-13 2003-12-13 Method and system of interconnecting processors of a parallel computer to facilitate torus partitioning
US10/734,340 2003-12-13

Publications (2)

Publication Number Publication Date
CN1627285A CN1627285A (zh) 2005-06-15
CN1316399C true CN1316399C (zh) 2007-05-16

Family

ID=34653341

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100912282A Expired - Fee Related CN1316399C (zh) 2003-12-13 2004-11-17 互连并行计算机的处理器以有利于环状分区的方法和系统

Country Status (3)

Country Link
US (1) US7191311B2 (zh)
JP (1) JP3982634B2 (zh)
CN (1) CN1316399C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216815B (zh) * 2008-01-07 2010-11-03 浪潮电子信息产业股份有限公司 一种双翼可扩展多处理器紧耦合共享存储器体系结构

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401203B2 (en) * 2004-09-14 2008-07-15 International Business Machines Corporation Method for wiring allocation and switch configuration in a multiprocessor environment
US7581079B2 (en) * 2005-03-28 2009-08-25 Gerald George Pechanek Processor composed of memory nodes that execute memory access instructions and cooperate with execution nodes to execute function instructions
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
WO2009139024A1 (ja) 2008-05-15 2009-11-19 富士通株式会社 コンピュータを相互接続するネットワーク
US20090313413A1 (en) * 2008-06-12 2009-12-17 Yariv Aridor method for wiring allocation and switch configuration in a multiprocessor environment
JP5920105B2 (ja) 2012-08-16 2016-05-18 富士通株式会社 演算処理装置および演算処理装置の制御方法
US9287208B1 (en) * 2014-10-27 2016-03-15 Intel Corporation Architecture for on-die interconnect
US9893950B2 (en) 2016-01-27 2018-02-13 International Business Machines Corporation Switch-connected HyperX network
WO2020174840A1 (ja) * 2019-02-28 2020-09-03 ソニー株式会社 情報処理装置及び情報処理方法
US11516087B2 (en) 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0726529A2 (en) * 1994-12-29 1996-08-14 International Business Machines Corporation Array processor topology reconfiguration system and method
CN1261966A (zh) * 1997-06-30 2000-08-02 博普斯公司 多重阵列处理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
JPH10134007A (ja) * 1996-10-30 1998-05-22 Matsushita Electric Ind Co Ltd マルチプロセッサシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0726529A2 (en) * 1994-12-29 1996-08-14 International Business Machines Corporation Array processor topology reconfiguration system and method
CN1261966A (zh) * 1997-06-30 2000-08-02 博普斯公司 多重阵列处理器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216815B (zh) * 2008-01-07 2010-11-03 浪潮电子信息产业股份有限公司 一种双翼可扩展多处理器紧耦合共享存储器体系结构

Also Published As

Publication number Publication date
JP3982634B2 (ja) 2007-09-26
CN1627285A (zh) 2005-06-15
US7191311B2 (en) 2007-03-13
JP2005174289A (ja) 2005-06-30
US20050132163A1 (en) 2005-06-16

Similar Documents

Publication Publication Date Title
CN1316399C (zh) 互连并行计算机的处理器以有利于环状分区的方法和系统
JP7315317B2 (ja) プロセッサおよびプロセッサのデータ転送方法
US5828894A (en) Array processor having grouping of SIMD pickets
Lim et al. Efficient algorithms for block-cyclic redistribution of arrays
Duncan A survey of parallel computer architectures
Bittner et al. Colt: An experiment in wormhole run-time reconfiguration
US5495476A (en) Parallel algorithm to set up benes switch; trading bandwidth for set up time
EP0726532A2 (en) Array processor communication architecture with broadcast instuctions
Dekel et al. Parallel scheduling algorithms
JPH06509894A (ja) 超並列コンピュータ・システムの入出力構成
JPH07253954A (ja) 並列コンピュータ
JP2014530408A (ja) プロセッシング装置及びスウィズルパターン生成器
JPH04232562A (ja) コンピユータ装置
Dazzi et al. 5 parallel prism: A topology for pipelined implementations of convolutional neural networks using computational memory
Jana et al. An Improved parallel prefix algorithm on OTIS-Mesh
Lin et al. Reconfiguration procedures for a polymorphic and partitionable multiprocessor
JP2006011924A (ja) 再構成可能演算装置および半導体装置
Bajwa et al. Area time trade-offs in micro-grain VLSI array architectures
Pechanek et al. MFAST: a single chip highly parallel image processing architecture
Buluç et al. New ideas in sparse matrix matrix multiplication
EP0570741A2 (en) Controller for a SIMD/MIMD processor array
Niculescu On Data Distributions in the Construction of Parallel Programs
JPH07253955A (ja) データ分割方法
Morano et al. Implementation of a Parallel Unstructured 3D Euler Solver on the CM-5
Schomberg A transputer-based shuffle-shift machine for image processing and reconstruction

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070516

Termination date: 20091217