CN1329856C - 多节点体系结构中防止饥饿的方法和装置 - Google Patents
多节点体系结构中防止饥饿的方法和装置 Download PDFInfo
- Publication number
- CN1329856C CN1329856C CNB018173829A CN01817382A CN1329856C CN 1329856 C CN1329856 C CN 1329856C CN B018173829 A CNB018173829 A CN B018173829A CN 01817382 A CN01817382 A CN 01817382A CN 1329856 C CN1329856 C CN 1329856C
- Authority
- CN
- China
- Prior art keywords
- outbound message
- impact damper
- message
- outbound
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 235000003642 hunger Nutrition 0.000 title description 4
- 230000037351 starvation Effects 0.000 title description 3
- 230000004044 response Effects 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 abstract 7
- 238000012790 confirmation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static 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
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Time-Division Multiplex Systems (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种从节点向接收代理发送消息的方法。在一个实施例中,如果存储在节点的缓冲器中的出站消息未成功发送到接收代理的次数超过阈值,则向接收代理发送当前存储在缓冲器中的出站消息。在将任何其它出站消息发送到接收代理之前,确定这些出站消息都已成功发送。在另一个实施例中,如果从接收代理接收到对出站消息的成功确认消息,则这些出站消息已发送成功。在另一个实施例中,如果接收代理中存储输入出站消息的缓冲器没有空间用于出站消息,则从接收代理接收对该出站消息的重试响应。
Description
技术领域
本发明的实施例涉及具有多节点计算机体系结构的计算机系统。具体地说,本发明涉及多节点体系结构中管理节点间消息的发送的方法和装置。
背景技术
计算机系统可以包含可一起工作以完成一项任务的多个处理器。例如,一个计算机系统可以包含四个处理器,它们可共享系统资源(例如输入装置或存储装置)并且可执行并行处理。这些处理器可以互相发送消息,可以向系统资源发送消息,以及可以从系统资源(例如存储器或输出装置)发送和接收消息。例如,此类消息可以包括对存储在存储装置的某个存储单元中的信息的请求。
在某些系统中,消息通过互连从处理器发送到系统的另一组件。由于种种原因,处理器发送的消息可能无法被目的组件接收。例如,目的组件当时可能不具有接受该消息的能力。在消息发送失败的情况下,发送消息的处理器可能收到失败消息或者可能仅仅是在定义的等待时期内收不到确认消息。如果因种种系统状况(例如,发往该接收组件的其它业务量)消息无限期地发送失败,则消息可能会处于饥饿状态。在某些系统中,正在发送消息的处理器可以通过对互连进行控制直到消息被成功发送为止来减轻这种饥饿状况。
发明内容
本发明提供一种发送消息的方法,所述方法包括:确定存储在缓冲器中的出站消息未成功发送到接收代理的次数已超过阈值,其中,所述缓冲器既存储还未发送到所述接收代理的出站消息又存储所述未成功发送的出站消息;向所述接收代理发送当前存储在所述缓冲器中的所有出站消息;以及在向所述接收代理发送任何其它出站消息之前,确定所有所述出站消息已经成功发送。
本发明还提供一种在多节点系统中发送消息的方法,所述方法包括:接收对存储在多节点系统的第一节点的出站缓冲器中的以前发送的出站消息的重试响应,其中,所述出站缓冲器既存储还未发送到所述接收代理的出站消息又存储所述以前发送的出站消息;确定对于所述以前发送的出站消息已经接收了阈值次数的重试响应;以及防止任何新项目存储在所述出站缓冲器中,直到当前存储在所述出站缓冲器中的所有出站消息都已发送到接收代理并且存储在所述接收代理的入站缓冲器中为止。
本发明又提供一种节点控制器,它包括:存储多个出站消息的缓冲器,其中,所述缓冲器既存储还未发送的出站消息又存储以前发送的出站消息;与所述缓冲器耦合而从所述节点控制器发送出站消息的输出接口;接收重试响应的输入接口;以及缓冲器管理器,它与所述输入接口耦合并且具有用以确定对存储在所述缓冲器中的出站消息已收到阈值次数的重试响应的逻辑。
本发明再提供一种系统,它包括:具有节点控制器的第一节点,其中包括:存储多个出站消息的出站缓冲器,其中,所述缓冲器既存储还未发送的出站消息又存储以前发送的出站消息;以及出站缓冲器管理器,它在对于存储在所述出站缓冲器中的出站消息已接收到阈值次数的重试响应时,防止在所述出站缓冲器中存储新的出站消息;接收代理,它耦合到所述第一节点并且包括:存储多个出站消息的入站缓冲器;以及入站缓冲器管理器,如果从所述第一节点接收到出站消息而用于存储所述出站消息的入站缓冲器中没有空闲项目,则向所述第一节点发送重试响应。
本发明还提供一种方法,它包括:将存储在多节点系统的节点中的出站缓冲器中的第一出站消息发送到接收代理,其中,所述出站缓冲器既存储还未发送的出站消息又存储所述第一出站消息;接收对所述第一出站消息的重试响应;确定对所述出站消息已收到阈值次数的重试响应;以及防止任何新项目存储在所述出站缓冲器中,直到当前存储在所述出站缓冲器中的所有出站消息都发送到所述接收代理并且存储在所述接收代理的入站缓冲器中为止。
附图说明
图1是根据本发明实施例、具有发送消息的节点的系统的局部框图。
图2是说明根据本发明实施例的节点控制器和接收代理的细节的局部框图。
图3是根据本发明实施例发送消息的方法的流程图。
具体实施方式
本发明的实施例涉及将消息从多节点系统中的一个节点发送到接收代理的方法和装置。图1是根据本发明实施例、具有发送消息的节点的系统的局部框图。图1表示系统100,它是一种包括处理器、存储装置和输入/输出装置的计算机系统。系统100中的组件设置在本文称为节点的结构单元中。每个节点可以包括一个或多个处理器、存储器或输入/输出装置。此外,节点内的组件可以通过一条或多条总线或线路连接到该节点中的其它组件。系统100中的每个节点具有该节点内组件可用于与其它节点中的组件进行通信的节点连接。在一个实施例中,某个特定节点的节点连接用于从该节点内的组件至另一个节点的任何通信。在系统100中,每个节点的节点连接都连接到接收代理140。具有多个节点的系统称为多节点系统。每个节点通过专用连接与其它节点进行通信的多节点系统可称之为具有点到点的体系结构。
系统100中的节点可以发送指向另一个节点中的处理器或资源的消息(例如,从存储器中进行读取的请求)。因种种原因,消息原本的接收方可能无法处理该消息或可能未接收到该消息。例如,消息的接收方可能没有空间存储所接收的消息。如果消息的发送不成功,则发送节点会重新尝试发送该消息。在本发明的实施例中,在发送节点确定未成功将消息发送到接收代理超过阈值的次数之后,该发送节点在接受任何新消息以进行发送之前会确保该消息先被成功发送。利用此实施例可以缩短消息被成功发送和接收所等待的时间长度。
如图1所示,系统100包括第一节点110、第二节点120、第三节点130和输入/输出节点150。这些节点的每一个均耦合到接收代理140。术语“耦合到”包含直接连接、间接连接、间接通信等。第一节点110通过第一节点互连142耦合到接收代理140。第一节点互连142可以是一条或多条可往来于第一节点传递信息的线路。
第一节点110包括处理器111、处理器112和节点控制器115、它们通过总线113彼此耦合。处理器111和处理器112可以是任何一种能够处理指令的微处理器,诸如INTEL PENTIUM系列处理器中的一款处理器。总线113可以是共享的总线。第一节点110还包括与节点控制器115耦合的存储器119。存储器119可以是随机存取存储器(RAM)。节点控制器115包括出站缓冲器117和出站缓冲器管理器118。出站缓冲器117可以是存储器或存储器的一部分,该部分存储处理器(如处理器111或处理器112)所生成的并将从节点110发出到系统100中另一个节点的出站消息。出站缓冲器管理器118可以包括一个逻辑,用于管理存储在出站缓冲器117中的出站消息的发送。例如,出站缓冲器管理器118可以是专用集成电路。就此应用中所使用情况而言,“逻辑”可以包括硬件逻辑,如执行运算而布线的电路,或程序逻辑,如执行运算的固件。
同样地,第二节点120包括处理器121、处理器122、处理器123和节点控制器125,它们彼此耦合。第二节点120还包括耦合到节点控制器125的存储器129。第三节点130包括处理器131、处理器132和节点控制器135,它们彼此耦合。第三节点130还包括耦合到节点控制器135的存储器139。处理器121、122、123、131和132可以类似于处理器111和112。在一个实施例中,两个或多个处理器111、112、121、122、123、131和132可以并行地处理程序。节点控制器125和135可以类似于节点控制器115,存储器129和139可以类似于存储器119。处理器131可以包括高速缓存133,而处理器132可以包括高速缓存134。高速缓存133和高速缓存134可以是2级(L2)高速缓冲存储器,它们由静态随机存取存储器(SRAM)构成。
在一个实施例中,接收代理140可以是用于在系统100内为消息选择路由的路由选择交换机。接收代理140包括入站缓冲器147、出站缓冲器148和路由管理器145。入站缓冲器147可以是存储器或者存储器的一部分,用于存储接收代理140所接收到的出站消息。入站缓冲器管理器148可以包括逻辑,用于管理接收存储在入站缓冲器147中的出站消息。路由管理器145可以包括这种逻辑,用于将接收代理140所接收到的消息按路由发送到一个或多个相应的目的节点。入站缓冲器管理器148和路由管理器145可以是例如同一个专用集成电路的一部分。
输入/输出节点150包括耦合到一个或多个输入/输出装置152的输入/输出集线器151。输入/输出装置152可以是例如一个或多个打印机、键盘、鼠标或任何其它输入/输出装置的任意组合。输入/输出集线器151可以是包括总线接口逻辑的集成电路,该逻辑用于实现与符合“外围设备互连”标准的总线的接口。输入/输出集线器151可以类似于例如INTEL82801AAI/O控制集线器。
在一个实施例中,节点控制器115、接收代理140和输入/输出集线器151可以是一个芯片组,它提供主板的核心功能、如INTEL815系列芯片组的修订版芯片组。
在本发明的实施例中,节点110、120和130中的处理器可以是共享存储器的多处理器,存储器119、129和139中的每一个可以是同一个共享物理地址空间的一部分。在另一个实施例中,节点110、120和130中的处理器通过共享存储器读写操作(即通过对存储器119、129和139进行读写)来互相通信。在再一个实施例中,节点110、120和130中的处理器各具有一个或多个高速缓存(例如,1级和2级高速缓存),并利用接收代理140保持这些高速缓存相干性。例如,当处理器111存取存储器119中的某个存储单元时,它可以向接收代理140发送对该存储单元的窥探请求,该请求可以判断第二节点120和第三节点130中的任一个处理器已经对该存储单元进行高速缓存。当一个处理器需要系统中的其它处理器来查看它们自己的高速缓存以检查它们的高速缓存中是否存在某条特定线路时,可以生成窥探请求。
在另一个实施例中,系统100中节点间通信是异步的(即事件之间没有固定定时)。在又一个实施例中,节点间通信是以分组的形式发送的,其中可以包括信头或者信头和数据部分。
消息大小的实例可以为144位。在一个实施例中,所发送的消息可以包括请求和响应。在又一个实施例中,这些节点可以发送和接收的请求类型可以包括存储器读请求、存储器写请求、高速缓存窥探请求、高速缓存刷新请求、存储器更新请求、高速缓存行置换请求、输入/输出端口读请求以及输入/输出端口写请求。请求可以包括诸如分组类型、目的ID、请求类型、源ID、事务地址、请求长度、流ID以及排序语义等字段。
图2是详细说明根据本发明实施例的节点控制器和接收代理的局部框图。具体来说,图2详细说明图1的节点控制器115和接收代理140。如图2所示,节点控制器115中的出站缓冲器117包含第一消息211、第二消息221和第三消息231。在一个实施例中,出站缓冲器117可以包含32个出站消息。在一个实施例中,存储在出站缓冲器117中的每个出站消息包含重试计数器。在另一个实施例中,每个出站消息的重试计数器的长度为四位,在此情况中,它能够从0计数到15。除出站缓冲器管理器118外,节点控制器115还包含输入接口250和输出接口255。输出接口255耦合到出站缓冲器117,用于将出站消息从节点控制器115发送到接收代理140。输入接口250用于从接收代理140接收消息。
接收代理140包括上述的入站缓冲器147、入站缓冲器管理器148以及路由管理器145。如图2所示,入站缓冲器147包含可用于在从节点控制器115接收到出站消息后将其存储的项目。在一个实施例中,入站缓冲器147中的每个项目都足够大,用以存储从节点接收的一个出站消息。在另一个实施例中,入站缓冲器147包含8个项目。在另一个实施例中,入站缓冲器147具有32个项目。
图3是根据本发明实施例发送出站消息的方法的流程图。在一个实施例中,在系统操作中,节点中的节点控制器从节点中的处理器接收出站消息。例如,节点控制器115可以从处理器111和112接收出站消息。出站消息可以是与存储器有关的出站消息,如对存储在另一节点的存储器、如存储器129中存储单元中的数据的请求。作为另一实例,出站消息可以与窥探作为第二节点一部分的高速缓冲存储器有关。在一个实施例中,节点控制器将所接收的且要发送另一节点的出站消息存储在出站缓冲器、如缓冲器117中。在图3所示的实施例中,节点控制器通过将该节点连接到系统其它部分的互连将出站消息逐个发送(301)到接收代理。可以采用任何选择算法、如先进先出(FIFO)算法从缓冲器中选择要发送的出站消息。接收代理可以是目的节点、如在两节点系统中,或者可以是交换机,如图1中的接收代理140。在一个实施例中,出站消息是以分组形式发送的。
在一个实施例中,出站消息的发送是异步的。在另一个实施例中,节点控制器正在发送出站消息时可以接收需要发送的新出站消息。即,节点控制器在将出站消息从出站缓冲器发送到接收代理的同时,可以将新的出站消息存储在出站缓冲器中。在一个实施例中,因为出站消息可能无法成功发送到接收代理,所以发送节点的出站缓冲器中的出站消息在已向接收代理发送之后仍保留在缓冲器中。根据本实施例,出站消息在确定已经成功发送到接收代理之后则可以从出站缓冲器中删除。根据本实施例,存储在出站缓冲器中的每个出站消息可以具有发送标记,在该出站消息已被发送之后将该标记置“1”,如果稍后确定该发送未成功,则将该标记置“0”。在另一个实施例中,仅在出站消息的发送标记被置“1”时,才可以选择该消息来发送。
根据图3所示的实施例,发送出站消息的节点从接收代理接收对该出站消息的重试响应(302)。例如,如果接收代理中的入站缓冲器没有空间来存储发送节点所发送的出站消息,则可以发送重试响应。入站缓冲器中的每个项目可以包含已接收但是尚需处理或转发到另一节点的出站消息,因此入站缓冲器可以没有任何空闲存储单元可用于存储新出站消息。如果入站缓冲器有空间来存储该出站消息,则接收代理可以在接收到该出站消息并将其存储在入站缓冲器中之后向发送节点发送确认消息。在一个实施例中,如果从接收代理接收到对该出站消息的成功确认消息,该出站消息被视为成功发送,如果从接收代理接收到对该出站消息的重试响应,则该出站消息被视为未成功发送。
在一个实施例中,当发送节点接收对存储在其出站缓冲器中的出站消息的重试响应时,它使与该出站消息相关的重试计数器递增(303)。判断对于该出站消息是否已经接收到阈值次数的重试响应(304)。在一个实施例中,重试响应的阈值次数是16次重试响应。当然,也可以采用更小或更大的阈值。如果重试计数器未达到该阈值,则节点控制器可以继续如上所述发送出站消息。如果重试计数器已经达到阈值,则节点控制器可以确定在将任何其它出站消息发送到接收代理之前,缓冲器中的所有出站消息已经成功发送。节点控制器可以防止任何新项目存储在出站缓冲器中,直到当前出站缓冲器中存储的所有出站消息被发送到接收代理并存储在接收代理的入站缓冲器中为止。
在图3所示的实施例中,当确定重试计数器已达到阈值时,节点控制器就防止任何新的出站消息存储在出站缓冲器中(305)。然后节点控制器将出站消息从出站缓冲器发送到接收代理(306)。节点控制器判断出站缓冲器中的所有出站消息是否已经被接收代理成功接收(307),并继续发送存储在出站缓冲器中的出站消息,直到所有的出站消息被成功发送为止。如上所述,当从接收代理接收到对出站消息的确认消息时,则可认为该出站消息被成功发送。在出站缓冲器中所有出站消息被成功发送之后,节点控制器可以允许新的项目存储在出站缓冲器中(308)。
在另一个实施例中,在接收成功发送的出站消息之后,接收代理标识多节点系统中可以处理所述成功发送的出站消息的第二节点,并将该成功发送的出站消息发送到该第二节点。
本发明可以缩短出站消息在出站缓冲器中等待被成功发送和接收的时间。在某些情况中,可能会出现饥饿状况,出站缓冲器中等待的出站消息可能需要不断向接收代理重发。例如,当发送出站消息时,接收代理中的入站缓冲器可能已满,则接收代理会向节点控制器发送重试响应。在节点控制器可以重发消息之前,入站缓冲器中可能有空闲项目,但是在这期间此空间可能被其它已经被节点控制器发送的消息填充。在此情况中,重发的出站消息将再次得到重试响应。这种顺序可能会无限地自行重复。例如在以异步方式发送消息的情况下,就可能出现此类问题。当采用本发明的方法和装置时,在特定出站消息重试了阈值次数之后,节点控制器会将发送的出站消息集限制为出站缓冲器中现有的那些消息。每当新出站消息被成功接收时,可能填入接收代理的入站缓冲器中的出站消息的数量会快速减少。因此,采用本发明时,因入站缓冲器的空间匮乏而导致任何出站消息饥饿的时间是有限的。
本文具体说明和/或描述了本发明的多个实施例。但是,应当理解,在不违背本发明的精神和范围的前提下,上述论述也涵盖对本发明的修改和变化,并且这些修改和变化在所附权利要求书的范围内。例如,虽然图1的节点表示成包括两个/三个处理器,但是一个节点可以包括任何数目的处理器。在一个实施例中,一个节点只包括一个处理器,而在另一个实施例中,一个节点包括16个处理器。根据另一个实例,虽然图1中的节点通过接收代理140连接,但是在另一个实施例中,两个节点直接彼此连接。例如,在具有两个节点的系统中,第一节点的节点控制器可以连接到第二节点的节点控制器。在另一个实施例中,节点的节点控制器可以是该节点中的处理器的一部分。例如,系统中的第一节点可以只包括一个处理器,而该节点的节点控制器可以是该处理器的一部分。此外,一个节点(例如节点110)可以包括一个或多个处理器和输入/输出集线器。在又一个实施例中,出站缓冲器管理器、入站缓冲器管理器和/或路由管理器是以适合由处理器执行的指令来实现的,其中可以包括固件、微代码、目标代码、源代码等。
Claims (21)
1.一种发送消息的方法,所述方法包括:
i.确定存储在缓冲器中的出站消息未成功发送到接收代理的次数已超过阈值,其中,所述缓冲器既存储还未发送到所述接收代理的出站消息又存储所述未成功发送的出站消息;
ii.向所述接收代理发送当前存储在所述缓冲器中的所有出站消息;以及
iii.在向所述接收代理发送任何其它出站消息之前,确定所有所述出站消息已经成功发送。
2.如权利要求1所述的方法,其特征在于,如果从所述接收代理接收到对出站消息的成功确认消息,则所述出站消息发送成功,如果从所述接收代理接收到对出站消息的重试响应,则所述出站消息未成功发送。
3.如权利要求2所述的方法,其特征在于,如果所述接收代理中存储输入消息的缓冲器没有空间用于出站消息,则会从所述接收代理接收到对所述出站消息的重试响应。
4.如权利要求1所述的方法,其特征在于,在接收到成功发送的出站消息之后,所述接收代理:
i.标识所述多节点系统中能够处理所述成功发送的出站消息的第二节点;以及
ii.向所述第二节点发送所述成功发送的出站消息。
5.如权利要求1所述的方法,其特征在于,所述出站消息以分组的形式发送。
6.一种在多节点系统中发送消息的方法,所述方法包括:
i.接收对存储在多节点系统的第一节点的出站缓冲器中的以前发送的出站消息的重试响应,其中,所述出站缓冲器既存储还未发送到所述接收代理的出站消息又存储所述以前发送的出站消息;
ii.确定对于所述以前发送的出站消息已经接收了阈值次数的重试响应;以及
iii.防止任何新项目存储在所述出站缓冲器中,直到当前存储在所述出站缓冲器中的所有出站消息都已发送到接收代理并且存储在所述接收代理的入站缓冲器中为止。
7.如权利要求6所述的方法,其特征在于,如果所述出站消息已发送到所述接收代理而存储所述出站消息的所述入站缓冲器中没有空闲存储空间,则会接收到对所述出站消息的重试响应。
8.如权利要求6所述的方法,其特征在于,对已经接收了阈值次数的重试响应的所述确定包括:
i.使与所述出站消息相关的重试计数器递增;以及
ii.确定所述重试计数器已达到阈值。
9.如权利要求6所述的方法,其特征在于,所述出站消息是与存储器相关的出站消息。
10.如权利要求9所述的方法,其特征在于,所述出站消息涉及到窥探作为所述多节点系统的第二节点的一部分的高速缓冲存储器。
11.一种节点控制器,它包括:
i.存储多个出站消息的缓冲器,其中,所述缓冲器既存储还未发送的出站消息又存储以前发送的出站消息;
ii.与所述缓冲器耦合而从所述节点控制器发送出站消息的输出接口;
iii.接收重试响应的输入接口;以及
iv.缓冲器管理器,它与所述输入接口耦合并且具有用以确定对存储在所述缓冲器中的出站消息已收到阈值次数的重试响应的逻辑。
12.如权利要求11所述的节点控制器,其特征在于,所述缓冲器中的每个出站消息具有重试计数器,所述缓冲器管理器具有用于在每次收到对出站消息的重试响应时使所述出站消息的所述重试计数器递增的逻辑,以及所述缓冲器管理器具有利用所述重试计数器来确定已收到阈值次数的重试响应的逻辑。
13.如权利要求11所述的节点控制器,其特征在于,所述缓冲器管理器还包括一种逻辑,这种逻辑防止当前未存储在缓冲器中的任何出站消息发送,直到确认当前存储在所述缓冲器中的所有出站消息成功发送为止。
14.如权利要求12所述的节点控制器,其特征在于,用于防止任何出站消息发送的所述逻辑包括防止在所述缓冲器中存储新的出站消息的逻辑。
15.一种系统,它包括:
i.具有节点控制器的第一节点,其中包括:
1.存储多个出站消息的出站缓冲器,其中,所述缓冲器既存储还未发送的出站消息又存储以前发送的出站消息;以及
2.出站缓冲器管理器,它在对于存储在所述出站缓冲器中的出站消息已接收到阈值次数的重试响应时,防止在所述出站缓冲器中存储新的出站消息;
ii.接收代理,它耦合到所述第一节点并且包括:
1.存储多个出站消息的入站缓冲器;以及
2.入站缓冲器管理器,如果从所述第一节点接收到出站消息而用于存储所述出站消息的入站缓冲器中没有空闲项目,则向所述第一节点发送重试响应。
16.如权利要求15所述的系统,其特征在于,存储在所述入站缓冲器中的每个出站消息都具有重试计数器,所述入站缓冲器管理器包括一种逻辑,这种逻辑每当接收到对出站消息的重试响应时就使所述出站消息的重试计数器递增。
17.如权利要求16所述的系统,其特征在于,所述出站缓冲器管理器还包括一种逻辑,这种逻辑在出站消息的所述重试计数器已达到阈值时阻止在所述出站缓冲器中存储新的出站消息。
18.如权利要求15所述的系统,其特征在于,所述第一节点还包括将出站消息发送到所述节点控制器的第一处理器。
19.如权利要求15所述的系统,其特征在于,所述系统还包括第二节点,而且所述接收代理还包括路由管理器,用于为出站消息选择从所述第一节点到所述第二节点的路由。
20.一种方法,它包括:
i.将存储在多节点系统的节点中的出站缓冲器中的第一出站消息发送到接收代理,其中,所述出站缓冲器既存储还未发送的出站消息又存储所述第一出站消息;
ii.接收对所述第一出站消息的重试响应;
iii.确定对所述出站消息已收到阈值次数的重试响应;以及
iv.防止任何新项目存储在所述出站缓冲器中,直到当前存储在所述出站缓冲器中的所有出站消息都发送到所述接收代理并且存储在所述接收代理的入站缓冲器中为止。
21.如权利要求20所述的方法,其特征在于,确定已收到阈值次数的重试响应包括:
i.使与所述出站消息相关的重试计数器递增;以及
ii.确定所述重试计数器已达到阈值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/641,708 | 2000-08-21 | ||
US09/641,708 US6826619B1 (en) | 2000-08-21 | 2000-08-21 | Method and apparatus for preventing starvation in a multi-node architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1672144A CN1672144A (zh) | 2005-09-21 |
CN1329856C true CN1329856C (zh) | 2007-08-01 |
Family
ID=24573530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018173829A Expired - Fee Related CN1329856C (zh) | 2000-08-21 | 2001-08-14 | 多节点体系结构中防止饥饿的方法和装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6826619B1 (zh) |
EP (1) | EP1358565B1 (zh) |
CN (1) | CN1329856C (zh) |
AT (1) | ATE462165T1 (zh) |
AU (1) | AU2001284935A1 (zh) |
DE (1) | DE60141650D1 (zh) |
GB (1) | GB2381624B (zh) |
HK (1) | HK1080956A1 (zh) |
TW (1) | TW519590B (zh) |
WO (1) | WO2002017103A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089457B2 (en) * | 2002-04-16 | 2006-08-08 | International Business Machines Corporation | Efficient I/O retry over QDIO |
US7246121B2 (en) * | 2002-10-02 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | System and method for modifying new message retransmission within a system for harvesting community knowledge |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
US7970976B2 (en) * | 2009-03-01 | 2011-06-28 | Qualcomm Incorporated | Remote memory access using reversible host/client interface |
US8099558B2 (en) * | 2009-03-31 | 2012-01-17 | Seungjoon Park | Fairness mechanism for starvation prevention in directory-based cache coherence protocols |
US9047182B2 (en) * | 2012-12-27 | 2015-06-02 | Microsoft Technology Licensing, Llc | Message service downtime |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1099919A (zh) * | 1993-02-26 | 1995-03-08 | 日本电气株式会社 | 用信息业务量变化范围中随机数的随机接入卫星通信系统 |
US5710932A (en) * | 1987-07-28 | 1998-01-20 | Hitachi, Ltd. | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
US5781551A (en) * | 1994-09-15 | 1998-07-14 | Texas Instruments Incorporated | Computer communications system with tree architecture and communications method |
WO2000001123A1 (en) * | 1998-06-30 | 2000-01-06 | Sun Microsystems, Inc. | Congestion control in reliable multicast protocol |
Family Cites Families (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU651321B2 (en) | 1989-09-08 | 1994-07-21 | Network Appliance, Inc. | Multiple facility operating system architecture |
US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5794059A (en) | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5963746A (en) | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5708836A (en) | 1990-11-13 | 1998-01-13 | International Business Machines Corporation | SIMD/MIMD inter-processor communication |
US5963745A (en) | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5588152A (en) | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5966528A (en) | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5594918A (en) | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
US5442797A (en) | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
US5922063A (en) | 1992-09-17 | 1999-07-13 | International Business Machines Corporation | Automatic hardware message header generator |
US5590292A (en) | 1992-12-08 | 1996-12-31 | Compaq Computer Corporation | Scalable tree structured high speed input/output subsystem architecture |
DE69323861T2 (de) | 1993-01-25 | 1999-10-07 | Bull Hn Information Syst | Multiprozessorsystem mit gemeinsamem Speicher |
US5535116A (en) | 1993-05-18 | 1996-07-09 | Stanford University | Flat cache-only multi-processor architectures |
JP3501305B2 (ja) | 1993-08-04 | 2004-03-02 | サン・マイクロシステムズ・インコーポレイテッド | 相互接続制御装置及び方法 |
US5617537A (en) | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
US5541914A (en) | 1994-01-19 | 1996-07-30 | Krishnamoorthy; Ashok V. | Packet-switched self-routing multistage interconnection network having contention-free fanout, low-loss routing, and fanin buffering to efficiently realize arbitrarily low packet loss |
US5588131A (en) | 1994-03-09 | 1996-12-24 | Sun Microsystems, Inc. | System and method for a snooping and snarfing cache in a multiprocessor computer system |
US5875117A (en) | 1994-04-19 | 1999-02-23 | Lsi Logic Corporation | Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system |
US5914887A (en) | 1994-04-19 | 1999-06-22 | Lsi Logic Corporation | Congestion based cost factor computing apparatus for integrated circuit physical design automation system |
US5682322A (en) | 1994-04-19 | 1997-10-28 | Lsi Logic Corporation | Optimization processing for integrated circuit physical design automation system using chaotic fitness improvement method |
US5557533A (en) | 1994-04-19 | 1996-09-17 | Lsi Logic Corporation | Cell placement alteration apparatus for integrated circuit chip physical design automation system |
US5963975A (en) | 1994-04-19 | 1999-10-05 | Lsi Logic Corporation | Single chip integrated circuit distributed shared memory (DSM) and communications nodes |
US6155725A (en) | 1994-04-19 | 2000-12-05 | Lsi Logic Corporation | Cell placement representation and transposition for integrated circuit physical design automation system |
US5870313A (en) | 1994-04-19 | 1999-02-09 | Lsi Logic Corporation | Optimization processing for integrated circuit physical design automation system using parallel moving windows |
US5815403A (en) | 1994-04-19 | 1998-09-29 | Lsi Logic Corporation | Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip |
US5495419A (en) | 1994-04-19 | 1996-02-27 | Lsi Logic Corporation | Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing |
US5634004A (en) | 1994-05-16 | 1997-05-27 | Network Programs, Inc. | Directly programmable distribution element |
US5551048A (en) | 1994-06-03 | 1996-08-27 | Digital Equipment Corporation | Ring based distributed communication bus for a multiprocessor network |
US5655149A (en) | 1994-06-10 | 1997-08-05 | Harris Corporation | System for identifying a primary processor and non-primary processors after system reboot independent of processor positions and without using default primary processor identification |
US5588132A (en) | 1994-10-20 | 1996-12-24 | Digital Equipment Corporation | Method and apparatus for synchronizing data queues in asymmetric reflective memories |
US5717942A (en) | 1994-12-27 | 1998-02-10 | Unisys Corporation | Reset for independent partitions within a computer system |
US5603005A (en) | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
US5701313A (en) | 1995-02-24 | 1997-12-23 | Unisys Corporation | Method and apparatus for removing soft errors from a memory |
US5581729A (en) | 1995-03-31 | 1996-12-03 | Sun Microsystems, Inc. | Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system |
DE69616402T2 (de) | 1995-03-31 | 2002-07-18 | Sun Microsystems Inc | Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem |
US5655100A (en) | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US5634068A (en) | 1995-03-31 | 1997-05-27 | Sun Microsystems, Inc. | Packet switched cache coherent multiprocessor system |
US5684977A (en) | 1995-03-31 | 1997-11-04 | Sun Microsystems, Inc. | Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system |
US5657472A (en) | 1995-03-31 | 1997-08-12 | Sun Microsystems, Inc. | Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor |
US5680576A (en) | 1995-05-05 | 1997-10-21 | Silicon Graphics, Inc. | Directory-based coherence protocol allowing efficient dropping of clean-exclusive data |
US5699500A (en) | 1995-06-01 | 1997-12-16 | Ncr Corporation | Reliable datagram service provider for fast messaging in a clustered environment |
US5682512A (en) | 1995-06-30 | 1997-10-28 | Intel Corporation | Use of deferred bus access for address translation in a shared memory clustered computer system |
US5887146A (en) | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
US5905881A (en) | 1995-11-30 | 1999-05-18 | Unisys Corporation | Delayed state writes for an instruction processor |
US5875462A (en) | 1995-12-28 | 1999-02-23 | Unisys Corporation | Multi-processor data processing system with multiple second level caches mapable to all of addressable memory |
US5680571A (en) | 1995-12-28 | 1997-10-21 | Unisys Corporation | Multi-processor data processing system with multiple, separate instruction and operand second level caches |
US5678026A (en) | 1995-12-28 | 1997-10-14 | Unisys Corporation | Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues |
US5867649A (en) | 1996-01-23 | 1999-02-02 | Multitude Corporation | Dance/multitude concurrent computation |
DE19606629A1 (de) | 1996-02-22 | 1997-08-28 | Siemens Nixdorf Inf Syst | Mehrprozessor-Zentraleinheit |
US5864738A (en) | 1996-03-13 | 1999-01-26 | Cray Research, Inc. | Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller |
US5911052A (en) | 1996-07-01 | 1999-06-08 | Sun Microsystems, Inc. | Split transaction snooping bus protocol |
US5978874A (en) | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
US5784697A (en) | 1996-03-27 | 1998-07-21 | International Business Machines Corporation | Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture |
US5787094A (en) | 1996-06-06 | 1998-07-28 | International Business Machines Corporation | Test and diagnostics for a self-timed parallel interface |
US5802578A (en) | 1996-06-12 | 1998-09-01 | Sequent Computer Systems, Inc. | Multinode computer system with cache for combined tags |
US5900020A (en) | 1996-06-27 | 1999-05-04 | Sequent Computer Systems, Inc. | Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency |
US5892970A (en) | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient block copy operations |
US5887138A (en) | 1996-07-01 | 1999-03-23 | Sun Microsystems, Inc. | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes |
US5860159A (en) | 1996-07-01 | 1999-01-12 | Sun Microsystems, Inc. | Multiprocessing system including an apparatus for optimizing spin--lock operations |
US5881303A (en) | 1996-07-01 | 1999-03-09 | Sun Microsystems, Inc. | Multiprocessing system configured to perform prefetch coherency activity with separate reissue queue for each processing subnode |
US5950226A (en) | 1996-07-01 | 1999-09-07 | Sun Microsystems, Inc. | Multiprocessing system employing a three-hop communication protocol |
US5734922A (en) | 1996-07-01 | 1998-03-31 | Sun Microsystems, Inc. | Multiprocessing system configured to detect and efficiently provide for migratory data access patterns |
US5958019A (en) | 1996-07-01 | 1999-09-28 | Sun Microsystems, Inc. | Multiprocessing system configured to perform synchronization operations |
US5897657A (en) | 1996-07-01 | 1999-04-27 | Sun Microsystems, Inc. | Multiprocessing system employing a coherency protocol including a reply count |
US5862316A (en) | 1996-07-01 | 1999-01-19 | Sun Microsystems, Inc. | Multiprocessing system having coherency-related error logging capabilities |
US5848254A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space |
US5878268A (en) | 1996-07-01 | 1999-03-02 | Sun Microsystems, Inc. | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node |
US5983326A (en) | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode |
US5749095A (en) | 1996-07-01 | 1998-05-05 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient write operations |
US5754877A (en) | 1996-07-02 | 1998-05-19 | Sun Microsystems, Inc. | Extended symmetrical multiprocessor architecture |
US5796605A (en) | 1996-07-02 | 1998-08-18 | Sun Microsystems, Inc. | Extended symmetrical multiprocessor address mapping |
US5805839A (en) | 1996-07-02 | 1998-09-08 | Advanced Micro Devices, Inc. | Efficient technique for implementing broadcasts on a system of hierarchical buses |
US5961623A (en) | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
US5943150A (en) | 1996-09-30 | 1999-08-24 | Regents Of The University Of California | Massively parallel processor networks with optical express channels |
US5946710A (en) | 1996-11-14 | 1999-08-31 | Unisys Corporation | Selectable two-way, four-way double cache interleave scheme |
US5931938A (en) | 1996-12-12 | 1999-08-03 | Sun Microsystems, Inc. | Multiprocessor computer having configurable hardware system domains |
DE69632634T2 (de) | 1996-12-13 | 2005-06-09 | Bull S.A. | Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit |
US5875201A (en) | 1996-12-30 | 1999-02-23 | Unisys Corporation | Second level cache having instruction cache parity error control |
US5960455A (en) | 1996-12-30 | 1999-09-28 | Unisys Corporation | Scalable cross bar type storage controller |
US5875472A (en) | 1997-01-29 | 1999-02-23 | Unisys Corporation | Address conflict detection system employing address indirection for use in a high-speed multi-processor system |
US5978578A (en) | 1997-01-30 | 1999-11-02 | Azarya; Arnon | Openbus system for control automation networks |
US6189111B1 (en) | 1997-03-28 | 2001-02-13 | Tandem Computers Incorporated | Resource harvesting in scalable, fault tolerant, single system image clusters |
US6041376A (en) | 1997-04-24 | 2000-03-21 | Sequent Computer Systems, Inc. | Distributed shared memory system having a first node that prevents other nodes from accessing requested data until a processor on the first node controls the requested data |
US6226714B1 (en) | 1997-07-15 | 2001-05-01 | International Business Machines Corporation | Method for invalidating cache lines on a sharing list |
US6205528B1 (en) | 1997-08-29 | 2001-03-20 | International Business Machines Corporation | User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture |
US6049853A (en) | 1997-08-29 | 2000-04-11 | Sequent Computer Systems, Inc. | Data replication across nodes of a multiprocessor computer system |
US6055617A (en) | 1997-08-29 | 2000-04-25 | Sequent Computer Systems, Inc. | Virtual address window for accessing physical memory in a computer system |
US5938765A (en) | 1997-08-29 | 1999-08-17 | Sequent Computer Systems, Inc. | System and method for initializing a multinode multiprocessor computer system |
US6085295A (en) | 1997-10-20 | 2000-07-04 | International Business Machines Corporation | Method of maintaining data coherency in a computer system having a plurality of interconnected nodes |
US5999734A (en) | 1997-10-21 | 1999-12-07 | Ftl Systems, Inc. | Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models |
US6052760A (en) | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
US6049845A (en) | 1997-11-05 | 2000-04-11 | Unisys Corporation | System and method for providing speculative arbitration for transferring data |
US6092156A (en) | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
US6065077A (en) | 1997-12-07 | 2000-05-16 | Hotrail, Inc. | Apparatus and method for a cache coherent shared memory multiprocessing system |
US6171244B1 (en) | 1997-12-31 | 2001-01-09 | Acuson Corporation | Ultrasonic system and method for storing data |
US6199144B1 (en) | 1997-12-31 | 2001-03-06 | Intel Corporation | Method and apparatus for transferring data in a computer system |
US5971923A (en) | 1997-12-31 | 1999-10-26 | Acuson Corporation | Ultrasound system and method for interfacing with peripherals |
US6212610B1 (en) | 1998-01-07 | 2001-04-03 | Fujitsu Limited | Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support |
US6209064B1 (en) | 1998-01-07 | 2001-03-27 | Fujitsu Limited | Cache coherence unit with integrated message passing and memory protection for a distributed, shared memory multiprocessor system |
US6038646A (en) | 1998-01-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for enforcing ordered execution of reads and writes across a memory interface |
US6141733A (en) | 1998-02-17 | 2000-10-31 | International Business Machines Corporation | Cache coherency protocol with independent implementation of optimized cache operations |
US6038651A (en) | 1998-03-23 | 2000-03-14 | International Business Machines Corporation | SMP clusters with remote resource managers for distributing work to other clusters while reducing bus traffic to a minimum |
US6173413B1 (en) | 1998-05-12 | 2001-01-09 | Sun Microsystems, Inc. | Mechanism for maintaining constant permissions for multiple instances of a device within a cluster |
US6161191A (en) | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
US5964886A (en) | 1998-05-12 | 1999-10-12 | Sun Microsystems, Inc. | Highly available cluster virtual disk system |
US6199135B1 (en) | 1998-06-12 | 2001-03-06 | Unisys Corporation | Source synchronous transfer scheme for a high speed memory interface |
US6182112B1 (en) | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
US6119215A (en) | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6148361A (en) | 1998-12-17 | 2000-11-14 | International Business Machines Corporation | Interrupt architecture for a non-uniform memory access (NUMA) data processing system |
US6189078B1 (en) | 1998-12-22 | 2001-02-13 | Unisys Corporation | System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency |
US6167489A (en) | 1998-12-22 | 2000-12-26 | Unisys Corporation | System and method for bypassing supervisory memory intervention for data transfers between devices having local memories |
US6192452B1 (en) | 1999-02-26 | 2001-02-20 | International Business Machines Corporation | Method and system for avoiding data loss due to cancelled transactions within a non-uniform memory access system |
US6226718B1 (en) | 1999-02-26 | 2001-05-01 | International Business Machines Corporation | Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system |
US6279085B1 (en) | 1999-02-26 | 2001-08-21 | International Business Machines Corporation | Method and system for avoiding livelocks due to colliding writebacks within a non-uniform memory access system |
US6269428B1 (en) | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system |
US6640325B1 (en) * | 1999-06-04 | 2003-10-28 | Advanced Micro Devices, Inc. | Immediate negative acknowledgement for a communication network |
-
2000
- 2000-08-21 US US09/641,708 patent/US6826619B1/en not_active Expired - Fee Related
-
2001
- 2001-07-04 TW TW090116369A patent/TW519590B/zh not_active IP Right Cessation
- 2001-08-14 EP EP01964037A patent/EP1358565B1/en not_active Expired - Lifetime
- 2001-08-14 GB GB0303278A patent/GB2381624B/en not_active Expired - Fee Related
- 2001-08-14 AT AT01964037T patent/ATE462165T1/de not_active IP Right Cessation
- 2001-08-14 CN CNB018173829A patent/CN1329856C/zh not_active Expired - Fee Related
- 2001-08-14 DE DE60141650T patent/DE60141650D1/de not_active Expired - Lifetime
- 2001-08-14 AU AU2001284935A patent/AU2001284935A1/en not_active Abandoned
- 2001-08-14 WO PCT/US2001/025547 patent/WO2002017103A2/en active Application Filing
-
2006
- 2006-01-13 HK HK06100602A patent/HK1080956A1/xx not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710932A (en) * | 1987-07-28 | 1998-01-20 | Hitachi, Ltd. | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism |
CN1099919A (zh) * | 1993-02-26 | 1995-03-08 | 日本电气株式会社 | 用信息业务量变化范围中随机数的随机接入卫星通信系统 |
US5781551A (en) * | 1994-09-15 | 1998-07-14 | Texas Instruments Incorporated | Computer communications system with tree architecture and communications method |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
WO2000001123A1 (en) * | 1998-06-30 | 2000-01-06 | Sun Microsystems, Inc. | Congestion control in reliable multicast protocol |
Also Published As
Publication number | Publication date |
---|---|
US6826619B1 (en) | 2004-11-30 |
ATE462165T1 (de) | 2010-04-15 |
HK1080956A1 (en) | 2006-05-04 |
CN1672144A (zh) | 2005-09-21 |
GB0303278D0 (en) | 2003-03-19 |
DE60141650D1 (de) | 2010-05-06 |
EP1358565B1 (en) | 2010-03-24 |
AU2001284935A1 (en) | 2002-03-04 |
EP1358565A2 (en) | 2003-11-05 |
WO2002017103A2 (en) | 2002-02-28 |
GB2381624B (en) | 2005-01-19 |
GB2381624A (en) | 2003-05-07 |
TW519590B (en) | 2003-02-01 |
WO2002017103A3 (en) | 2003-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6247091B1 (en) | Method and system for communicating interrupts between nodes of a multinode computer system | |
US6971098B2 (en) | Method and apparatus for managing transaction requests in a multi-node architecture | |
US4930069A (en) | Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities | |
US5257374A (en) | Bus flow control mechanism | |
US5020020A (en) | Computer interconnect system with transmit-abort function | |
US8099521B2 (en) | Network interface card for use in parallel computing systems | |
US5577211A (en) | System and method using chained structure queues for ordering of message delivery between connected nodes wherein unsuccessful message portion is skipped and retried | |
US6487619B1 (en) | Multiprocessor system that communicates through an internal bus using a network protocol | |
KR19980086583A (ko) | 멀티노드 비동기 데이타 통신 시스템 내의 조기 도달 메시지 처리 방법 | |
JPH0550021B2 (zh) | ||
EP0317481B1 (en) | Remote storage management mechanism and method | |
CN1527975A (zh) | 用于在对称多处理器系统中发送分组的方法和装置 | |
US5204954A (en) | Remote storage management mechanism and method | |
CN100380326C (zh) | 用于共享计算机资源的系统和方法 | |
CN1329856C (zh) | 多节点体系结构中防止饥饿的方法和装置 | |
US20060039405A1 (en) | Systems and methods for frame ordering in wide port SAS connections | |
KR100284791B1 (ko) | 멀티노드 비동기 데이타 통신 시스템 내의 조기 도달 메시지처리 시스템 | |
EP0317468A2 (en) | Bus flow control system | |
JPH07262151A (ja) | 並列プロセッサシステムおよびそれに適したパケット廃棄方法 | |
JPH03157742A (ja) | ファイルサーバ装置 | |
KR100250465B1 (ko) | 고속병렬컴퓨터의 메시지 전송 방법 | |
JP3799741B2 (ja) | バスコントローラ | |
JP2971119B2 (ja) | 複数プロセッサシステムにおける高速データ転送方式 | |
JPH0619857A (ja) | コンピュータ間のデータ一致装置 | |
CN114153756A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1080956 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1080956 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070801 Termination date: 20110814 |