CN1253800C - 多处理器无线网络中微处理器通信的方法和数据处理*** - Google Patents
多处理器无线网络中微处理器通信的方法和数据处理*** Download PDFInfo
- Publication number
- CN1253800C CN1253800C CNB2003101169682A CN200310116968A CN1253800C CN 1253800 C CN1253800 C CN 1253800C CN B2003101169682 A CNB2003101169682 A CN B2003101169682A CN 200310116968 A CN200310116968 A CN 200310116968A CN 1253800 C CN1253800 C CN 1253800C
- Authority
- CN
- China
- Prior art keywords
- processor
- information
- clusters
- network
- communication register
- 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 - Lifetime
Links
- 238000004891 communication Methods 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims description 50
- 238000012545 processing Methods 0.000 title abstract description 56
- 230000008569 process Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 3
- 238000003752 polymerase chain reaction Methods 0.000 abstract 1
- 238000000151 deposition Methods 0.000 description 12
- 238000009616 inductively coupled plasma Methods 0.000 description 5
- 235000010384 tocopherol Nutrition 0.000 description 4
- 235000019731 tricalcium phosphate Nutrition 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
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
在一个多处理器集群网络内的每个处理器中包含的处理器通信寄存器(PCR)提供增强的处理器通信。每个PCR存储用于流水线或并行多处理的相同的处理器通信信息。每个处理器具有排他的权利对该集群网络内每个PCR中的一个区进行存储并可访问以读取它自己的PCR的内容。每个处理器通过一个专用协议或专用无线网络更新所有PCR内它的专用区,以允许该集群网络内的所有其他处理器看到该PCR数据内的改变,并越过高速缓存子***。通过提供会立即被传送到网络并被传送给所有处理器的处理器通信,而无需暂时限制对该信息的访问或迫使所有处理器持续争夺同一高速缓存行,从而提高了该处理器集群网络内的效率。
Description
技术领域
一般地说,本发明涉及数据处理,特别是在数据处理***中各处理器之间的通信。更具体地说,本发明涉及多处理器数据处理***中处理器通信和协调的方法、处理单元和***。
背景技术
在计算机技术领域,大家都知道通过利用多个单处理器联合的处理能力能达到更强的计算机***性能。多处理器(MP)计算机***能以若干不同的体系结构设计出来,其中,根据预期的设计目的、***的性能要求以及每个应用的软件环境,可有各种设计更好地适用于特定的应用。已知的MP体系结构包括例如对称多处理器(SMP)和非均衡存储器访问(NUMA)体系结构。
在共享存储器的多处理器数据处理***中,***中多个处理器每个都可以访问和修改共享存储器中存储的数据。为了在多处理器之间同步对存储器特定区组(例如高速缓存线)的访问,程序设计模型往往要求一个处理器在修改该区组之前获取与该区组关联的锁并在修改之后释放该锁。
在SMP体系结构中,多处理器利用进、出共享存储器内可高速缓存的存储器单元的“加载”和“存储”,在互联总线上实现彼此通信。当同步多处理器***以实现流水线或并行处理时,在各处理器之间不断地传送通信信息,以允许每个处理器与执行该进程的其他处理器协调。处理器通过高速缓存子***内的加载和存储,传送特定的处理器信息,如处理器的状态或进程的状态。当一个处理器达到需要更新它的状态信息并将其告知其他处理器的状态时,该处理器通过获取对数据的锁来取得对该信息的排他控制以便对其进行修改。这使得持有这一信息的其他处理器使它们的副本无效,并在前述处理器已存储了其对信息的更新之后再次从存储器中加载该状态信息。这种处理器通信机制的效率是低的,因为它需要处理器不断地争夺对信息的控制,它需要从其他处理器中清空那个信息,只在已发生改变之后再重新加载,并且每当一个处理器存储该信息而其他处理器停住以等待信息更新时,它使流水线或并行处理减慢。
本发明认识到,相对于互连耦合的处理器之间进行的小百分比和小数量的处理间通信及其他事务而言,这些低效行为消耗大量互连带宽并且使得通信延迟太高。例如,一个8路SMP***中两个节点每个中存在的四个处理器由较高级总线耦合,而这两个节点本身由较低级总线耦合,即使对于这样一个比较简单的***,在不同节点中的处理器之间的一个数据请求的传送将在这三条总线的每一个中产生与总线获取及其他事务有关的延迟。即使在同一节点中处理器之间进行的处理器间通信,也必须消耗较高级总线带宽并造成总线延迟。因为这种延迟只是由于增大互连层次结构的深度造成的,所以本发明认识到,提供一种改善的数据处理***体系结构是人们所希望的和有益的,这一***减小了物理上远离的处理器间通信的延迟并减小了总线带宽消耗,从而释放了总线带宽,以用于各处理器及分级存储器***之间的一般数据传送。
发明内容
根据本发明的一个方面,提供了一种在包含通过一个网络互连的多个处理器集群的多处理器***中进行处理器通信的方法,其中每个处理器集群包含至少一个具有处理器通信寄存器的处理器,该处理器通信寄存器向它的处理器提供对存储在该处理器通信寄存器中的信息的持续访问,该方法包括以下步骤:
从该多个处理器集群中的一个第一处理器中包含的处理器通信寄存器的一个或多个区中提取信息,其中这些区中的一个区被分配只供该多个处理器集群中一个相关的处理器进行存储;
在该第一处理器处接收从该相关处理器被传输至该网络的信息;
将该接收到的信息存入被分配给供该相关处理器进行存储的区中。
根据本发明的另一个方面,提供了一种在包含通过一个网络互连的多个处理器集群的多处理器***中进行处理器通信的方法,其中每个处理器集群包含至少一个具有处理器通信寄存器的处理器,该处理器通信寄存器向它的处理器提供对存储在该处理器通信寄存器中的信息的持续访问,其中每个处理器通信寄存器包含多个区,且该多个区的每个区被分配给只供该多个处理器集群中一个相关的处理器进行存储,该方法包括以下步骤:
从该多个处理器集群中的一个处理器的处理器通信寄存器中提取信息;
在该网络上从该相关处理器传输信息;
在该多个处理器集群中的每个处理器通信寄存器处接收从该相关处理器传输至该网络的信息;
将在该多个处理器集群中的每个处理器通信寄存器处接收到的信息存入被分配给供该相关处理器进行存储的区中;以及
通过存储从该相关处理器接收到的信息更新该多个处理器集群中每个处理器通信寄存器中的每个区,而无需从***存储器加载此信息。
根据本发明的再一个方面,提供了一个多处理器***,包括:
多个处理器集群,其中每个处理器集群包含至少一个含有处理器通信寄存器的处理器,该处理器通信寄存器具有多个区,其中该多个处理器集群中的每个处理器可访问它的处理器通信寄存器并可提取存储在该多个区的每个区中的信息,且其中该多个处理器集群中每个处理器通信寄存器中多个区的每个区被分配只供该多个处理器集群中一个相关的处理器进行存储,以及其中该多个处理器集群中的每个处理器更新该多个处理器集群中每个处理器通信寄存器中该多个区中与该处理器相关的区,以使当一个区被它的相关处理器更新时,包含处理器通信寄存器的每个处理器能立即访问更新的信息;以及
互连该多个处理器集群的网络,以使该多个处理器集群的一个处理器集群中的一个相关处理器通过在该网络上传输信息而更新该多个处理器集群的其他处理器集群中每个处理器通信寄存器中与该处理器相关的区。
根据一个优选实施例,提供了处理器通信的方法、处理器和多处理器***,其中这多个处理器中有至少一个处理器包含一个处理器通信寄存器(PCR),它向该处理器提供对其中所存储的信息的连续访问。一个处理器从这多个处理器的一个处理器中包含的PCR的一个或多个区(sector)提取信息,其中这些区之一被分配只供该多个处理器中的相关联的一个处理器进行存储;以及把来自该相关联的处理器的信息存入该多个处理器中的每个PCR中与其关联的区。
在另一个实施例中,该多个处理器中至少两个处理器同时从它们各自的PCR提取信息。在又一个优选实施例中,在该多个处理器中包含的各个PCR中含有相同的信息。在又一个优选实施例中,该信息对于该多个处理器协调流水线或并行多重处理是有用的。在又一个优选实施例中,这一个或多个区的每个区被排他地分配给只供该多个处理器中的一个相关的处理器进行存储。在又一个实施例中,该一个或多个区的每个区为4字节。在又一个优选实施例中,该处理器不断地更新每个PCR中的每个区,从而使该多个处理器中的每个处理器访问它自己的PCR中存储的信息,无需从***存储器加载这一信息。
附图说明
在所附权利要求中陈述了相信能表征本发明的新特性。然而,结合附图参考下文中对实施示例的详细描述,将能最好地理解发明本身以及它的优选使用方式,进一步的目的和优点,其中:
图1描绘根据本发明优选实施例的一个支持微处理器通信的多处理器数据处理***的高级方框图;
图2A显示根据本发明一个优选实施例的数据处理***的一个简图中互连每个PCR的星型总线结构;
图2B显示根据本发明优选实施例的数据处理***的一个简图中互连每个PCR的环型总线结构;
图3A和3B描绘根据本发明的一个优选实施例,使用PCR以便于在多处理器***中分别进行流水线处理和并行处理的举例;
图4A描绘根据本发明的优选实施例,具有改进的处理器通信的基于集群的数据处理网络;
图4B显示根据本发明的一个优选实施例,在集群C1-C3中所有处理器单元内包含的处理器通信寄存器使用的数据格式;以及
图5描绘根据本发明的一个优选实施例,利用独立的无线网络提供改进的处理器通信的数据处理***。
具体实施方式
现在参考附图,特别是参考图1,图中显示根据本发明的一个实施例,支持微处理器通信的多处理器(MP)数据处理***的高级方框图。如图中所示,数据处理***8包括若干个(例如64个)处理单元10,它们通过***互连12耦合以进行通信。如图1的实施例中所示,处理单元10包含四个处理器单元1-4作为举例;然而,该优选实施例不受处理器单元数量的限制,本发明将支持任何数量或类型的处理器单元。本发明能在具有任何数量的处理器单元的数据处理***中实现,例如在该多处理器***中包括2、4、8、16、32等数量的处理器。每个处理单元10是一个包括一个或多个处理器核心14的集成电路。除了寄存器、指令流程逻辑和用于执行程序指令的执行单元外,每个处理器核心14还包括相关联的一级(L1)指令和数据高速缓存16和18,它们分别暂时缓存可能由相关联的处理器核心14访问的指令和操作数数据。
如图1中进一步显示的那样,数据处理***8的存储器分层结构还包括物理存储器22,包含一个或多个存储器模块(图中示为存储器模块36、38和40),它们构成该存储器分层结构中最低级易失性数据存储器,以及一个或多个较低级高速缓冲存储器,如芯片上二级(L2)高速缓存20,它们用于中间集结从物理存储器22到处理器核心14的指令和操作数数据。如本领域技术人员理解的那样,存储器分层结构的每个相继的较低级通常能比较高级存储更大量数据,但是具有更高的访问延迟。如图所示,物理存储器22通过存储器控制器30、32和34与互连12接口,可存储操作数数据以及一个或多个操作***的一些部分以及一个或多个应用程序。存储器控制器30、32和34分别与相应的存储器模块36、38和40耦合并控制它们。
图中还显示了输入/输出连接器52,当执行对存储器***的直接存储器访问操作时,连接器52以与处理单元10相似的方式操作。如将理解的那样,该***可有附加的输入/输出连接器,与输入/输出连接器52等同,连接于互连12。由于各种输入/输出设备,如盘驱动器和视频监视器,被添加到PCI总线58(或其他类似的附加总线)上或从该总线上去掉,输入/输出连接器52用于通过桥54在PCI总线58和互连12之间传送数据。
本领域技术人员将会理解,数据处理***8可包括许多额外的图中未示出的部件,如I/O适配器、互连桥、非易失性存储器、连接到网络或附加设备的端口等。因为这些附加部件对理解本发明不是必须的,故没有显示在图1中且不在这里进一步讨论。然而,还应该理解,由本发明提供的增强特性可应用于任何体系结构的数据处理***并且决不限于图1所示一般化MP体系结构。
根据一个优选实施例,处理器单元1-4每个分别包含一个处理器通信寄存器(PCR)22、24、26和28。每个PCR22-28存储完全相同的信息,它对多处理器***中的处理器有用,如用于协调流水线或并行多重处理的处理器通信信息。每个PCR22-28是一个四字节寄存器,它能由其相关联的处理器单元读出,但这里的四个字节每个被排他地分配只供四个处理器单元1-4中与其关联的一个进行存储(在另一个实施例中,该PCR有32个区,每个区有四字节宽)。在操作时,每个处理器单元1-4对其自己的PCR内容连续地访问,并能遍存(store-through)到它自己的以及每个其他PCR内的它的专用区。换言之,在数据处理***内的每个处理器单元写每个处理器单元中包含的每个PCR,但只写这些PCR的它的被指定部分。通过处理器单元的操作,由每个处理器更新所有PCR内该处理器的区,每个PCR22-28被持续地更新,从而立即允许每个处理器单元1-4看到PCR数据中的改变。例如,在本发明的一个实施例中,处理器单元1将通过改变它自己的PCR22内包含的数据,然后通过互连12传送指向处理器单元2-4的每个中的PCR的“遍存”命令,但越过整个高速缓存子***(包括L1和L2高速缓存),来改变这些PCR内它的区。处理器单元1的遍存命令将只寻址分配给它的区,其是每个PCR22-28的四个字节内的第一个字节。例如,处理器单元3将向每个其他处理器单元1、2及4发送一个遍存命令,它寻址每个PCR内的第三个字节。将会理解,PCR22-28不限于寄存器中持有的任何特定字节数或分配给特定处理器的任何特定寄存器字节数,而且在另一些实施例中它们可以持有任何数量的字节或向特定的处理器分配任何数量的寄存器字节。
如将会理解的那样,本发明通过允许将处理器通信信息立即传送到所有处理器而无需暂时地限制对该信息的访问或迫使所有处理器持续的争夺同一高速缓存线,以致以无休止的“加载”、“存储”和“使无效”命令流淹没互连和存储器***,从而显著地提高了多处理器***内的效率。
本优选实施例在多处理***进行流水线或并行处理的那些应用中特别有用。例如,在现有技术中,当一个处理器完成一个流水线处理的它的那一部分时,它把处理器通信信息存储在它外部的高速缓存子***中,表明它已完成了该处理的它那一阶段。在该流水线中的下一个微处理器持续地轮询它的高速缓存子***,等待更新的状态信息。当前一个处理器得到独占访问并使高速缓存中的状态信息无效时,该下一个处理器从存储器或前一处理器高速缓存中提取更新后的状态信息并检验适当的标志以确定该处理是否已准备好进入它的阶段。如将会理解的那样,有大量的互连带宽被处理器间通信耗掉,因为所有的多处理器都在高速缓存内加载和存储关于该流水线的处理器通信信息的相同字节,以便互通和协调它们的处理。
现在参考图2A,图中显示根据本发明的优选实施例在数据处理***8的一个简图中互连每个PCR的星型总线结构。在一个优选实施例中,每个PCR22-28被分成四个区,每个区被指定用于数据处理***8中的四个处理器之一,而且每个区含有一个信息字节。如将会理解的那样,PCR22-28能被分成任何数量的区,包括其数量等于该数据处理***中处理器单元的数量(例如2、4、8、16、32、64等)。再有,在PCR22-28内分配给每个区的字节数也不限于如该优选实施例中所示仅为一个字节,而是设置成认为是在给定体系结构中为提供处理器通信所必须的字节数。
如图2A中所示,处理器单元1能在任何时候读整个PCR22,从而能立即访问来自该***内所有处理器的处理器通信信息。类似地,处理器单元2能在任何时候读整个PCR24,处理器单元3能在任何时候读整个PCR26,以及处理器单元4能在任何时候读整个PCR28。在一个实施例中,在所有PCR内的区P1由处理器单元1控制,在所有PCR内的区P2由处理器单元2控制,在所有PCR内的区P3由处理器单元3控制,以及在所有PCR内的区P4由处理器单元4控制。只有控制一个区的处理器单元能对该PCR内的那个区进行更新、修改或存储。这样,例如,只有处理器单元1能对PCR22-28内的区P1进行写操作。类似地,处理器单元2控制区P2,因而是该***内能对PCR22-28内的区P2进行写操作的唯一处理器单元。类似地,区P3和P4分别由处理器单元3和4控制,因而只有控制处理器单元能对PCR22-28内的特定区进行写操作。然而,所有处理器单元1-4能从那个处理器单元包含的PCR内的全部区中读出信息。
如图2A中所示,互连200-206(集体作为互连总线)是每个处理器单元1-4之间的直接总线链接,它们是独立的并越过由存储器***使用的互连12。处理器单元1直接向它的PCR22的区P1写信息,以更新它自己的处理器通信信息。处理器单元1还有通过互连200到其他处理器单元2-4的直接通信链接。当写入信息以更新其处理器通信信息时,处理器单元1通过互连200遍写到PCR24-28,这直接把被写数据放到相应寄存器的P1区。处理器单元2以类似的方式把处理器信息遍写到它自己的PCR24内它的区P2并通过互连202把该处理器通信信息直接传送到PCR22,26及28的P2区。处理器单元3把处理器信息遍写到它自己的PCR26内它的区P3并通过互连204把该处理器通信信息直接传送到PCR22、24及28的P3区。处理器单元4把处理器信息遍写到它自己的PCR28内它的区P4并通过互连206把该处理器通信信息直接传送到PCR22、24及26的P4区。
为向每个处理器单元提供对PCR区的读和写,可实现星型处理器通信互连的各种实现。如图2A中所示,每个处理器单元只被允许对PCR内分配给它的区写信息。这能通过互连200-206的直接硬连线实现,从而只有那些区可由处理器单元访问。另一种作法是,互连200-206可为单个通信总线或多重通信总线,它们接供数据和该数据的目标地址二者,从而使每个处理器单元只能以该寄存器内的指定字节为目标。例如,处理器单元2只有权向每个PCR22-28的第二个字节写信息。为了读信息,每个处理器单元1-4有能力读它自己内部的PCR。然而,如将会理解的那样,随着***内处理器单元数量的增大,互连总线***的复杂性随着每增加一个处理器单元而显著增大。在另一些实施例中,在多处理器***内的其他处理器单元能被接入该星型网络之中,从而使该处理器能读另一处理器单元的PCR。例如,一个新的处理器单元5(未示出)能被连入该星型网络中去读寄存器28并得到处理器单元1-4正在利用的同样的处理器通信信息。
现在针对图2B,图中显示根据本发明的优选实施例的数据处理***8的一个简图中互连每个PCR的环型总线结构。环型总线210是一个特殊的通信互连,它允许一个多处理器***内的各处理器单元互通存储在PCR22-28中的特殊处理器通信信息。环型总线210独立于由互连12连接到处理器单元1-4的分层存储器***。在该环型总线实施例中,如本领域技术人员公知的那样,利用令牌传送环型网络成按包来传送数据。如将会理解的那样,使用环型总线是很可伸缩的,并不限制数据处理***中能包括的处理器单元数量。然而,星型互连的延迟低于环型总线,因为每个处理器直接与其他处理器相连。
当每个处理器单元1-4需要更新PCR22-28中它的区时,相应的处理器在环型总线210上传送的“包”中发出一个存储命令。该包沿着互连环210传送并被连到该环型总线的每个其他处理器单元1-4接收。在环型总线210上接收包的每个处理器单元解码包含在该包内的地址并把信息存储到相关联的PCR区,或者,替代的作法是根据该包中包含的信息确定是哪个处理器单元发出了该存储指令,然后更新与那个发存储指令的处理器关联的PCR区。为防止在环型总线210上发生冲突,处理器单元1-4在把它的净载荷连到该包的尾端之前让来自其他处理器的包传送通过该环型总线。
现在参考图3A和3B,图中给出根据本发明的优选实施例在多处理器***内使用PCR以便于分别进行流水线和并行处理的举例。当进行流水线处理时,在处理器网络内的每个处理器负责执行与一段计算关联的特定算法。通常,在流水线处理中,一个处理单元接收已由前一个处理器处理过的信息,对那个数据完成它的处理功能,然后把该处理过的数据传送给流水线中的下一个处理器以进一步处理该数据。例如,数据处理***8可能正处理16K字节音频文件以对该音频文件执行各种处理例程。例如,一个处理器可能正执行一个例程以规一化音量,另一个处理器可能正实现一个功能去规一化基音,而另一个处理器可能正对该音频文件加密。这样的任务使它本身趋向于流水线处理。
图3A中描绘的是PCR的内容,这里每行表示选定时刻一个区(P1、P2、P3和P4)的内容,而每个相继行代表在不同的时间点(t1、t2、t3、和t4)的区。在时刻t1,每个处理器单元1-4看到区P1表明处理器单元1当前正在处理标为“F”的数据。类似地,P2表明当前在处理标为“E”的数据,P3表明当前在处理标为“D”的数据,以及P4表明当前在处理标为“C”的数据。这里在图3A中显示的字节由它们的16进制表示形式表示。在时刻t2,P1仍表明处理器单元1仍在处理由F代表的数据,但处理器单元2和3已更新了PCR中的P2和P3,表明它们已完成了对数据E和D的处理,如分别由E’和D’代表的那样。P4显示出未被更新,表明处理器单元4仍在处理与C相关的数据。
在时刻t3,处理器单元1已更新了PCR中的P1,表明它现在已开始处理与“0”相关的数据。一旦看到PCR内对P1的更新,处理器单元2明白处理器单元1已完成了它对与F相关的数据集的例程,于是处理单元2可开始它对那个数据的例程。处理器单元2更新PCR中它的区P2以表明F,然后从高速缓存子***中提取该相关的数据以开始它的例程。类似地,处理器单元3看到处理器单元2现已完成对数据集E的例程并已释放了它的控制,于是更新在PCR内的区P3以表明处理器单元3现在开始作用于数据集E。尽管在时刻3处理器单元4能看到处理器单元3已完成了对数据集D的工作,但它尚未完成对数据集C的例程,所以尚未更新PCR。在时刻t4,处理器单元1已完成它对数据集0的例程并已开始处理数据集1,如它更新PCR中它的区P1所指出的那样,表明它在对数据集1工作。类似地,处理器单元2已完成对数据集F的工作并已开始执行对数据集0的操作,因为它通过处理器单元1对其PCR内的区P1的更新看到处理器单元1已完成对数据集0的工作。在时刻t4,处理器单元3尚未完成它对数据集E的例程,所以它在PCR内的区P3尚未被更新。如由D′指出的那样,处理器单元4已完成它对数据集D的操作。因为处理器3尚未完成它对数据集E的处理,所以处理器4不能开始对那个数据集工作,于是相应地尚未更新PCR。
正如能看到的那样,本发明的优选实施例允许该***内的每个处理器单元能立即访问来自其他处理器的处理器通信信息,这些信息表明正在对特定数据集执行其处理的每个处理器的当前状态,从而有助于进行流水线处理。这通过与该数据集流水线处理并行的有效的处理器通信提供对处理器的有效协调。
现在参考图3B,图中显示根据本发明的优选实施例在并行处理中利用PCR的举例。在这一例子中,数据处理***8内的每个处理单元正对同一问题的相互关联的不同部分进行工作,但正被处理的该各数据集之间的数据依赖性要求它们被并行执行,从而要求在数据被处理时各处理单元之间的协调。如图3B中可见,在时刻t1,每个处理单元1-4已更新PCR内它们的区,表明当前它们正在处理由“0”代表的数据集。在时刻t2,P1、P2和P4已被更新,表明处理单元1、2和4已准备好开始处理数据集1,但P3表明处理单元3继续处理数据集0。直至时刻t3,处理单元3才更新P3,表明它已完成处理数据集0。在那一点,每个处理单元1-4开始并行处理数据集1。在时刻t4,P1表明处理单元1已完成处理数据集1并准备开始处理数据集2。P2和P3表明处理单元2和3在继续处理数据集1。P4显示处理单元4已完成数据集1并准备开始处理数据集2。在时刻t5,处理单元2和3已完成处理数据集1并已更新PCR以表明它们准备好开始处理数据集2。在那一点,每个处理单元1-4开始并行处理数据集2。如将会理解的那样,PCR允许每个处理单元1-4通过立即访问每个PCR中存储的处理器通信信息来同步它们对该数据集的并行处理,无需消耗高速缓存子***互连的任何带宽去更新和协调由每个处理单元进行的并行处理过程。
现在参考图4A,图中显示根据本发明的优选实施例,具有改进的处理器通信的、基于集群的数据处理网络。数据处理***400包括由网络420互连的集群1(C1)、集群2(C2)和集群3(C3)。每个集群C1-C3包含四个处理器单元401-404,由环型总线410互连。每个处理器单元401-404分别包含一个PCR422-428,其包含12字节处理器通信信息。每个集群C1-C3包括与环型总线410相连的网卡406,其使它的集群与网络420互连。网络420能在至少三个不同的实施例中实现,以提供用于该优选实施例的处理器通信的PCR之间的互连:(1)具有专用协议的标准数据网络,它允许在集群之间传送一种特殊的数据包,(2)标准的数据网络,其传输唯一网际协议(IP)地址,只用于把数据存入PCR,以及(3)专用于向PCR传送处理器通信信息的单独的数据网络。
在网络420的一个优选实施例中,网络420将由一个专用协议实现,该层位于计算机***数据网络,如局域网(LAN)或因特网内的标准网络协议,如千兆字节以太网协议或基于IP的协议的顶层。为提供该集群处理器与位于一个不同集群中的其他处理器之间的通信,在该***网络上传送使用该专用协议的点到广播型特殊包。如在一个优选实施例中使用的那样,网络420通常利用诸如传输控制协议/网际协议(TCP/IP)的通信协议提供每个集群C1-C3之间的数据和指令通信。网卡406利用标识它的集群的唯一IP地址供接收和发送集群间的通信。
为更新PCR,进行更新的处理器在环型总线410上发送“遍存”命令以更新每个PCR中它的区。它的集群中的其他处理器,通过索引到由该处理器传送的包中的地址,来更新它们自己的PCR。网络单元406接收该命令并把它***一个特殊的专用协议TCP/IP包中,该包被编址到该数据处理***400中其他集群的IP地址。该特殊的PCR包在网络420上传送并由其他集群的网络单元406接收。其净载荷的解码与其他标准包的不同之处在于跨越TCP/IP协议堆栈,代之以只是从该包中剥离出净载荷并在环型总线410上作为遍存命令传送给处理器单元401-404以更新各PCR422-428中被寻址的区(或多个区,如果该净载荷包含多个区更新的话)。通过索引到与进行传送的集群中正在更新其处理器通信信息的那个或那些处理器单元相关联的那个或那些区,在PCR内的每个区被编址,如图4B中描绘的那样。这样,由集群C1-C3利用的特殊类型IP包提供对其他集群中包含的所有PCR的更新。
现在参考图4B,图中显示根据本发明的优选实施例,在集群C1-C3中所有处理器单元内包含的PCR所用的数据格式。每个处理器单元401-404分别包含具有12个数据字节的一个PCR422-428,其每个由指定的集群C1-C3的各自的处理器P1-P4控制,如图4B中所示。由于每个处理器单元在其PCR中保留相同处理器通信信息的它自己的副本,所以最新更新的处理器通信信息可由所有集群C1-C3立即和持续地得到。当一个集群内的一个处理器单元需要在整个网络上更新该各PCR内包含的它的处理器通信信息时,该处理器在环型总线410上发出一个特殊的“遍写”命令,该命令寻址到各PCR422-428内分配给它的字节,从而更新该各PCR内由它控制的字节,例如,在集群C2内,处理器单元3将遍存到各PCR422-428内的第七字节。在集群C2中的每个其他处理器单元(处理器单元1、2和4)将继续更新它们的相应PCR内的第七字节。当网卡406接收来自处理器单元3的遍存请求时,它把该命令打包(如果必要的话)并在网络420上把该遍存命令传送到集群C1和C3的IP地址(以一包或多包传送,取决于具体实现)。每个集群C1和C3将利用进行发送的集群C2的IP地址解码该存储请求以确定集群C2的第三个处理器单元(P3)曾在更新PCR的第七字节。
回来参考图4A,在网络420的另一优选实施例中,将使用处在标准网络协议顶层的专用协议实现网络420,但那里每个集群C1-C3有其自己的唯一IP地址专用于更新PCR并与网络420使用的与各集群通信的一般IP地址无关。为更新PCR,进行更新的处理器在环型总线410上发送一个遍存命令以更新PCR的它的区。与环型总线410连接的该集群中的其他处理器通过索引到被该处理器传送的包中的地址来更新它们自己的PCR。网络单元406接收该命令并将其***一个TCP/IP包,该包被编址到唯一IP地址,这些IP地址预留出以供更新数据处理***400的其他集群中的PCR。这一特殊的PCR包在网络420上传送并根据其它集群的网络单元406的PCR所用的该唯一IP地址,由其他集群的网络单元406接收。其净载荷被解码并作为遍存命令在环型总线410上传送到处理器单元401-404,以更新各PCR422-428中的被寻址区(或多个区,如果该净载荷包含多个区更新的话)。如图4B中引用的那样,通过索引到与进行传送的集群中正在更新其处理器通信信息的那个或那些处理器单元相关联的那个或那些区,在各PCR内的每个区被编址。
在网络420的又一个优选实施例中,网络420将用一个专用于更新各PCR的且与互连各集群的标准网络无关的单独的、专用网络来实现。在专用网络420的一个优选实施例中,使用互连每个集群的单独点到点总线实现互连。网络单元406协调这些直接通信并把“遍存”从其他集群传送到它的相关环型总线410。在专用网络420的另一优选实施例中,使用基于包的网络和专用协议与各集群通信,以此实现互连。它还能使用标准协议,如千兆字节以太网或基于IP的协议,或者它们的某些定制变体。在这一实施例中,为更新各PCR,进行更新的处理器在环型总线410上发送一个“遍存”命令以更新PCR中它的区。与环型总线410连接的该集群中的其他处理器通过索引到由该处理器传送的包中的地址来更新它们自己的PCR。网络单元406接收该命令并将其***一个包,该包被编址到唯一IP地址,这些地址预留出以供更新数据处理***400的其他集群中的各PCR。这一特殊的PCR包在专用网络420上传送并被其他集群的网络单元406接收。其净载荷被解码并作为遍存命令在环型总线410上传送到处理器单元401-404,以更新各PCR422-428中的被寻址区(或多个区,如果该净载荷包含多个区更新的话)。如图4B中引用的那样,通过索引到与进行传送的集群中正在更新其处理器通信信息的那个或那些处理器单元相关联的那个或那些区,在各PCR内的每个区被编址。
现在参考图5,图中显示根据本发明的优选实施例,利用独立的无线网络提供改进的处理器通信的数据处理***。数据处理***500有多个被互连的服务器计算机共处一处集体完成复杂的和/或数据量大的计算(通常称作服务器场(server farm))。在图5的例子中,服务器场500包含六个服务器(服务器1-6)。每个服务器1-6包括两个“抽屉(drawer)”其包含多个服务器片(blade)502、504。如将会理解的那样,每个服务器片502、504可包含多个对称多处理器。在一个优选实施例中,每个服务器片502、504将针对数据处理***配置而成,例如针对图1中所示数据处理***8配置而成,其被配置成具有多个处理器,其使用用于服务器片的每个处理器中包含的每个处理器通信寄存器之间的通信的环形互连(例如如图2B中所示)。如将会理解的那样,所显示的服务器场500有六个服务器只是为了便于说明,并不限于任何特定的服务器数量。如会进一步理解的那样,每个服务器片502、504能包含任何数量的处理器(例如2、4、8、16、32个等),不限于图2B中所示的四个处理器。
根据本发明的优选实施例,在服务器1-6中的服务器片502有环型总线(未示出),其以无线网卡506互连服务器片502中的每个服务器单元(未示出)中包含的PCR(未示出),其互连方式与图4A中显示的以环型总线410互连处理器单元401-404中的PCR及网卡406的方式相同。无线网卡506的操作与图4A中看到的网卡406的操作完全相同,只是它经由通过天线508的传输在无线网络514上与服务器场500内的其他无线网卡506互连。类似地,服务器片504利用环型网络互连服务器卡处理器中的每个PCR与无线网卡510互连。无线网卡510通过天线512与无线网络514进行无线通信。以同样方式,服务器1-6的每个服务器片502、504与无线网络514互连,以创建具有12个单独集群(包含12个服务器抽屉)的基于集群的网络。
服务器场500内的每个集群以与网络400的各集群相同的方式更新各自在PCR内包含的处理器通信信息。然而,在这种情况中,为更新各PCR中的处理器通信信息而与每个集群的通信是在无线网络上完成的。每个无线网卡506、510在所有指定频率上监听,等待服务器场500内另一集群对PCR的更新。在一个利用频分多路复用(FDM)的实施例中,当一个集群需要遍写到其他集群以更新其PCR区时,它在其唯一频率上传送该遍存信息。在服务器场500内没有其他集群在那个特定频率上传输,因此,唯一地识别出一个特定集群内的对PCR的那个区具有写权限的特定处理器,所以复杂的基于IP的寻址和协议是不必要的。例如,在一个优选实施例中,每个无线网卡506、510利用标准的无线网络协议,如IEEE802.11(a)协议,它使用正交FDM,彼此通信。在另一些优选实施例中,该无线网络利用时分多路复用(TDM)或码分多路复用(CDM)传输***。
在另一个优选实施例中,服务器片502、504的每个服务器片本身含有无线网卡,它通过环型总线与服务器片的处理器互连,而且通过无线网络514与服务器场500内的所有其他服务器片进行无线通信。例如,每个服务器片502、504将针对如图4A中的集群C1被配置,但网卡406将具有无线能力以提供通过网络420与其他集群的互连通信。如将会理解的那样,利用无线网络连接提供处理器通信信息的该服务器场实施例由于避开了环型集群网络的复杂协议堆栈和延迟从而显著地提高了PCR更新过程的速度。
尽管已经参考优选实施例具体显示和描述了本发明,但本领域技术人员将会理解,可以做出在形式和细节上的各种改变而不脱离本发明的精神和范围。
Claims (24)
1.一种在包含通过一个网络互连的多个处理器集群的多处理器***中进行处理器通信的方法,其中每个处理器集群包含至少一个具有处理器通信寄存器的处理器,该处理器通信寄存器向它的处理器提供对存储在该处理器通信寄存器中的信息的持续访问,该方法包括以下步骤:
从该多个处理器集群中的一个第一处理器中包含的处理器通信寄存器的一个或多个区中提取信息,其中这些区中的一个区被分配只供该多个处理器集群中一个相关的处理器进行存储;
在该第一处理器处接收从该相关处理器被传输至该网络的信息;
将该接收到的信息存入被分配给供该相关处理器进行存储的区中。
2.权利要求1的方法,进一步地,其中该多个集群中至少两个处理器同时提取每个来自该多个处理器集群中包含的单独的、各自的处理器通信寄存器的信息。
3.权利要求1的方法,其中在该多个处理器集群的每个各自的处理器通信寄存器中包含有相同的信息。
4.权利要求1的方法,进一步地,其中该处理器通信寄存器存储的信息用于该多个集群协调流水线或并行多处理。
5.权利要求1的方法,进一步地,其中该一个或多个区的每个区被排他地分配给只供该多个处理器集群中的一个相关处理器进行存储。
6.权利要求1的方法,进一步包含持续更新该多个处理器集群中每个处理器通信寄存器中的每个区,以使该多个处理器集群的每个处理器可以访问存储在其各自处理器通信寄存器中的信息,而无需从***存储器加载此信息。
7.权利要求1的方法,进一步包含在网络上从该相关处理器传输该信息的步骤。
8.权利要求7的方法,其中该传输步骤包含在一标准数据网络上使用一个专用协议,以允许特定数据包在集群之间被传输。
9.权利要求7的方法,其中该传输步骤包含在一标准数据网络上使用只用于将数据存入处理器通信寄存器的唯一的网际协议地址。
10.权利要求7的方法,其中该传输步骤包含使用一个专用于至少将处理器通信信息传输至处理器通信寄存器的单独数据网络。
11.权利要求7的方法,其中该传输步骤包含使用一个专用于至少将处理器通信信息传输至处理器通信寄存器的无线数据网络。
12.一种在包含通过一个网络互连的多个处理器集群的多处理器***中进行处理器通信的方法,其中每个处理器集群包含至少一个具有处理器通信寄存器的处理器,该处理器通信寄存器向它的处理器提供对存储在该处理器通信寄存器中的信息的持续访问,其中每个处理器通信寄存器包含多个区,且该多个区的每个区被分配给只供该多个处理器集群中一个相关的处理器进行存储,该方法包括以下步骤:
从该多个处理器集群中的一个处理器的处理器通信寄存器中提取信息;
在该网络上从该相关处理器传输信息;
在该多个处理器集群中的每个处理器通信寄存器处接收从该相关处理器传输至该网络的信息;
将在该多个处理器集群中的每个处理器通信寄存器处接收到的信息存入被分配给供该相关处理器进行存储的区中;以及
通过存储从该相关处理器接收到的信息更新该多个处理器集群中每个处理器通信寄存器中的每个区,而无需从***存储器加载此信息。
13.权利要求12的方法,其中该网络是具有一个允许特定数据包在集群之间被传输的专用协议的标准数据网络。
14.权利要求12的方法,其中该网络是传输只用于将数据存入处理器通信寄存器的唯一网际协议地址的标准数据网络。
15.权利要求12的方法,其中该网络是专用于至少将处理器通信信息传输至处理器通信寄存器的单独的数据网络。
16.权利要求12的方法,其中该网络是专用于至少将处理器通信信息传输至处理器通信寄存器的无线数据网络。
17.一个多处理器***,包括:
多个处理器集群,其中每个处理器集群包含至少一个含有处理器通信寄存器的处理器,该处理器通信寄存器具有多个区,其中该多个处理器集群中的每个处理器可访问它的处理器通信寄存器并可提取存储在该多个区的每个区中的信息,且其中该多个处理器集群中每个处理器通信寄存器中多个区的每个区被分配只供该多个处理器集群中一个相关的处理器进行存储,以及其中该多个处理器集群中的每个处理器更新该多个处理器集群中每个处理器通信寄存器中该多个区中与该处理器相关的区,以使当一个区被它的相关处理器更新时,包含处理器通信寄存器的每个处理器能立即访问更新的信息;以及
互连该多个处理器集群的网络,以使该多个处理器集群的一个处理器集群中的一个相关处理器通过在该网络上传输信息而更新该多个处理器集群的其他处理器集群中每个处理器通信寄存器中与该处理器相关的区。
18.权利要求17的多处理器***,其中该处理器通信寄存器存储的信息用于该多个处理器集群协调流水线或并行多处理。
19.权利要求17的多处理器***,其中该多个处理器集群中的每个处理器可访问该多个区的每个被更新的区中存储的信息,而无需从***存储器中提取此信息。
20.权利要求17的多处理器***,其中在该多个处理器集群的每个处理器通信寄存器内包含有相同的信息。
21.权利要求17的多处理器***,其中该网络是具有允许特定数据包在集群之间传输的专用协议的标准数据网络。
22.权利要求17的多处理器***,其中该网络是传输只用于将数据存入每个处理器通信寄存器的唯一网际协议地址的标准数据网络。
23.权利要求17的多处理器***,其中该网络是专用于将处理器通信信息传输给每个处理器通信寄存器的单独数据网络。
24.权利要求17的多处理器***,其中该网络是专用于至少将处理器通信信息传输给每个处理器通信寄存器的无线数据网络。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/318,513 US7360067B2 (en) | 2002-12-12 | 2002-12-12 | Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network |
US10/318,513 | 2002-12-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1506836A CN1506836A (zh) | 2004-06-23 |
CN1253800C true CN1253800C (zh) | 2006-04-26 |
Family
ID=32506369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101169682A Expired - Lifetime CN1253800C (zh) | 2002-12-12 | 2003-12-03 | 多处理器无线网络中微处理器通信的方法和数据处理*** |
Country Status (3)
Country | Link |
---|---|
US (2) | US7360067B2 (zh) |
JP (1) | JP3836840B2 (zh) |
CN (1) | CN1253800C (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040076204A1 (en) * | 2002-10-16 | 2004-04-22 | Kruschwitz Brian E. | External cavity organic laser |
US7493417B2 (en) * | 2002-12-12 | 2009-02-17 | International Business Machines Corporation | Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system |
US7359932B2 (en) * | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor system |
US7360067B2 (en) | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network |
US7356568B2 (en) * | 2002-12-12 | 2008-04-08 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7316017B1 (en) * | 2003-01-06 | 2008-01-01 | Slt Logic, Llc | System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system |
US7386619B1 (en) * | 2003-01-06 | 2008-06-10 | Slt Logic, Llc | System and method for allocating communications to processors in a multiprocessor system |
US7953074B2 (en) * | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7188209B2 (en) | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
US8032659B2 (en) | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US8102843B2 (en) * | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7046668B2 (en) * | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US7512717B2 (en) * | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7174413B2 (en) * | 2003-01-21 | 2007-02-06 | Nextio Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7457906B2 (en) | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7917658B2 (en) * | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US7664909B2 (en) | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7836211B2 (en) | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US7502370B2 (en) * | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7219183B2 (en) | 2003-01-21 | 2007-05-15 | Nextio, Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7617333B2 (en) * | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7493416B2 (en) * | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
GB2409302B (en) * | 2003-12-18 | 2006-11-22 | Advanced Risc Mach Ltd | Data communication mechanism |
US20060167886A1 (en) * | 2004-11-22 | 2006-07-27 | International Business Machines Corporation | System and method for transmitting data from a storage medium to a user-defined cluster of local and remote server blades |
US7548749B2 (en) * | 2005-02-28 | 2009-06-16 | Microsoft Corporation | High-speed internal wireless bus |
KR100736902B1 (ko) * | 2005-06-23 | 2007-07-10 | 엠텍비젼 주식회사 | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 |
GB2427715A (en) * | 2005-06-24 | 2007-01-03 | Advanced Risc Mach Ltd | Managing snoop operations in a multiprocessor system |
US8990501B1 (en) * | 2005-10-12 | 2015-03-24 | Azul Systems, Inc. | Multiple cluster processor |
WO2008045341A1 (en) * | 2006-10-05 | 2008-04-17 | Arc International | Inter-processor communication method |
US8214808B2 (en) * | 2007-05-07 | 2012-07-03 | International Business Machines Corporation | System and method for speculative thread assist in a heterogeneous processing environment |
CN102812445A (zh) * | 2010-03-17 | 2012-12-05 | 富士通株式会社 | 分层型多核处理器、多核处理器***、以及控制程序 |
EP2737718B1 (en) * | 2011-07-29 | 2019-09-04 | Vubiq Networks Inc. | System and method for wireless communication in a backplane fabric architecture |
US9769417B1 (en) * | 2014-11-05 | 2017-09-19 | Lattice Semiconductor Corporation | Metadata transfer in audio video systems |
CN106227591B (zh) * | 2016-08-05 | 2019-10-25 | 中国科学院计算技术研究所 | 在异构多核片上***上进行无线通信调度的方法和装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050070A (en) | 1988-02-29 | 1991-09-17 | Convex Computer Corporation | Multi-processor computer system having self-allocating processors |
CA2000245C (en) | 1988-10-08 | 1996-07-16 | Hideo Hayashi | Multiprocessor system using communication register having processor-associated storage locations |
JPH0630094B2 (ja) | 1989-03-13 | 1994-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセツサ・システム |
CA2141268C (en) | 1994-01-28 | 1999-09-21 | Masanobu Inaba | High-speed synchronization communication control mechanism for multi-processor system |
JP2766217B2 (ja) * | 1994-06-14 | 1998-06-18 | 甲府日本電気株式会社 | 並列処理装置 |
EP0730237A1 (en) | 1995-02-28 | 1996-09-04 | Nec Corporation | Multi-processor system with virtually addressable communication registers and controlling method thereof |
JP2731742B2 (ja) | 1995-02-28 | 1998-03-25 | 甲府日本電気株式会社 | クラスタ構成の並列計算機 |
JP3429631B2 (ja) | 1996-09-09 | 2003-07-22 | 富士通株式会社 | 並列計算機システム |
US6145007A (en) * | 1997-11-14 | 2000-11-07 | Cirrus Logic, Inc. | Interprocessor communication circuitry and methods |
US6154785A (en) * | 1998-07-17 | 2000-11-28 | Network Equipment Technologies, Inc. | Inter-processor communication system |
JP4051788B2 (ja) | 1998-12-24 | 2008-02-27 | 株式会社日立製作所 | マルチプロセッサシステム |
JP3858492B2 (ja) * | 1998-12-28 | 2006-12-13 | 株式会社日立製作所 | マルチプロセッサシステム |
US6516403B1 (en) * | 1999-04-28 | 2003-02-04 | Nec Corporation | System for synchronizing use of critical sections by multiple processors using the corresponding flag bits in the communication registers and access control register |
JP2000342136A (ja) | 1999-06-03 | 2000-12-12 | Ryobi Ltd | 釣用リールカバー |
US6886038B1 (en) | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US6785684B2 (en) | 2001-03-27 | 2004-08-31 | International Business Machines Corporation | Apparatus and method for determining clustering factor in a database using block level sampling |
JP2003271574A (ja) * | 2002-03-14 | 2003-09-26 | Hitachi Ltd | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 |
US7360067B2 (en) | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network |
US7493417B2 (en) * | 2002-12-12 | 2009-02-17 | International Business Machines Corporation | Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system |
US7356568B2 (en) * | 2002-12-12 | 2008-04-08 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7359932B2 (en) * | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor system |
US7162573B2 (en) * | 2003-06-25 | 2007-01-09 | Intel Corporation | Communication registers for processing elements |
-
2002
- 2002-12-12 US US10/318,513 patent/US7360067B2/en active Active
-
2003
- 2003-11-19 JP JP2003390008A patent/JP3836840B2/ja not_active Expired - Fee Related
- 2003-12-03 CN CNB2003101169682A patent/CN1253800C/zh not_active Expired - Lifetime
-
2007
- 2007-12-12 US US11/954,686 patent/US7734877B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080155231A1 (en) | 2008-06-26 |
JP3836840B2 (ja) | 2006-10-25 |
US7360067B2 (en) | 2008-04-15 |
US20040117598A1 (en) | 2004-06-17 |
US7734877B2 (en) | 2010-06-08 |
CN1506836A (zh) | 2004-06-23 |
JP2004192622A (ja) | 2004-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1253800C (zh) | 多处理器无线网络中微处理器通信的方法和数据处理*** | |
CN1243308C (zh) | 使用处理器互连进行微处理器通信的方法和数据处理*** | |
CN1270241C (zh) | 微处理器通信的方法、处理单元及数据处理*** | |
CN1157659C (zh) | 非均匀存储器访问数据处理***及其通信方法 | |
CN1116643C (zh) | 具有共享干预支持的非均匀存储器访问数据处理***及方法 | |
Li et al. | NUMA-aware algorithms: the case of data shuffling. | |
CN101246466B (zh) | 多核***中共享内存的管理方法和装置 | |
CN1786927B (zh) | 应用层高速缓存映像知晓和再分配的***和方法 | |
US8001283B2 (en) | Efficient, scalable and high performance mechanism for handling IO requests | |
US5940870A (en) | Address translation for shared-memory multiprocessor clustering | |
CN101908036B (zh) | 一种高密度多处理器***及其节点控制器 | |
US7818364B2 (en) | Method and data processing system for microprocessor communication in a cluster-based multi-processor system | |
CN106104501A (zh) | 用于在多节点***中的存储器分配的方法和装置 | |
CN1786928A (zh) | 应用层高速缓存映像知晓和再分配的***和方法 | |
JP2006518885A (ja) | 複数のマルチプロセッサクラスタを有するシステムにおいて、複数のプロトコルエンジンを使用して行われるトランザクション処理 | |
CN1902611A (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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060426 |
|
CX01 | Expiry of patent term |