CN1270242C - 多处理器集群系统中微处理器通信的方法和数据处理系统 - Google Patents

多处理器集群系统中微处理器通信的方法和数据处理系统 Download PDF

Info

Publication number
CN1270242C
CN1270242C CN200310116975.2A CN200310116975A CN1270242C CN 1270242 C CN1270242 C CN 1270242C CN 200310116975 A CN200310116975 A CN 200310116975A CN 1270242 C CN1270242 C CN 1270242C
Authority
CN
China
Prior art keywords
processor
information
cluster
clusters
district
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
CN200310116975.2A
Other languages
English (en)
Other versions
CN1506838A (zh
Inventor
R·K·阿里米利
R·A·卡哥诺尼
D·E·威廉斯
K·L·赖特
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 CN1506838A publication Critical patent/CN1506838A/zh
Application granted granted Critical
Publication of CN1270242C publication Critical patent/CN1270242C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage

Abstract

在一个多处理器集群系统中包含的处理器通信寄存器(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 (21)

1.一种在包含由一个网络互连的多个处理器集群的多处理器系统中进行处理器通信的方法,其中该多处理器系统包含至少一个处理器通信寄存器,其向该多个处理器集群提供对存储在该寄存器中的信息的持续访问,该方法包括以下步骤:
从该多个处理器集群的两个处理器集群的每一个的所述寄存器中的一个或多个区提取信息,而无需进行物理存储器访问,其中该一个或多个区的一个区被分配只供该多个处理器集群中一个相关的处理器集群进行存储;
在该寄存器处接收来自该相关的处理器集群、在该网络上被传输的信息;
将该接收到的信息存储到该寄存器的被分配给只供该相关的处理器集群进行存储的区中。
2.权利要求1的方法,进一步包括将该信息从该多个处理器集群的该相关的处理器集群传输到该网络上的步骤。
3.权利要求1的方法,进一步地,其中该多个集群的至少两个处理器集群同时从该寄存器提取信息。
4.权利要求1的方法,进一步地,其中该信息用于该多个处理器集群协调流水线或并行多处理。
5.权利要求1的方法,进一步地,其中该一个或多个区的每个区被排他地分配给只供该多个处理器集群内一个相关的处理器集群进行存储。
6.一个多处理器系统,包括:
多个处理器集群;
具有多个区的处理器通信寄存器,其中该多个处理器集群的每个处理器集群可访问该寄存器并能提取存储在该多个区的每个区中的信息,且其中该多个区的一个区被分配给只供该多个处理器集群中一个相关的处理器集群进行存储,以及其中该多个处理器集群的每个处理器集群更新该多个区中与该处理器集群相关的区,以使当一个区被它的相关处理器集群更新时,每个处理器集群能立即访问该更新的信息。
7.权利要求6的多处理器系统,其中该信息用于该多个处理器集群协调流水线或并行多处理。
8.权利要求6的多处理器系统,其中该多个区的每个区被排他地分配给只供该多个处理器集群中一个相关的处理器集群进行存储。
9.权利要求6的多处理器系统,其中该多个处理器集群中的每个处理器集群更新该寄存器中与那个处理器集群相关的每个区,以使该多个处理器集群的每个处理器集群可访问存储在该多个区的每个被更新的区的信息,而无需从系统存储器中提取此信息。
10.一种在包含由一个网络互连的多个处理器集群的多处理器系统中进行处理器通信的方法,其中每个处理器集群包含至少一个处理器通信寄存器,其向在其自己的处理器集群中的一个或多个处理器提供对存储在该寄存器中的信息的持续访问,该方法包括以下步骤:
从该多个处理器集群的一个处理器集群中包含的一个寄存器的一个或多个区提取信息,其中这些区中的一个区被分配给只供该多个处理器集群中一个相关的处理器集群进行存储;
在该处理器集群接收来自该相关处理器集群、被传输到网络上的信息;以及
将接收到的信息存储到分配给供该相关处理器集群进行存储的区中。
11.权利要求10的方法,进一步包括将该信息从该多个处理器集群的该相关处理器集群传输到该网络上的步骤。
12.权利要求10的方法,进一步地,其中该多个集群的至少两个处理器集群同时从它们各自的寄存器中提取信息。
13.权利要求10的方法,其中相同的信息被包含在该多个处理器集群中含有的每个寄存器中。
14.权利要求10的方法,进一步地,其中该信息用于该多个处理器集群协调流水线或并行多处理。
15.权利要求10的方法,进一步地,其中该一个或多个区的每个区被排他地分配给只供该多个处理器集群中一个相关的处理器集群进行存储。
16.权利要求10的方法,进一步包括持续更新每个寄存器中的每个区,以使该多个处理器集群的每个处理器集群可以访问存储在它自己的寄存器中的信息,而无需从系统存储器加载此信息。
17.一个多处理器系统,包括:
多个处理器集群,其中每个处理器集群含有一个具有多个区的处理器通信寄存器,其中该多个处理器集群的每个处理器集群可访问它的寄存器并能提取存储在该多个区的每个区中的信息,并且其中该多个处理器集群中每个寄存器内的该多个区的一个区被分配给只供该多个处理器集群的一个相关的处理器集群进行存储,以及其中该多个处理器集群的每个处理器集群更新每个寄存器中该多个区中与该处理器集群相关的区,以便当一个区被它的相关处理器集群更新时,包含寄存器的每个处理器集群能立即访问该更新的信息。
18.权利要求17的多处理器系统,其中该信息用于该多个处理器集群协调流水线或并行多处理。
19.权利要求17的多处理器系统,其中该多个区的每个区被排他地分配给只供该多个处理器集群中相关的一个处理器集群进行存储。
20.权利要求17的多处理器系统,其中该多个处理器集群的每个处理器集群更新该多个处理器集群中每个寄存器内与那个处理器集群相关的每个区,以使该多个处理器集群中包含一个寄存器的每个处理器集群可访问存储在该多个区的每个被更新的区中的信息,而无需从系统存储器中提取此信息。
21.权利要求17的多处理器系统,其中相同的信息被包含在该多个处理器集群中含有的每个寄存器中。
CN200310116975.2A 2002-12-12 2003-12-03 多处理器集群系统中微处理器通信的方法和数据处理系统 Expired - Fee Related CN1270242C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/318,516 2002-12-12
US10/318,516 US7359932B2 (en) 2002-12-12 2002-12-12 Method and data processing system for microprocessor communication in a cluster-based multi-processor system

Publications (2)

Publication Number Publication Date
CN1506838A CN1506838A (zh) 2004-06-23
CN1270242C true CN1270242C (zh) 2006-08-16

Family

ID=32506372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200310116975.2A Expired - Fee Related CN1270242C (zh) 2002-12-12 2003-12-03 多处理器集群系统中微处理器通信的方法和数据处理系统

Country Status (3)

Country Link
US (2) US7359932B2 (zh)
JP (1) JP3836839B2 (zh)
CN (1) CN1270242C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US8054314B2 (en) * 2005-05-27 2011-11-08 Ati Technologies, Inc. Applying non-homogeneous properties to multiple video processing units (VPUs)
CN102446156B (zh) * 2011-09-14 2014-06-25 中国科学院计算技术研究所 用于并行多处理器系统的通信行为获取装置
EP2791752A4 (en) 2011-12-15 2016-12-21 Intel Corp IMPLEMENTATION OF A COMMUNICATION BETWEEN PROCESSORS IN A MULTI-CORNER SYSTEM WITH MILLIMETERWAVE RADIO
EP3614273A3 (en) * 2012-12-13 2020-04-15 Coherent Logix, Incorporated Multiprocessor system with improved secondary interconnection network
CN106445877B (zh) * 2016-11-03 2019-03-15 北京爱其科技有限公司 一种基于多个微处理器的集群运算方法
TWI720345B (zh) * 2018-09-20 2021-03-01 威盛電子股份有限公司 多核心系統的內連線結構

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
US5659784A (en) * 1994-01-28 1997-08-19 Nec Corporation Multi-processor system having communication register modules using test-and-set request operation for synchronizing communications
JP2766217B2 (ja) * 1994-06-14 1998-06-18 甲府日本電気株式会社 並列処理装置
JP2731742B2 (ja) 1995-02-28 1998-03-25 甲府日本電気株式会社 クラスタ構成の並列計算機
CA2170468A1 (en) 1995-02-28 1996-08-29 Noriyuki Ando Multi-processor system with virtually addressable communication registers and controlling method thereof
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 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
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
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
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
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

Also Published As

Publication number Publication date
JP2004192621A (ja) 2004-07-08
US7818364B2 (en) 2010-10-19
US20040117511A1 (en) 2004-06-17
US20080091918A1 (en) 2008-04-17
US7359932B2 (en) 2008-04-15
CN1506838A (zh) 2004-06-23
JP3836839B2 (ja) 2006-10-25

Similar Documents

Publication Publication Date Title
CN1243308C (zh) 使用处理器互连进行微处理器通信的方法和数据处理系统
CN1253800C (zh) 多处理器无线网络中微处理器通信的方法和数据处理系统
CN1270241C (zh) 微处理器通信的方法、处理单元及数据处理系统
Li et al. NUMA-aware algorithms: the case of data shuffling.
CN1157659C (zh) 非均匀存储器访问数据处理系统及其通信方法
CN101246466B (zh) 多核系统中共享内存的管理方法和装置
US5940870A (en) Address translation for shared-memory multiprocessor clustering
CN100399300C (zh) 用于数据处理的系统和方法和用于分配资源的系统和方法
US7818364B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor system
CN106415522A (zh) 存储器内轻量一致性
CN107111576A (zh) 发布的中断架构
WO2009114554A2 (en) Efficient, scalable and high performance mechanism for handling io requests
CN106104501A (zh) 用于在多节点系统中的存储器分配的方法和装置
CA2504971A1 (en) Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
Pant et al. Communicating efficiently on cluster based grids with MPICH-VMI
CN1902611A (zh) 数据处理系统
US7315919B1 (en) Bandwidth reduction technique in a snooping-based cache-coherent cluster of multiprocessing nodes

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: 20060816

Termination date: 20111203