CN100557594C - 数据处理器的状态引擎 - Google Patents

数据处理器的状态引擎 Download PDF

Info

Publication number
CN100557594C
CN100557594C CNB200380108223XA CN200380108223A CN100557594C CN 100557594 C CN100557594 C CN 100557594C CN B200380108223X A CNB200380108223X A CN B200380108223XA CN 200380108223 A CN200380108223 A CN 200380108223A CN 100557594 C CN100557594 C CN 100557594C
Authority
CN
China
Prior art keywords
state
engine
parallel processor
parts
shared
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
CNB200380108223XA
Other languages
English (en)
Other versions
CN1735878A (zh
Inventor
A·斯潘塞
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.)
Rambus Inc
Original Assignee
ClearSpeed Technology PLC
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 ClearSpeed Technology PLC filed Critical ClearSpeed Technology PLC
Publication of CN1735878A publication Critical patent/CN1735878A/zh
Application granted granted Critical
Publication of CN100557594C publication Critical patent/CN100557594C/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload

Abstract

对并行处理器、如SIMD阵列处理器共享的状态的相干访问和更新通过具有存储状态并允许访问串行化的本地存储器的状态元素的使用而成为可能。对状态的单个或多个项目的操作通过固定/硬接线的操作集来执行,但通过发送命令和数据来控制操作,它们是可编程的。各状态元素包括本地存储器、算术单元以及命令和控制逻辑。多个状态元素在状态细胞中是流水线式的,状态细胞又被组织成实现对共享状态访问的完全控制的状态阵列和状态引擎。读取/修改/写入操作可以仅在两个周期中执行,以及完整的命令仅在三到五个周期中执行。

Description

数据处理器的状态引擎
发明领域
本发明涉及用于数据处理器、尤其是并行处理器中的状态引擎。
发明背景
经常出现因而必须对连续数据流执行功能的情况。如果这些功能以处理器中的软件来实现,则从数据流依次到达的每个数据报(数据包)必须被存储、处理、然后转发。这个过程将耗用一些有限量的时间来执行。随着数据包到达的速率增大,将到达单处理器不再能跟上步伐的点。那么这些功能必须分布在被安排成流水线的多个处理器之间或者并行设置的多个处理器之间-每个处理器以某种循环序列依次接收来自数据流的数据包。从并行处理器输出的数据包通常在转发之前被重新排序。
这是对于高性能数据包处理的一种充分证明了的方式,但随着处理器数量增加而在其可缩放性上受到限制。无论是对于代码还是数据,对共享存储器的访问最终成为瓶颈。对共享状态的同时R/W访问将进一步增加系统控制信令的复杂度以便解决争用。
这留下了由多个并行处理器对共享状态信息的多个项目进行高速访问的问题。随着处理器数量及其算法复杂度增加,对于到共享数据的系统总线的地址和数据带宽要求也将增加。这可能成为瓶颈。本说明稍后描述的状态元素技术通过局部化和管理对共享状态的串行化来支持并行处理系统。
切题的一个好的例子是网络路由器中通信量管理的难题。按流量的通信量处理中的一个公认的重大问题是,需要对大量队列中的每一个维护状态的大量项目。这意味着:(a)需要实现相当大的共享存储器;(b)如果每个队列要求对不同(共享)状态变量进行分别访问,则需要许多存储器地址带宽;以及(c)存储器访问等待时间可能很长,因而在修改过程中导致状态阻塞,从而影响性能。
对共享状态变量的争用可通过实现稍后所述的状态元素来解决。但是,高性能系统中的状态元素概念本身不是一种解决方案。为了最大吞吐量和灵活性,大量状态元素被组合到状态引擎中。这允许对共享状态的多个并发访问。本发明旨在解决以下问题:
1.并行处理器可创建对状态的相同项目的高速率访问。
2.如果给定功能需要从相同地址访问多个变量,即需要访问和处理状态记录,则发生什么情况?
3.如果在处理器中对单个数据报执行的多个功能各要求访问状态变量或记录的不同的独立可寻址的表,则发生什么情况?
简言之,所针对的基本问题在于高速率的状态访问。这个问题必须以灵活方式来解决,使所存储的状态的数量以及状态访问的速率能够易于缩放。
发明概述
在一个方面,本发明提供一种并行处理器,它包括提供对共享状态的相干并行访问的状态元素部件。
并行处理器最好是阵列处理器,例如SIMD处理器。并行处理器还可包括串行化和/或同步对所述共享状态的多个访问/更新的部件。
所述状态可包括状态的单个项目或者状态的多个项目,以及可包括在存储器中的单个存储位置或数据结构。
对所述状态的操作可作为操作的固定或硬连接集合来执行。其它部件可提供数据以更新所述状态。部件还可向所述状态发送命令和数据,因而所述操作是可编程的。
多个所述状态元素部件可组织成状态细胞部件,从而对所述状态的操作可以是流水线式的。可以有多个所述状态细胞部件,从而允许与所述状态有关的多个请求同时被处理。
状态细胞部件还可包括:输入和输出互连部件,提供对所述状态细胞部件的访问或者来自所述状态细胞部件的访问;所述输入和输出互连部件的总线接口,所述总线接口与系统总线接口;以及控制单元,与所述系统总线互连,用于控制对所述状态的访问。
各所述状态元素部件最好包括本地存储器,以及数据记录的各字段存储在相应状态元素部件的相应存储器中。
各所述状态元素部件最好包括所述状态的本地存储器、适合对所述本地存储器中的所述状态执行运算的算术单元、以及控制所述运算的命令和控制逻辑。
本发明还考虑结合了如以上陈述的任一项所指定的并行处理器的计算机系统和网络处理器。
处理器可设置在单个硅片上。
附图简介
现在将参照附图来描述本发明,附图中:
图1是全部根据本发明、使用状态元素的状态引擎的示意图;
图2是状态引擎的功能表示;
图3是组成状态引擎的一部分的状态细胞的实现;
图4是作为设计用于通信量处理和队列管理的复杂状态引擎的通用状态引擎的特定实现;
图5与使用本发明所实施的状态元素的益处对照来说明访问共享状态的先有技术方法;
图6是根据本发明的状态元素的功能概览;
图7是状态元素的实现概览;以及
图8和图9表示状态元素的状态和命令单元的优选实现的相应实例。
所示实施例的详细描述
现在参照图5-9来描述状态元素的一个特定设计。但是,其它设计对于包含在状态引擎中是可行的。
当流水线或并行处理器共享要求对其读写访问的状态变量时出现问题。可能不允许处理器同时读取/修改/回写共享变量,因为来自第一回写的结果将被第二个盖写。需要对访问串行化。
这引起两个重要问题:
1.必须实现用于使处理器相互锁定的系统,使得它们可仲裁资源,然后当存在争用时对它锁定。这个控制信令可能是复杂的,并增加大量功能和性能开销。
2.当处理器已经成功地协商资源时,它应当使用那个资源,然后尽快释放它,以便限制施加到其它处理器上的延迟。如果访问等待时间对于外部存储器很长,则这可严重影响系统性能。
信标可用来互锁处理器或控制逻辑,以及高速缓存可用来拦截并发访问并将它们串行化。但是,这些操作可能是复杂的、缓慢的和/或要求结合到硬件中的大量支持。嵌入式存储器可减少封锁时间,但延迟可能仍然明显。本说明中所述的状态元素采用不同的方式,通过这种方式,可接受存在串行化点,并建立一种方法以管理它而不是创建互锁。在如稍后会变得更为清楚的广义方面,功能与本地存储器共存,该功能在存储器中而不是在软件中执行读取、修改和回写。它是一种物理解决方案而不是基于软件的解决方案。
这个解决方案的一种缺点在于,它“管束”软件。先前可编程的某个方面这时由阻塞软件的另外某个方面所取代。这两个方面是相互关联的。第一个问题是软件的串行化,但这具有以下结果:如果解决方案是通过硬件,而不是在系统中具有读取/修改/回写周转时间以及复杂控制信号的数十个周期,它将减少到几个周期以内,但这时进行实际修改的实体是硬件。不但消除等待时间问题,这个解决方案还针对它引入的可能处理软件的其它问题。
本解决方案的这个方面的独创性在于靠近存储器的逻辑的重新定位与使它半可编程的组合。
状态元素是本上下文中的关键组件,它们执行到共享存储器中的访问的串行化。在其中对共享状态的同时访问是越来越可能的并行处理器的上下文中,存在可能许多的状态元素,它们全部是并行的,执行来自并行处理器的功能调用,但全部为SIMD,其中并行处理器从单指令流进行操作,状态元素并行但从各自的指令流进行操作。它们响应来自处理器的请求有效地操作。
状态元素可用于MIMD体系结构,或者实际上用于存在要解决的冲突的任何位置。但是,它特别适用于SIMD体系结构,因为MIMD更容许存储器访问中的非确定性,而SIMD更偏向一切都是确定性的。
本发明的这个方面的一个优点是系统总线上的负荷的减小。功能调用一般通过总线发出,以便指示状态元素执行功能。发出命令,该命令产生读取请求,使数据被返回,以及使已修改数据再次被回写。在状态元素中,不是具有通过系统总线的三个访问,这时只有一个。因此,可远程执行相当复杂的操作,而无需不断向处理器回送信息。
在优选实现中,命令行允许命令被发出,以访问和修改一段存储器或者在状态元素中存放微码。因此,状态元素包括基本存储器加上ALU、在其中写入微码的控制器单元以及特殊功能单元、如加法单元。设计原理的一部分是使元素能够成为申请人的工具包的一部分,其中所需功能可根据需要被“固定”。
因此存在两级灵活性。一方面,存储器中的微码可改变,使得不是通过添加被传递到命令行以进行回写的固定操作来执行例如读取/修改等操作,而是可能通过另一段软件,例如读取、添加值、保存、添加另一个值并回写。如果需要条件读取/修改/回写,则可添加条件块。如果想要历史功能,则可提供在其中保持标志集的历史块。因此,可保持控制标志,允许将来访问,其中可根据那个标志来执行两个操作中的一个或另一个。
状态元素是关键组件,它们执行到共享存储器中的访问的串行化。状态元素被组合在状态引擎中并连接到总线。状态元素可比作微型微码ALU,但重点是在存储器访问而不是在处理侧。状态元素主要包括具有灵活的、但着重进出存储器的数据的快速传递的附加功能的存储器。它对存储器执行灵活的功能。
在采用单处理器的系统、如数据包队列控制系统中,当处理器从存储器中寻找数据时没有争用。数据包队列的状态对于单处理器是可用的。单处理器可保持多达10000个这种队列。但是,与此对比,考虑多个处理器共享对存储器中的某些状态的访问的情况。在任何时刻,一个以上处理器可能需要更新同一个队列的状态。因此存在更大的争用可能。如果争用将通过复制处理器来避免,则存在更大的复杂度,尤其是在采取措施以保留处理器之间的状态相干性以及所需存储装置大小方面。因此,需要让状态保持在存储器中,它对于所有处理器是可用的,但其方式是,整个过程没有被减慢到不能接受的程度。
图5a示意说明本发明能够解决的问题的类型。该图表示包含响应来自两个处理器中的一个或另一个的请求而经由片上总线访问的传统存储器的过程的时间线。假定是处理器间串行化。例如,如果处理器1发出读取请求,则被寻址数据从存储器中被读取,以及数据通过总线传送给处理器。然后,数据在处理器中进行修改,以及结果经由总线回写到存储器。在这时,例如来自第二处理器的其它任何请求被封锁。这是必要的,因为同样的数据不能同时在不同处理器的控制下经过修改。在封锁周期结束时,存储器再次变成对下一个请求是可用的。显然,封锁周期对各个处理器执行的整个过程的速度施加了相当大的约束。
状态元素对这种已知方法提供一种备选方案,它要求一种配置,其中并行处理器从存储器中读取、修改、回写数据,并请求存储器代表它来执行修改。然而,本发明的优选实现中的状态元素定位串行化点,它不在每个处理器之内/之间,而是在具有对于其中存储了共享状态变量的存储器的本地快速访问的简单共享处理器中。
状态元素与面向对象的设计中的对象相似。它已经秘密地存储了只有经由对象的方法才可访问的数据。通过发出命令,并行处理器可被认为正进行对于对象的方法调用。
状态元素的优选实施例包括与简单算术和逻辑单元结合的、具有单周期读/写访问时间的小块嵌入式存储器60,如图6中一般所示。算术单元61(从处理器)接收包含地址、数据和命令代码的命令。地址标识将被访问的状态变量,数据提供简单计算机用来修改变量的操作数,以及命令62选择已编程微码63的本地存储线程,它能够在极少数量的系统时钟周期内读取、修改和回写状态变量。结果可返回到发出该命令的处理器。
实施例的详细情况
状态元素包括嵌入式存储器和附加功能。该功能可以是硬布线的(有限状态机)或者是可编程的微码电路。后一种方式更通用和复杂。组件模块及其互连的系统的更完整图形如图7所示。注意特殊功能和条件块的存在。这些极大地扩展了元素的工作能力。
状态元素设计中的重点在于快速存储器访问速度而不是处理能力。嵌入式存储器块足够小,使得单周期访问时间是可实现的。可配置的读取/修改/回写(R/M/W)在两个周期时段内是可能的,因为能够对读取的结果执行简单算术运算,并在第二周期内让它回转以便回写。命令通常可在3到5个时钟周期内完全被处理。
图8说明算术单元的简单性以及命令行与存储器之间的路径如何具有最小延迟。图9表示一个更复杂的变体,其中,状态的多个项目保存在存储器中。对命令行周转(以及微码存储大小)的影响很显著。但是,这并不是说,图9的电路不可用于适当的情况中。例如,在具有更复杂的状态集的较低性能的系统中,它可能是优选方法。
状态引擎的总体概述
状态引擎可采用状态元素作为原子部分以结构化及明确定义的方式来构建。正如简单细胞组合成简单有机物、分子可以是简单细胞的构造块、原子是分子的组成部分那样,状态元素可组合成状态细胞,它们成倍增加为状态阵列,状态阵列又可以组合在一起以形成状态引擎。虽然特定状态元素设计稍后在此上下文中描述,但本发明包括利用其它状态元素的状态引擎。
这种分级设计构架如图1所示。所示组成部分为:
状态记录-这是概念实体,由具有给定基地址的一个或多个状态变量的组构成。
命令行-由处理器发送到状态引擎的消息。命令行中的字段包含命令代码、地址和数据。处理器有效地请求对给定地址中的状态记录执行由命令代码索引到的功能。参数可在通用数据字段中提供以及返回。
状态元素-状态元素是保密的小存储器,它包含只有经由状态元素的控制逻辑所执行的功能才可访问的状态变量。这些功能通常读取状态变量,执行某种修改,以及回写新的值。结果也可记录在命令行的数据字段中。状态元素的主要作用是通过以最大速度对存储器执行简单功能来管理状态访问串行化点。状态元素的特定实现已经在本说明中进行了描述。
状态细胞-如果记录中有一个以上状态变量,则可允许整个记录作为一个条目被存储在单个状态元素中。但是,当记录中的每个字段将需要被依次处理时,这将把可用带宽限制到此状态。在状态细胞中,记录的每个字段作为单个状态变量存储在其本身的状态元素中。这些状态元素则共同链接成流水线。命令行从一个元素传递到下一个元素,相同的地址和控制字在每一级用于从公共记录中拣选不同的字段,并对它执行某种功能。状态细胞逻辑提供有效地构成面向存储器的流水线处理系统的它的组成元素之间的同步。
因此,状态细胞的主要作用是提供构造允许高速处理更复杂的状态记录的简单流水线处理器的方法。
状态阵列-用于状态细胞的状态元素的嵌入式存储器的体积必须较小,以便快速(理想地为单周期)访问。这对于可存储在单状态细胞中的状态记录的示例数量设置了限制。为了增加状态的数量,给定类型的状态细胞可以平铺以形成大的状态阵列。在设备布局过程中的缩放通过状态阵列互连来简化。互连框架的分段以及平铺阵列中利用明确定义的接口的相邻细胞的耦合如图2所示。互连保留对相同状态细胞的访问之间的顺序。由于不要求访问不同状态细胞的命令行之间的顺序保留,因此不需要对阵列中的不同细胞的命令行访问的等待时间被平衡。阵列是以简单方式可缩放的,并且是布局友好的。
通过成倍增加状态细胞来增加总状态存储容量还可增加整体状态访问带宽,因为各个状态细胞的吞吐量可能略低于互连的吞吐量。如果状态细胞的数量增加到互连成为限制因素的点,则合计吞吐量可通过提供多个互连信道来进一步增加,其中每个信道访问阵列(即表)的不同部分。这与设计具有多个独立可寻址信道以增加随机访问带宽的存储器系统相似。
状态阵列的主要作用是提供可缩放容量。它还提供用于缩放地址和数据带宽的方式。
状态引擎-状态引擎把状态阵列与所有附加胶合逻辑以及构造可经由系统总线配置及访问的块所要求的设施相结合。组件包括:
·总线接口逻辑
·系统控制逻辑-状态引擎控制器可向状态阵列发出(保密)系统命令。这些命令由外部块通过经由实用总线接口对控制器的访问来调用。只有(公开)状态命令可经由主数据流接口到达。系统命令配置阵列或者提取诊断信息。
·旁路逻辑-旁路模式使命令能够跳过它们不要求访问的阵列。这将节省功率和带宽。所需提取和插入点也可由系统控制器使用。
·阵列间交换连接器-这包括用于路由各表格之间的访问的(Banyan)交换技术的新应用。它可能仅当存在通过各状态阵列的一个以上独立路由时才被要求。
状态引擎行为包括:
·消息广播-系统命令可在整个存储器阵列上广播,用于检索状态或传递配置和控制消息。这个方法还用于把微码加载到状态阵列中。
·多个访问-如果多个阵列连接到管道中,则显然每个命令行必须包含各阵列的不同地址和命令信息。因此,从处理器发出的单个命令产生多个状态访问。
·命令行“变形”-当命令行逐个阵列地传播时,它们被使用并且有时因各个状态元素访问而被更新。由一个阵列中的状态元素插入到命令中的数据可由下一个阵列中的状态元素使用。数据、也许甚至地址可被修改。
实施例的详细情况
把状态元素共同“缝合”到流水线中的状态细胞如图3所示。构成状态细胞的状态元素的流水线存储一组状态记录的成分变量。访问这些状态记录的命令到达第一状态元素。控制字段用来确定对状态记录的第一成分进行的更新,在本例中是经由微码控制器进行。然后,命令行被传递到下一个状态元素,以便更新状态记录的下一个成分。这对于状态细胞中的流水线长度重复进行。来自流水线的最后级的结果返回给请求处理器。
状态阵列的体系结构以及状态引擎组件的互连如图4所示。这使用标准/已知的路由选择和负荷平衡技术把输入命令行分配给适当的状态细胞。
附加特征
负荷平衡-状态记录可根据需要动态分配(以及还可重新分配)是可能的。如果存在通过给定阵列的多个路径,则希望所存储状态在可用状态元素/细胞之间均匀分布。这种系统中的状态条目的可用性可由控制器通过下列方式来通知:确保记录从各元素依次被分配,从而平衡负荷。
因此,本质上,本发明的优选实现提供以下特征,其中针对与并行处理器的高速数据查找关联的所有指定问题:
·形式框架,用于创建采用智能存储器(通常为状态元素)的并行协处理器。
·单个访问,多个查找-单个访问对状态引擎内的多个独立状态表起作用,即,由于来自总线的单个请求而到不同存储器所保存的不同表中的多个查找。
·流水线体系结构-到不同表中的查找不是从点源向不同存储器中发出的。而是,访问本身(以命令行的形式)以串行方式从一个表格路由到另一个表格。它是通过状态引擎传播的对象。
·命令行“变形”-当命令行沿管道逐个表格地传播时,它们被使用并且有时因每个表访问而被更新。由一个表插入到命令中的数据可由下一个中的状态元素使用。
·状态细胞概念-高吞吐量流水线处理(可缩放处理能力)
·状态阵列概念-用于缩放状态数量、带宽和负荷平衡的“布局友好”方案
·状态引擎概念-来自单个命令的多个正交查找利用多通道状态引擎体系结构的交换技术。控制器为数据和指令广播提供系统命令。
·状态元素可交互。
本发明所针对的问题特别适合对于通信量处理应用中访问共享状态的阵列处理器的应用。状态引擎被认为是以针对高速状态访问的附加问题的方式来设置状态元素(管理状态争用所需的)的一种方式。
但是,状态引擎还可从相同或相似的状态元素来构造,以便满足其它应用的需求-例如通信量调节的相关领域中的计量表管理。因此,状态引擎可用于把状态元素技术传递给其中并行(或者甚至流水线)处理器以高速率访问共享状态的其它任何应用。
附加可选特征
系统线程:-后台,系统线程可编程为当没有为来自处理器的命令提供服务时对状态存储器中的数据进行操作。例如,能够用于标识空闲的状态条目。
查找空闲队列算法:-“查找空闲队列”系统功能。这是后台线程,它实现重新分配用来表示/管理转为空闲(即空)的队列的状态条目的“两击输出(Two strikes and out)”算法。
特殊功能单元:-“标志单元”和“地址单元”是设计用于支持查找空闲队列算法的特殊功能单元。它们提供的特征被认为是通用值的,并且可由其它算法(例如维护状态元素中的计量表所需的)使用
调度算法:-自同步公平排队算法所要求的信息无法直接映射到状态元素中。它以使访问和操作更健壮和有效的形式来表示。
因此,可以理解,构成本发明的组成部分的状态元素可提供以下特征:
·智能存储器-状态元素在存储器端而不是处理器端局部化并行数据访问的串行化。这极大地减小了一般与状态的阻塞关联的等待时间。
·功能多用性-状态元素提供大量(已配置/)已编程远程功能,它们可对存储数据执行-功能将包括少量数据读取、写入、算术运算和条件访问。
·灵活性-这些功能可以(但不一定需要)以微码来表示,使得状态元素仍然可编程,并且没有使处理器中运行的软件“依靠”硬连接到状态元素中的功能。
·系统效率-读取/回写出现在ALU与状态元素内部的存储器之间。只有命令才通过系统总线传播。这与传统方法相比,减小了系统总线上的负荷。
·系统简单性-读取/修改/写入被封装在状态元素内,以及通过状态元素逻辑固有地实施串行化。处理器无需首先相互协商便可同时发出使某个功能对状态的同一个项目起作用的命令。
·不需要在返回时对结果归类-存在到请求处理器的自动返回。
应当认识到,争用不是通信量处理独有的一个问题,因此状态元素还可用作任何应用中支持并行处理器的通用工具。当实时(数据流处理)系统中的任何两个处理器要求对共享状态变量的R/M/W访问时,可能出现争用。因此,状态元素可与处理器的任何并行或流水线配置结合使用。

Claims (19)

1.一种用于接收的状态引擎,从并行处理器接收对共享状态的多个请求,所述状态引擎包括至少一个状态元素部件,所述至少一个状态元素部件适合响应所述并行处理器进行的请求而以原子方式对所述共享状态进行操作。
2.如权利要求1所述的状态引擎,其特征在于,所述至少一个状态元素部件执行的操作是单个读取-修改-写入操作。
3.如权利要求1所述的状态引擎,其特征在于,所述共享状态包括状态的单个项目。
4.如权利要求1所述的状态引擎,其特征在于,所述共享状态包括状态的多个项目。
5.如权利要求1所述的状态引擎,其特征在于,所述状态包括存储器中的单个存储位置或者数据结构。
6.如权利要求1所述的状态引擎,其特征在于,所述至少一个状态元素部件执行的操作是作为固定的或硬连接的操作来执行的。
7.如权利要求6所述的状态引擎,其特征在于还包括提供数据以更新所述共享状态的部件。
8.如权利要求6所述的状态引擎,其特征在于还包括向所述共享状态发送命令和数据的部件,从而所述操作是可编程的。
9.如权利要求1所述的状态引擎,其特征在于还包括多个所述状态元素部件,它们被组织成状态细胞部件,从而对所述共享状态执行的操作是流水线式的。
10.如权利要求9所述的状态引擎,其特征在于还包括多个所述状态细胞部件,从而允许多个请求同时被处理。
11.如权利要求10所述的状态引擎,其特征在于还包括:输入和输出互连部件,它们提供对所述状态细胞部件的访问和来自所述状态细胞部件的访问;用于所述输入和输出互连部件的总线接口,所述总线接口与系统总线相接口;以及处理元素的控制单元,用于控制对所述共享状态的访问。
12.如权利要求9所述的状态引擎,其特征在于,各个所述状态元素部件包括本地存储器,以及数据记录的各个字段存储在相应状态元素部件的相应存储器中。
13.如权利要求1所述的状态引擎,其特征在于,各个所述状态元素部件包括所述共享状态的本地存储器、适合对所述本地存储器中的所述状态执行运算的算术单元、以及控制所述运算的命令和控制逻辑。
14.一种并行处理器,包括状态引擎,所述状态引擎从所述并行处理器接收对共享状态的多个请求,所述状态引擎包括至少一个状态元素部件,所述至少一个状态元素部件适合响应所述并行处理器进行的请求而以原子方式对所述共享状态进行操作。
15.如权利要求14所述的并行处理器,其特征在于,所述并行处理器是阵列处理器。
16.如权利要求15所述的并行处理器,其特征在于,所述阵列处理器是SIMD处理器。
17.一种计算机系统,包括并行处理器,所述并行处理器包括状态引擎,所述状态引擎从所述并行处理器接收对共享状态的多个请求,所述状态引擎包括至少一个状态元素部件,所述至少一个状态元素部件适合响应所述并行处理器进行的请求而以原子方式对所述共享状态进行操作。
18.一种网络处理器,包括并行处理器,所述并行处理器包括状态引擎,所述状态引擎从所述并行处理器接收对共享状态的多个请求,所述状态引擎包括至少一个状态元素部件,所述至少一个状态元素部件适合响应所述并行处理器进行的请求而以原子方式对所述共享状态进行操作。
19.如权利要求14所述的在单硅片上实现的并行处理器。
CNB200380108223XA 2002-11-11 2003-11-11 数据处理器的状态引擎 Expired - Fee Related CN100557594C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0226249.1A GB0226249D0 (en) 2002-11-11 2002-11-11 Traffic handling system
GB0226249.1 2002-11-11

Publications (2)

Publication Number Publication Date
CN1735878A CN1735878A (zh) 2006-02-15
CN100557594C true CN100557594C (zh) 2009-11-04

Family

ID=9947583

Family Applications (4)

Application Number Title Priority Date Filing Date
CNB200380108223XA Expired - Fee Related CN100557594C (zh) 2002-11-11 2003-11-11 数据处理器的状态引擎
CN2003801085308A Expired - Fee Related CN1736069B (zh) 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理
CN2003801084790A Expired - Fee Related CN1736066B (zh) 2002-11-11 2003-11-11 用于流量处理的包存储系统
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2003801085308A Expired - Fee Related CN1736069B (zh) 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理
CN2003801084790A Expired - Fee Related CN1736066B (zh) 2002-11-11 2003-11-11 用于流量处理的包存储系统
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系

Country Status (5)

Country Link
US (5) US7843951B2 (zh)
CN (4) CN100557594C (zh)
AU (4) AU2003283544A1 (zh)
GB (5) GB0226249D0 (zh)
WO (4) WO2004045160A2 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524617A (ja) * 2001-02-14 2004-08-12 クリアスピード・テクノロジー・リミテッド クロック分配システム
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7210059B2 (en) 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US6944636B1 (en) * 2004-04-30 2005-09-13 Microsoft Corporation Maintaining time-date information for syncing low fidelity devices
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8316431B2 (en) * 2004-10-12 2012-11-20 Canon Kabushiki Kaisha Concurrent IPsec processing system and method
US20060101210A1 (en) * 2004-10-15 2006-05-11 Lance Dover Register-based memory command architecture
US20060156316A1 (en) * 2004-12-18 2006-07-13 Gray Area Technologies System and method for application specific array processing
CA2619141C (en) * 2004-12-23 2014-10-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7746784B2 (en) * 2006-03-23 2010-06-29 Alcatel-Lucent Usa Inc. Method and apparatus for improving traffic distribution in load-balancing networks
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US8166212B2 (en) * 2007-06-26 2012-04-24 Xerox Corporation Predictive DMA data transfer
US7830918B2 (en) * 2007-08-10 2010-11-09 Eaton Corporation Method of network communication, and node and system employing the same
JP5068125B2 (ja) * 2007-09-25 2012-11-07 株式会社日立国際電気 通信装置
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
JP5300355B2 (ja) * 2008-07-14 2013-09-25 キヤノン株式会社 ネットワークプロトコル処理装置及びその処理方法
US8627471B2 (en) * 2008-10-28 2014-01-07 Freescale Semiconductor, Inc. Permissions checking for data processing instructions
US9213665B2 (en) * 2008-10-28 2015-12-15 Freescale Semiconductor, Inc. Data processor for processing a decorated storage notify
CA2754181C (en) 2009-03-18 2016-08-02 Texas Research International, Inc. Environmental damage sensor
US8266498B2 (en) 2009-03-31 2012-09-11 Freescale Semiconductor, Inc. Implementation of multiple error detection schemes for a cache
WO2011060368A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for storing and indexing high-speed network traffic data
US20110125748A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Real Time Identification and Recording of Artifacts
US8472455B2 (en) * 2010-01-08 2013-06-25 Nvidia Corporation System and method for traversing a treelet-composed hierarchical structure
US8295287B2 (en) * 2010-01-27 2012-10-23 National Instruments Corporation Network traffic shaping for reducing bus jitter on a real time controller
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8504777B2 (en) 2010-09-21 2013-08-06 Freescale Semiconductor, Inc. Data processor for processing decorated instructions with cache bypass
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
KR20120055779A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 지그비 기반의 음성 데이터 송수신 시스템 및 그의 음성 데이터 송수신 방법
KR20120064576A (ko) * 2010-12-09 2012-06-19 한국전자통신연구원 비대칭 스토리지 시스템에서 연속적인 읽기/쓰기를 제공하기 위한 장치 및 그 방법
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US8607121B2 (en) 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
US9525642B2 (en) 2012-01-31 2016-12-20 Db Networks, Inc. Ordering traffic captured on a data connection
US9100291B2 (en) 2012-01-31 2015-08-04 Db Networks, Inc. Systems and methods for extracting structured application data from a communications link
US9092318B2 (en) * 2012-02-06 2015-07-28 Vmware, Inc. Method of allocating referenced memory pages from a free list
US9665233B2 (en) * 2012-02-16 2017-05-30 The University Utah Research Foundation Visualization of software memory usage
AU2014205389A1 (en) 2013-01-11 2015-06-04 Db Networks, Inc. Systems and methods for detecting and mitigating threats to a structured data storage system
CN103338159B (zh) * 2013-06-19 2016-08-10 华为技术有限公司 轮询调度实现方法和装置
CA2928595C (en) * 2013-12-04 2019-01-08 Db Networks, Inc. Ordering traffic captured on a data connection
JP6249403B2 (ja) * 2014-02-27 2017-12-20 国立研究開発法人情報通信研究機構 光遅延線及び電子バッファ融合型光パケットバッファ制御装置
US10210592B2 (en) 2014-03-30 2019-02-19 Teoco Ltd. System, method, and computer program product for efficient aggregation of data records of big data
US10613963B2 (en) * 2015-03-11 2020-04-07 Protocol Insight, Llc Intelligent packet analyzer circuits, systems, and methods
KR102449333B1 (ko) 2015-10-30 2022-10-04 삼성전자주식회사 메모리 시스템 및 그것의 읽기 요청 관리 방법
JP6943942B2 (ja) 2016-03-23 2021-10-06 クラビスター アクティエボラーグ 順次パケット処理アルゴリズム及び並列パケット処理アルゴリズムを用いることによってトラフィックシェーピングを行う方法
WO2017164804A1 (en) * 2016-03-23 2017-09-28 Clavister Ab Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
CN107786465B (zh) 2016-08-27 2021-06-04 华为技术有限公司 一种用于处理低延迟业务流的方法和装置
WO2018081582A1 (en) * 2016-10-28 2018-05-03 Atavium, Inc. Systems and methods for random to sequential storage mapping
CN107656895B (zh) * 2017-10-27 2023-07-28 上海力诺通信科技有限公司 一种1u标准高度的正交平台高密度计算架构
RU2718215C2 (ru) * 2018-09-14 2020-03-31 Общество С Ограниченной Ответственностью "Яндекс" Система обработки данных и способ обнаружения затора в системе обработки данных
US11138044B2 (en) * 2018-09-26 2021-10-05 Micron Technology, Inc. Memory pooling between selected memory resources
US11093403B2 (en) 2018-12-04 2021-08-17 Vmware, Inc. System and methods of a self-tuning cache sizing system in a cache partitioning system
EP3866417A1 (en) * 2020-02-14 2021-08-18 Deutsche Telekom AG Method for an improved traffic shaping and/or management of ip traffic in a packet processing system, telecommunications network, network node or network element, program and computer program product

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914650A (en) * 1988-12-06 1990-04-03 American Telephone And Telegraph Company Bandwidth allocation and congestion control scheme for an integrated voice and data network
US5187780A (en) * 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
EP0446721B1 (en) * 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
US5280483A (en) * 1990-08-09 1994-01-18 Fujitsu Limited Traffic control system for asynchronous transfer mode exchange
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
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
JP2596718B2 (ja) * 1993-12-21 1997-04-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ネットワーク通信バッファを管理する方法
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5513134A (en) * 1995-02-21 1996-04-30 Gte Laboratories Incorporated ATM shared memory switch with content addressing
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
DE69841486D1 (de) * 1997-05-31 2010-03-25 Texas Instruments Inc Verbesserte Paketvermittlung
US6757798B2 (en) * 1997-06-30 2004-06-29 Intel Corporation Method and apparatus for arbitrating deferred read requests
US5956340A (en) 1997-08-05 1999-09-21 Ramot University Authority For Applied Research And Industrial Development Ltd. Space efficient fair queuing by stochastic Memory multiplexing
US6088771A (en) * 1997-10-24 2000-07-11 Digital Equipment Corporation Mechanism for reducing latency of memory barrier operations on a multiprocessor system
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6097403A (en) * 1998-03-02 2000-08-01 Advanced Micro Devices, Inc. Memory including logic for operating upon graphics primitives
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
AU3883499A (en) * 1998-05-07 1999-11-23 Aprisma Management Technologies, Inc. Multiple priority buffering in a computer network
US6314489B1 (en) * 1998-07-10 2001-11-06 Nortel Networks Limited Methods and systems for storing cell data using a bank of cell buffers
US6356546B1 (en) * 1998-08-11 2002-03-12 Nortel Networks Limited Universal transfer method and network with distributed switch
US6829218B1 (en) * 1998-09-15 2004-12-07 Lucent Technologies Inc. High speed weighted fair queuing system for ATM switches
US6396843B1 (en) * 1998-10-30 2002-05-28 Agere Systems Guardian Corp. Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
US6246682B1 (en) * 1999-03-05 2001-06-12 Transwitch Corp. Method and apparatus for managing multiple ATM cell queues
US7145869B1 (en) * 1999-03-17 2006-12-05 Broadcom Corporation Method for avoiding out-of-ordering of frames in a network switch
US6574231B1 (en) * 1999-05-21 2003-06-03 Advanced Micro Devices, Inc. Method and apparatus for queuing data frames in a network switch port
US6671292B1 (en) * 1999-06-25 2003-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for adaptive voice buffering
US6643298B1 (en) * 1999-11-23 2003-11-04 International Business Machines Corporation Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream
US7102999B1 (en) * 1999-11-24 2006-09-05 Juniper Networks, Inc. Switching device
DE60038538T2 (de) * 2000-02-28 2009-06-25 Alcatel Lucent Vermittlungseinrichtung und Vermittlungsverfahren
US6662263B1 (en) * 2000-03-03 2003-12-09 Multi Level Memory Technology Sectorless flash memory architecture
DE60120807T2 (de) * 2000-03-06 2006-12-28 International Business Machines Corp. Schaltvorrichtung und Verfahren
US6907041B1 (en) * 2000-03-07 2005-06-14 Cisco Technology, Inc. Communications interconnection network with distributed resequencing
CA2301973A1 (en) * 2000-03-21 2001-09-21 Spacebridge Networks Corporation System and method for adaptive slot-mapping input/output queuing for tdm/tdma systems
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US7139282B1 (en) * 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
CA2337674A1 (en) * 2000-04-20 2001-10-20 International Business Machines Corporation Switching arrangement and method
JP4484317B2 (ja) * 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US6937561B2 (en) * 2000-06-02 2005-08-30 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
JP3640160B2 (ja) * 2000-07-26 2005-04-20 日本電気株式会社 ルータ装置及びそれに用いる優先制御方法
DE60119866T2 (de) * 2000-09-27 2007-05-10 International Business Machines Corp. Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
US20020062415A1 (en) * 2000-09-29 2002-05-23 Zarlink Semiconductor N.V. Inc. Slotted memory access method
US6647477B2 (en) * 2000-10-06 2003-11-11 Pmc-Sierra Ltd. Transporting data transmission units of different sizes using segments of fixed sizes
AU2002230476A1 (en) * 2000-11-27 2002-06-03 Airclic, Inc. Scalable distributed database system and method for linking codes to internet information
US6888848B2 (en) * 2000-12-14 2005-05-03 Nortel Networks Limited Compact segmentation of variable-size packet streams
US7035212B1 (en) * 2001-01-25 2006-04-25 Optim Networks Method and apparatus for end to end forwarding architecture
US20020126659A1 (en) * 2001-03-07 2002-09-12 Ling-Zhong Liu Unified software architecture for switch connection management
US6728857B1 (en) * 2001-06-20 2004-04-27 Cisco Technology, Inc. Method and system for storing and retrieving data using linked lists
US7382787B1 (en) * 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US7349403B2 (en) * 2001-09-19 2008-03-25 Bay Microsystems, Inc. Differentiated services for a network processor
US6900920B2 (en) * 2001-09-21 2005-05-31 The Regents Of The University Of California Variable semiconductor all-optical buffer using slow light based on electromagnetically induced transparency
US20030081623A1 (en) * 2001-10-27 2003-05-01 Amplify.Net, Inc. Virtual queues in a single queue in the bandwidth management traffic-shaping cell
US7215666B1 (en) * 2001-11-13 2007-05-08 Nortel Networks Limited Data burst scheduling
US20030145086A1 (en) * 2002-01-29 2003-07-31 O'reilly James Scalable network-attached storage system
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US6862639B2 (en) * 2002-03-11 2005-03-01 Harris Corporation Computer system including a receiver interface circuit with a scatter pointer queue and related methods
US7126959B2 (en) * 2002-03-12 2006-10-24 Tropic Networks Inc. High-speed packet memory
US6928026B2 (en) * 2002-03-19 2005-08-09 Broadcom Corporation Synchronous global controller for enhanced pipelining
US20030188056A1 (en) * 2002-03-27 2003-10-02 Suresh Chemudupati Method and apparatus for packet reformatting
US7239608B2 (en) * 2002-04-26 2007-07-03 Samsung Electronics Co., Ltd. Router using measurement-based adaptable load traffic balancing system and method of operation
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US20040039884A1 (en) * 2002-08-21 2004-02-26 Qing Li System and method for managing the memory in a computer system
US6950894B2 (en) * 2002-08-28 2005-09-27 Intel Corporation Techniques using integrated circuit chip capable of being coupled to storage system
US7180899B2 (en) * 2002-10-29 2007-02-20 Cisco Technology, Inc. Multi-tiered Virtual Local area Network (VLAN) domain mapping mechanism
GB0226249D0 (en) 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
GB2421158B (en) * 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US7668100B2 (en) * 2005-06-28 2010-02-23 Avaya Inc. Efficient load balancing and heartbeat mechanism for telecommunication endpoints

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COMPUTATIONAL RAM:IMPLEMENTING PROCESSORSIN MEMORY. ELLIOTT D G ET AL.IEEE DESIGN&amp *
COMPUTATIONAL RAM:IMPLEMENTING PROCESSORSIN MEMORY. ELLIOTT D G ET AL.IEEE DESIGN&TEST OF COMPUTERS,IEEE COOMPUTERS SOCIETY.,Vol.16 No.1. 1999 *
DATAFLOW COPUTATION WITH INTELLIGENTMEMORIES EMULATED ON FIELD-PROGRAMMABLEGATE ARRAYS(FPGAS). INGERSOLL S ET AL.MICROPROCESSORS AND MICROSYSTEMS,Vol.26 No.6. 2002 *
TEST OF COMPUTERS,IEEE COOMPUTERS SOCIETY.,Vol.16 No.1. 1999 *

Also Published As

Publication number Publication date
WO2004044733A3 (en) 2005-03-31
CN1736069A (zh) 2006-02-15
GB2412537B (en) 2006-02-01
WO2004045161A1 (en) 2004-05-27
AU2003283545A1 (en) 2004-06-03
GB2412035B (en) 2006-12-20
AU2003283559A1 (en) 2004-06-03
CN1736068A (zh) 2006-02-15
AU2003283545A8 (en) 2004-06-03
WO2004045162A3 (en) 2004-09-16
US8472457B2 (en) 2013-06-25
US7882312B2 (en) 2011-02-01
WO2004044733A2 (en) 2004-05-27
GB2411271B (en) 2006-07-26
GB2411271A (en) 2005-08-24
US20050246452A1 (en) 2005-11-03
US20110069716A1 (en) 2011-03-24
WO2004045160A8 (en) 2005-04-14
WO2004045160A2 (en) 2004-05-27
GB2413031A (en) 2005-10-12
US7843951B2 (en) 2010-11-30
CN1736069B (zh) 2012-07-04
AU2003283544A1 (en) 2004-06-03
GB2412035A (en) 2005-09-14
GB2413031B (en) 2006-03-15
WO2004045162A2 (en) 2004-05-27
GB0511588D0 (en) 2005-07-13
US20050265368A1 (en) 2005-12-01
GB2412537A (en) 2005-09-28
US7522605B2 (en) 2009-04-21
WO2004045160A3 (en) 2004-12-02
CN1736068B (zh) 2012-02-29
GB0509997D0 (en) 2005-06-22
GB0226249D0 (en) 2002-12-18
CN1736066B (zh) 2011-10-05
CN1736066A (zh) 2006-02-15
AU2003283539A1 (en) 2004-06-03
US20050257025A1 (en) 2005-11-17
US20050243829A1 (en) 2005-11-03
CN1735878A (zh) 2006-02-15
GB0511589D0 (en) 2005-07-13
GB0511587D0 (en) 2005-07-13

Similar Documents

Publication Publication Date Title
CN100557594C (zh) 数据处理器的状态引擎
US10817184B2 (en) Control node for multi-core system
CN101194245B (zh) 具有宽寄存器组体系结构的分组处理器
CN100382014C (zh) 信息处理方法和系统
CN103810133B (zh) 用于管理对共享读缓冲器资源的访问的方法和装置
US8194690B1 (en) Packet processing in a parallel processing environment
JP5496578B2 (ja) 高密度スレッド化ネットワーク・オン・ア・チップにおけるソフトウェア制御の任意ベクトル・オペランド選択をサポートする直接スレッド間通信バッファ
US20020146022A1 (en) Credit-based flow control technique in a modular multiprocessor system
US11243714B2 (en) Efficient data movement method for in storage computation
CN103649932B (zh) 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
US10997102B2 (en) Multidimensional address generation for direct memory access
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
US9727499B2 (en) Hardware first come first serve arbiter using multiple request buckets
Gottlieb et al. The NYU ultracomputer—designing a MIMD, shared-memory parallel machine
KR102539574B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN109426562A (zh) 优先级加权轮转调度器
CN100422978C (zh) 具有多个互相通信的数字信号处理器的集成电路
CN115087991A (zh) 具有并行加载-存储的共享便笺式存储器
Maples et al. The Design of MIDAS-A Modular Interactive Data Analysis System
US8200913B2 (en) Distributed memory type information processing system
US20050050233A1 (en) Parallel processing apparatus
WO2019169238A1 (en) Dynamic reconfiguration using data transfer control

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
C56 Change in the name or address of the patentee

Owner name: CRIRSPETER TECHNOLOGY INC.

Free format text: FORMER NAME: CLEARSPEED TECHNOLOGY PLC

CP01 Change in the name or title of a patent holder

Address after: Bristol

Patentee after: Crirspeter Technology Inc.

Address before: Bristol

Patentee before: Clearspeed Technology PLC

ASS Succession or assignment of patent right

Owner name: RAMBUS INC.

Free format text: FORMER OWNER: CRIRSPETER TECHNOLOGY INC.

Effective date: 20110415

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: BRISTOL, UK TO: CALIFORNIA, THE USA

TR01 Transfer of patent right

Effective date of registration: 20110415

Address after: American California

Patentee after: Rambus Inc.

Address before: Bristol

Patentee before: Crirspeter Technology Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091104

Termination date: 20201111

CF01 Termination of patent right due to non-payment of annual fee