CN102576313A - 采用分布式嵌入式切换的多处理计算 - Google Patents
采用分布式嵌入式切换的多处理计算 Download PDFInfo
- Publication number
- CN102576313A CN102576313A CN200980162263XA CN200980162263A CN102576313A CN 102576313 A CN102576313 A CN 102576313A CN 200980162263X A CN200980162263X A CN 200980162263XA CN 200980162263 A CN200980162263 A CN 200980162263A CN 102576313 A CN102576313 A CN 102576313A
- Authority
- CN
- China
- Prior art keywords
- treatment element
- grouping
- sending
- destination
- route
- 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.)
- Pending
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
计算机(10)中的多个嵌入式处理元件(12~14)中的第一个嵌入式处理元件接收递送分组(124),其被依照递送协议格式化并且包括(i)被依照有效载荷协议格式化的已封装的有效载荷分组(136)以及(ii)包括路由信息的递送分组报头(134)。响应于确定其不是所述递送分组(124)的目的地,所述第一处理元件(14)基于所述路由信息将所述递送分组(124)从所述第一处理元件(14)发送到所述处理元件中的第二个处理元件。响应于确定其是所述递送分组(124)的目的地,所述第一处理元件(14)从所述递送分组(124)解封装有效载荷分组(136)并且处理已解封装的有效载荷分组(136)。
Description
背景技术
多处理计算机系统是具有多个中央处理单元(CPU)的计算机系统。多处理计算机系统通常具有许多嵌入式处理元件,包括处理器、共享存储器、高速设备(例如,主机高速缓冲存储器和图形控制器)以及芯片上集成外围输入/输出(I/O)组件(例如,网络接口控制器、通用串行总线端口、闪速存储器以及音频设备)。通常使用纵横开关(crossbar
switch)来链接并仲裁由处理器对其它嵌入式处理元件的访问。物理约束限制了能够用纵横开关实现的连接的数目。虽然已经使用多个纵横开关来增加连接的数目,但此类布置通常设计起来是复杂的且增加了多处理计算机系统中的组件的数目。
所需的是用于操纵多处理计算机系统中的通信的改进的系统和方法。
附图说明
图1是多处理计算机系统的实施例的多个嵌入式处理元件的方框图。
图2是由依照本发明的实施例的多处理计算机系统的嵌入式处理元件实现的方法的实施例的流程图。
图3是包括具有被配置为作为分布式嵌入式开关的子组件进行操作的各主机接口的主机CPU的多处理计算机系统的实施例的方框图。
图4是具有被配置为分别作为分布式嵌入式开关的子组件进行操作的多个嵌入式处理元件的CPU的实施例的方框图。
图5是路由引擎的实施例的方框图。
图6是递送分组的实施例的示意图。
图7是图5的递送分组的元素的示意图。
图8是通过隧道化链接(tunneled link)来交换递送分组和PCIe分组的计算机系统的一对嵌入式处理元件的实施例的方框图。
图9是依照本发明的实施例的、嵌入式处理元件通过其处理事务的方法的实施例的流程图。
图10是依照本发明的实施例的、嵌入式处理元件通过其处理事务的方法的实施例的流程图。
图11是依照本发明的实施例的、嵌入式处理元件通过其处理递送分组的方法的实施例的流程图。
图12是依照本发明的实施例的多处理器计算机系统的实施例的方框图。
图13是依照本发明的实施例的多处理器计算机系统的实施例的方框图。
具体实施方式
在以下说明中,使用相同的附图标记来标识相同的元件。此外,所述图旨在以图表的方式来举例说明示例性实施例的主要特征。所述图并不旨在描绘实际实施例的每个特征或所描绘元件的相对尺寸,并且不是按比例描绘。
I. 术语的定义
“计算机”是根据临时地或永久地存储在计算机可读介质上的计算机可读指令来处理数据的任何机器、设备或装置。“计算机操作系统”是管理并协调任务的执行及计算和硬件资源的共享的计算机系统的软件组件。“软件应用”(也称为软件、应用、计算机软件、计算机应用、程序和计算机程序)是计算机能够解释并运行以执行一个或多个特定任务的一组指令。“数据文件”是经久地存储数据以供软件应用使用的信息块。
中央处理单元(CPU)是能够运行软件应用的电子电路。CPU可以包括一个或多个处理器(或处理核)。“主机CPU”是控制或提供用于其它设备(包括I/O设备及其它外围设备)的服务的CPU。
术语“处理器”指的是通常在单个芯片上的电子电路,其执行包括但不限于数据处理操作、控制操作或数据处理操作和控制操作两者的操作。
“嵌入式处理元件”是能够处理数据的多处理计算机系统的整体组件。嵌入式处理元件的示例包括处理器、主机接口元件(例如存储器控制器和I/O集线器控制器)、集成高速设备(例如,图形控制器)以及芯片上集成外围输入/输出(I/O)组件(例如,网络接口控制器、通用串行总线端口、闪速存储器以及音频设备)。
术语“机器可读介质”指的是能够承载可被机器(例如计算机)读取的信息的任何物理介质。适合于有形地体现这些指令和数据的存储设备包括但不限于所有形式的非易失性计算机可读存储器,包括例如诸如EPROM、EEPROM和闪速存储设备的半导体存储设备、诸如内部硬盘和可移动硬盘的磁盘、磁光盘、DVD-ROM/RAM和CD-ROM/RAM。
“主机高速缓冲存储器”指的是为了减少由CPU访问的等待时间而存储来自主存储器的数据的拷贝的高速存储器。主机高速缓冲存储器可以是单个存储器或分布式存储器。例如,主机高速缓冲存储器可以存在于以下位置中的一个或多个中:在CPU芯片上;在存储器控制器的前面;以及在I/O集线器内。所有这些高速缓冲可以被相干地保持并用作DMA操作的源/目的地。
“端点”是被通信链路的一端上的通信实体暴露的接口。
“端点设备”是通信链路的一端上的物理硬件实体。
“I/O设备”是被连接到主机CPU的物理硬件实体,但是与主机CPU或I/O集线器分离且离散。I/O设备可以是或可以不是位于与主机CPU或I/O集线器相同的电路板上。I/O设备可以是或可以不是位于与主机CPU或I/O集线器相同的硬件模(die)或封装上。
“分组”和“事务”在本文中被同义地用来指示被依照数据传输协议格式化并从源传送至目的地的数据单元。分组/事务通常包括报头、有效载荷和错误控制信息。
如本文所使用的,术语“包括”意指包括但不限于,并且术语“包含”意指包含但不限于。术语“基于”意指至少部分地基于。
II. 介绍
在本文中描述的实施例提供了用于跨越多处理芯片结构操纵通信的改进系统和方法,其使得能够简化平台设计,减少平台开发成本和上市的时间,并且增加软件和硬件再使用以获得改善的灵活性、规模和增加的功能性。在这些实施例中,嵌入式处理元件实现用于路由事务的动态可重配置的分布式开关。这样,不需要外部开关(例如,纵横开关和总线架构)。这些实施例中的某些利用在不考虑协议的相干性的情况下封装标准和专有协议的封装协议。这样,嵌入式处理元件可以路由用于全部在相同链路上的不同相干域、相干协议事务(例如共享的存储事务)以及非相干协议事务(例如I/O事务)的事务。
III. 概述
图1示出包括多个嵌入式处理元件12、14、16、18、20、22的多处理计算机系统10,每个嵌入式处理元件包括相应的路由引擎24、26、28、30、32、34。嵌入式处理元件12~22中的相邻的嵌入式处理元件被相应的链路36、38、40、42、44、46、48、50、52直接连接。
在操作中,路由引擎24~34作为能够通过链路36~52在多种不同路径上将分组从嵌入式源处理元件路由到嵌入式目的地处理的动态可重配置分布式开关的子组件进行操作。例如,图1示出从嵌入式处理元件12至嵌入式处理元件22的两个示例性分组路由路径。第一分组路由路径(其用实线箭头来指示)通过链路38、40、48和50穿过嵌入式处理元件12、18、20和22。第二路由路径(其用虚线箭头来指示)通过链路36、44、46和52穿过嵌入式处理元件12、14、16和22。通过嵌入式处理元件12~22的其它分组路由路径是可能的。因此,可以在不要求诸如纵横开关芯片、总线或其它互连之类的任何附加硬件的情况下在嵌入式处理元件12~22中的任何两个之间路由分组。
图2示出多处理计算机系统10的嵌入式处理元件12~22中的每个通过其作为分布式开关的嵌入式子组件进行操作的方法的实施例。在嵌入式处理元件12~22中的第一个的背景下描述了该方法,其接收递送分组并确定是要消耗该递送分组还是将其发送到嵌入式处理元件12~22中的第二个。第一和第二嵌入式处理元件可以是用于递送分组的路由路径上的中间节点或目的地节点。
依照图2的方法,第一嵌入式处理元件接收递送分组,其被依照递送协议格式化,并包括(i)被依照有效载荷协议格式化的封装的有效载荷分组和(ii)包括路由信息的递送分组报头(图2,方框60)。第一嵌入式处理元件根据路由信息来确定递送分组的目的地是否被确定为第一嵌入式处理元件(即其本身)(图2,方框62)。响应于确定递送分组的目的地不是被确定为第一嵌入式处理元件,第一嵌入式处理元件基于路由信息将递送分组从第一嵌入式处理元件发送到嵌入式处理元件中的第二个嵌入式处理元件(图2,方框64)。在此过程中,根据是使用基于源的路由还是基于标识符的路由,第一嵌入式处理元件可以直接根据路由信息或通过使用路由信息作为到进入路由表中的路由判定函数中的输入来确定对应于第二嵌入式处理元件的下一跳地址,所述路由表与第一嵌入式处理元件相关联。响应于确定递送分组的目的地被确定为第一嵌入式处理元件,第一嵌入式处理元件将有效载荷分组从递送分组解封装,并处理解封装的有效载荷分组(图2,方框66)。
在某些实施例中,路由判定函数将路由信息应用到进入路由表的索引中。在其它实施例中,路由判定函数用函数(例如,f(标识符,QoS值,用于N个可能的外出端口中的1个的外出端口载荷,…))来处理路由信息,其产生被应用于路由表的输出值。在某些实施例中,与来自计算机系统硬件的信息相结合地获取来自报头的信息以确定最佳外出端口并随后在适当的传输队列上排队,根据如何区别业务,可以存在所述适当的传输队列中的一个或多个。
图3示出包括两个主机CPU 72、74的多处理计算机系统10的实施例70。主机CPU 72、74中的每一个包括一个或多个处理核76、78、相应的主机高速缓冲存储器80、82、相应的内部格网84、86以及相应的主机接口88、90。
嵌入式主机接口88、90将主机CPU 72与主机CPU 74互连。主机接口88还将主机CPU 72和主机CPU 74连接至端点设备92。嵌入式主机接口88、90中的每一个包括被配置为作为分布式开关的嵌入式子组件进行操作的相应的路由引擎94、96,如上所述。可以由多种不同互连机制来实现主机接口88、90中的每一个。
内部格网84、86中的每一个包含主机CPU 72、74的相应的嵌入式组件(即处理核76、78、主机高速缓冲存储器80、82以及主机接口88、90)之间的相应的一组直接互连。可以由多种直接互连技术中的任何一个来实现内部格网84、86。由于嵌入式路由引擎94、96能够在这些嵌入式组件之间路由分组,所以不需要由诸如纵横开关和总线架构之类的离散切换组件来实现内部格网84、86。替代地,在不需要任何中间离散设备的情况下,在直接连接各对处理元件的链路上将递送分组从处理元件中的发送处理元件发送到处理元件中的接收处理元件。
图4示出包括主机接口88的实施例100的主机CPU 72的示例性实施例98,主机接口88具有被内部格网84的实施例106链接的嵌入式存储器控制器集线器102和嵌入式I/O控制器集线器104。
存储器控制器集线器102经由被用来经由相干协议来交换信息的各相干互连(例如,前端总线或串行互连)将主机CPU
98连接至计算机系统70的存储器组件。
I/O控制器集线器104将存储器控制器集线器102连接至低速设备,包括诸如端点设备92的外围I/O设备。通常,外围I/O设备依照外围总线协议与I/O控制器集线器104通信。某些外围设备可以依照标准外围通信协议与I/O控制器集线器通信,所述标准外围通信协议诸如PCI通信协议、PCIe通信协议和聚合(c)PCIe协议。外围总线协议通常是包括事务、路由、链路和物理层的多层通信协议。事务层通常包括形成具有系统互连报头的分组并对该分组进行排序和处理的各种协议引擎。事务层协议引擎的示例性类型包括相干引擎、中断引擎和I/O引擎。分组被提供给路由层,其基于路由层内的路由表使用例如基于目的地的路由将分组从源路由到目的地。路由层将分组传递至链路层。链路层在两个被直接连接的代理之间可靠地传输数据并提供流控制。链路层还使得设备之间的物理信道能够被虚拟化(例如,成为多个消息类和虚拟网络),其允许在多个虚拟信道之间复用物理信道。物理层经由例如点到点互连在两个被直接连接的代理之间传输信息。
主机CPU 98的嵌入式处理元件102、104中的路由引擎110、112、114能够依照递送协议在主机CPU 98的嵌入式组件与多处理计算机系统70的其它主机CPU之间路由事务116(也称为分组)。在图4中所图示的实施例中,递送协议事务116包括标识递送协议的标识符(ID)118、路由信息120、以及包括已封装的有效载荷协议分组(例如,PCIe分组或(c)PCle分组或相干协议事务)的有效载荷122。
图5示出包括用于在嵌入式处理元件12~22之间路由分组的相应的路由表119和方法121的路由引擎24~34的实施例117。路由表119和方法121可由软件来编程以依照指定的路由协议(例如,基于标识符的路由或基于源的路由)来路由分组。软件列举多处理器计算机系统10的具有分布式开关能力的组件。软件还通过设置并管理被路由引擎用来确定是否将该递送协议用于给定分组的路由引擎策略、拭探法和事务“过滤器”来配置并启用路由引擎。可以定义一定范围的不同的过滤器方案。例如,在某些实施例中,对存储器地址范围(例如,物理、虚拟和空间ID存储器地址范围)来执行过滤,其可以被配置为以特定硬件(例如PCIe路由组件、存储器控制器或另一处理器)为目标。在其它实施例中,对事务的属性(例如,相干域ID、保护键、虚拟机标识符或专有属性)执行过滤。可以在事务分组的源处确定服务质量(QoS),或者可以将其嵌入递送协议中并用作到仲裁处理中的不透明输入,所述仲裁处理是由到目的地的路径上的中间嵌入式处理组件的路由引擎执行的。
路由引擎117的某些实施例依照递送协议来路由事务,所述递送协议在不考虑协议的相干性的情况下封装所有类型的数据传输协议,包括标准和专有协议。这样,嵌入式切换元件能够在不同相干域之间路由事务并能够在相同链路上路由相干协议事务(例如,共享的存储事务)和非相干协议事务(例如,I/O事务)。
图6示出被依照在本文中称为“隧道协议”的递送协议的实施例格式化的分组116的示例性实施例124的流程(flow through),所述“隧道协议”是对应于PCIe协议的增补版本(参见例如PCI-Express™基础规范版本2.0,2006年12月20日,其全部内容被通过引用结合到本文中)的示例性递送协议。隧道化(tunneled)协议分组(TPP)124的流程包括物理层成帧126和128、数据链路层循环冗余检验码(LCRC)130以及包括隧道化分组元数据134和隧道化分组数据136的隧道化分组层132。TPP类似于PCIe事务层分组(TLP)。TPP流程与PCIe分组流程之间的差别是:
• 隧道化协议分组使用协议特定隧道化协议层而不是PCIe事务层。
• 隧道化分组使用简化数据链路层。数据链路层的分组完整性部分未改变(LCRC处理)。数据链路层的可靠性和流控制方面被去除(序号字段被重新目的化为隧道化分组元数据)。
• 物理层被略微修改以提供用以识别隧道化协议分组的机制。
图7示出隧道化协议分组(TPP)124的隧道化分组层元件。TPP包括隧道化协议ID字段138、TPP元数据字段140和多个TPP数据DWORD字段142、144、146。隧道化协议ID字段138是3位字段,其标识哪个隧道与隧道化分组相关联。例如,可以用标识以下协议中的任何一个的值对隧道化协议ID字段进行编码:PCI;PCIe;QPI;超传输;以及隧道协议。在所图示出的实施例中,隧道化协议ID值在1和7之间(包括端点)。TPP元数据字段140是提供关于TPP 124的信息的12位字段。此字段的定义是隧道特定的。TPP包括被输入到TPP数据DWORD字段142、144、146中的TPP数据的整数数量的DWORD。这些DWORD的布局和使用是隧道特定的。TPP不需要具有任何TPP数据且可以仅包括TPID和TPP元数据。
图8是TPP通过其从一个分布式开关使能的嵌入式处理元件150到另一分布式开关使能的嵌入式处理元件152进行隧道化的示例性机制的实施例的方框图。在本实施例中,每个嵌入式处理元件150包括相应的PCIe传送队列154、156、相应的隧道化分组传送队列158、160、相应的PCIe接收队列162、164、相应的隧道化分组接收队列166、168、相应的仲裁器170、172以及相应的解复用器174、176。在操作中,仲裁器170、172仲裁通过隧道化链路178到达传送队列154、158和156、160的PCIe分组和TPP分组的传输。解复用器174、176将接收到的PCIe和TPP分组解复用至适当的接收队列162、166和164、168。在隧道化协议机制的属性之中是以下各项:
• 隧道化支持是规范性可选的。
• 隧道化对不支持隧道化的PCIe组件没有影响。
• 即使当隧道化被启用时,隧道化对PCIe、TLP和DLLP也没有影响。
• 可以同时地将链路用于TLP和隧道化协议分组(TPP)两者。
• 隧道化不消耗PCIe资源(序号、信用等)或与之相干扰。隧道化协议分组(TPP)使用与隧道相关联的不同资源。
• 隧道化作为默认被禁用并由软件启用。在由软件启用之前可以不发送TPP。在支持隧道化的端口处接收到的TPP被忽视,直至隧道化被软件启用为止。
• 隧道化是可基于每个链路选择的。可以在系统中的链路的任何集合上使用隧道化。
• 隧道化链路可以支持多达7个隧道。软件配置在每个隧道上使用的协议。
• TPP包含LCRC。这被用来以与PCIe TLP类似的方式提供数据弹性。
• TPP不使用PCIe的ACK/NAK机制。在必要时可以使用隧道化协议特定确认机制来提供可靠的递送。
• TPP不包含序号。替代地,其包含可用于协议特定用途的12位TPP元数据字段。
• TPP传送器包含用于调度TPP、TLP和DLLP的发送的仲裁/QoS机制。
• 隧道化协议机制不定义用于TPP的任何寻址或路由机制。
上述隧道协议可以适合于非PCIe通信协议。例如,在QPI、cHT和以太网的顶部上可以开发类似的封装协议。
图9是嵌入式处理元件在作为递送分组的源(即,嵌入式源处理元件)进行操作时通过其处理事务的方法的实施例的流程图。
响应于事务的接收,嵌入式源处理元件确定事务的目的地地址(图9,方框180)。如果目的地地址对应于在嵌入式源处理元件本地的地址(图9,方框182),则嵌入式源处理元件消耗该事务(图9,方框184)。如果目的地地址不对应于在嵌入式源处理元件本地的地址(图9,方框182),则嵌入式源处理元件将事务封装到递送分组中(图9,方框186)。
嵌入式源处理元件确定要发送递送分组的位置(图9,方框188)。在基于ID的路由实施例中,嵌入式源处理元件应用目的地地址作为到路由判定函数中的输入,例如,其可以充当到路由表中的简单索引,其与嵌入式源处理元件相关联以获得对应于另一嵌入式处理元件的下一跳地址,所述另一嵌入式处理元件可以是目的地节点或中间节点。嵌入式源处理元件将下一跳地址编码到递送分组报头中。在基于源的路由实施例中,嵌入式源处理元件根据关联的路由表确定路由信息,所述路由信息包括用于从源节点向目的地节点跨越嵌入式处理元件中的相连的嵌入式处理元件传送递送分组的传输路由的规格。嵌入式源处理元件将路由信息连同到传输路由规范中的当前接收节点的指针一起编码到递送分组报头中。
嵌入式源处理元件将递送分组排队到嵌入式处理元件的分组接口上(图9,方框190)。在此过程中,嵌入式源处理元件选择对应于传输路由上的当前节点的源处理节点的端口。分组接口从所选端口向外在链路上将递送分组传送至下一跳地址(图9,方框192)。
图10是嵌入式处理元件在作为递送分组的接收者(即嵌入式接收处理元件)操作时通过其处理事务的方法的实施例的流程图。
响应于递送分组的接收,嵌入式接收处理元件验证分组数据(图10,方框200)。如果分组数据是无效的(图10,方框202),则嵌入式接收处理元件拒绝或丢弃该递送分组。如果分组数据是有效的(图10,方框202),则嵌入式接收处理元件将该递送分组报头解码(图10,方框204)。
嵌入式接收处理元件确定递送分组的目的地是否被确定为当前接收者(即嵌入式接收处理元件)(图10,方框206)。在基于ID的路由实施例中,已解码的递送分组报头中的路由信息包括递送分组的目的地被确定为到其的嵌入式处理元件的目的地地址。在这些实施例中,嵌入式接收处理元件通过确定该目的地地址是否与嵌入式接收处理元件的地址匹配来确定其是否是接收到的递送分组的目的地。在基于源的路由实施例中,嵌入式接收处理元件通过确定其是否对应于在递送分组报头中指定的传输路由上的目的地节点来确定其是否是所接收到的递送分组的目的地。
如果嵌入式接收处理元件是该递送分组的目的地(图10,方框206),则嵌入式接收处理元件将有效载荷分组解封装(图10,方框208)并处理已解封装的有效载荷分组(图10,方框210)。
如果该递送分组的目的地不是被确定为嵌入式接收处理元件(图10,方框206),则嵌入式接收处理元件确定将递送分组发送到哪里(图10,方框212)。在基于ID的路由实施例中,嵌入式接收处理元件应用目的地地址作为到用于与嵌入式接收处理元件相关联的路由表的路由判定函数中的输入以获得对应于另一嵌入式处理元件的下一跳地址,所述另一嵌入式处理元件可以是目的地节点或中间节点。嵌入式接收处理元件将下一跳地址编码到递送分组报头中。在基于源的路由实施例中,嵌入式接收处理元件根据递送分组报头中的传输路由规格来确定下一跳地址,其中,下一跳地址通常是嵌入式接收处理元件的端口。
嵌入式接收处理元件将递送分组排队到嵌入式接收处理元件的分组接口上(图10,方框214)。分组接口将递送分组传送至下一跳地址(图10,方框216)。
图11是嵌入式目的地处理元件通过其解封装并处理递送分组(图10,方框208、210)的方法的实施例的流程图。依照本实施例,嵌入式目的地处理元件确定下述协议,有效载荷分组被依照该协议编码(图11,方框218)。在某些实施例中,递送分组包括有效载荷协议的经编码的标识符。在这些实施例中,嵌入式目的地处理元件根据该经编码的标识符来确定有效载荷协议。嵌入式目的地处理元件依照确定的有效载荷协议来解封装有效载荷分组(图11,方框220)。嵌入式目的地处理元件将已解封装的有效载荷分组作为有效载荷协议事务来处理(图11,方框222)。在某些实施例中,此过程涉及消耗有效载荷分组。在其它实施例中,该过程涉及将有效载荷分组传送至离散或嵌入式I/O设备。
图12示出包括离散的存储器控制器232、234和CPU 236的组合的多处理器计算机系统10的实施例230。存储器控制器232、234控制对各存储器238、240的访问,其中的每一个可以例如由多个双列直插式存储器模块(DIMM)集来实现。CPU
236中的相邻的CPU被直接链路242互连。CPU 236还被软件分段成两个相干域244、246。
CPU
236包括相应的路由引擎(RE),其被用路由信息248编程,路由信息248使得其能够作为动态可重配置的分布式开关的子组件进行操作,所述动态可重配置的分布式开关能够通过链路242在多种不同路径上在CPU 236之间路由递送分组。(在图12中由实线箭头来指示用灰色突出显示的两个CPU之间的一个示例性路径。) 如上所述,路由引擎(RE)依照递送协议来路由递送分组,该递送协议在不考虑协议的相干性的情况下封装所有类型的数据传输协议,包括标准和专有协议。这样,同一相干域内的CPU
236能够向彼此路由相干协议事务(例如,共享存储事务),相干域244、246中的一个中的CPU 236能够路由用于相干域中的另一个中的CPU 236的非相干分组,并且CPU
236能够在离散的存储器控制器232、234与全部在相同链路242上的CPU中的其它的一些CPU 236之间路由非相干I/O协议事务(例如(c)PCIe事务)。在此过程中,事务中的每个被封装到被依照递送协议格式化的相应的递送分组中,并且包括包含用于基于分别与处理元件相关联的路由表来在处理元件中的相连的处理元件之间路由递送分组的信息的相应的递送分组报头。
图13示出包括离散的I/O设备252、254、256、258和CPU 260的集合的多处理器计算机系统10的实施例250,CPU 260中的相邻的CPU被直接链路262互连。CPU 236包括被用路由信息264编程的相应的路由引擎(RE),所述路由信息264使得其能够作为动态可重配置的分布式开关的子组件进行操作,所述动态可重配置的分布式开关能够通过链路262在多种不同路径上在CPU 262之间路由递送分组。(分别由实线箭头和虚线箭头来指示从用灰色突出显示的CPU至I/O设备254的两个示例性路径。) 如上所述,路由引擎(RE)依照递送协议来路由递送分组,该递送协议在不考虑协议的相干性的情况下封装所有类型的数据传输协议,包括标准和专有协议。这样,相同相干域内的CPU
262能够向彼此路由相干协议事务(例如,共享存储事务),一个相干域中的CPU 262能够路由用于另一相干域中的CPU 262的非相干分组,并且CPU
262能够路由用于全部在相同链路262上的CPU中的其它的CPU 262的非相干I/O协议事务。在此过程中,每个事务被封装到被依照递送协议格式化的相应的递送分组中,并且包括包含用于基于分别与处理元件相关联的路由表来在处理元件中的相连的处理元件之间路由递送分组的信息的相应的递送分组报头。在所图示出的实施例中,小平台组件插件266、268、270、272代表I/O设备252~258从分组去除递送分组报头。
IV. 结论
在本文中描述的实施例提供了用于跨越多处理芯片结构操纵通信的改进的系统和方法,其使得能够简化平台设计,减少平台开发成本和上市的时间,并且增加软件和硬件再使用以获得改善的灵活性、规模和增加的功能性。在这些实施例中,嵌入式处理元件实现用于路由事务的动态可重配置的分布式开关。这样,不需要外部开关(例如,纵横开关和总线架构)。这些实施例中的某些利用在不考虑协议的相干性的情况下封装标准和专有协议的封装协议。这样,嵌入式处理元件可以路由用于全部在相同链路上的不同相干域、相干协议事务(例如共享存储事务)以及非相干协议事务(例如I/O事务)的事务。
其它实施例在权利要求的范围内。
Claims (20)
1.一种由计算机(10)中的嵌入式物理处理元件(12~14)执行的方法,所述方法包括在所述处理元件(14)中的第一个处理元件处:
接收递送分组(124),其被依照递送协议格式化且包括(i)被依照有效载荷协议格式化的已封装的有效载荷分组(136)和(ii)包括路由信息的递送分组报头(134);
根据所述路由信息来确定所述递送分组(124)的目的地是否被确定为所述第一处理元件(14);
响应于确定所述递送分组(124)的目的地不是被确定为所述第一处理元件(14),基于所述路由信息将所述递送分组(124)从所述第一处理元件(14)发送至所述处理元件中的第二个处理元件;以及
响应于确定所述递送分组(124)的目的地被确定为所述第一处理元件(14),从所述递送分组(124)将所述有效载荷分组(136)解封装,并处理已解封装的有效载荷分组(136)。
2.权利要求1所述的方法,其中,所述路由信息包括所述递送分组(124)的目的地被确定为到其的所述处理元件(22)之一的目的地地址,并且所述确定包括确定所述目的地地址是否与所述第一处理元件(14)的地址匹配。
3.权利要求2所述的方法,其中,响应于确定所述目的地地址未能与所述第一处理元件(14)的所述地址匹配,
应用所述目的地地址作为到用于与所述第一处理元件(14)相关联的第一路由表(119)的路由判定函数中的输入以获得所述第二处理元件的地址,以及
所述发送包括将所述递送分组(124)发送到所述第二处理元件的所述地址。
4.前述权利要求中的任一项所述的方法,其中,所述路由信息包括用于从所述处理元件(12)中的源处理元件向所述处理元件(22)中的目的地处理元件跨越所述处理元件(12~14)中的相连的处理元件传送所述递送分组(124)的传输路由的规格,并且所述确定包括确定所述第一处理元件(14)是否对应于所述传输路由上的目的地节点。
5.权利要求4所述的方法,其中,响应于确定所述第一处理元件(14)不对应于所述传输路由上的所述目的地节点,所述发送包括选择对应于所述传输路由上的当前节点的所述第一处理元件(14)的端口并从所选端口向外在链路上发送所述递送分组(124)。
6.前述权利要求中的任一项所述的方法,还包括:
在所述处理元件中的第二个处理元件处,将所述有效载荷分组(136)封装到所述递送分组(124)中,其中,所述封装包括从与所述源处理元件相关联的路由表(119)获得路由信息以及将所述路由信息编码到所述递送分组报头(134)中;以及
基于所述路由信息将所述递送分组(124)从所述源处理元件传送至所述第一处理元件(14)。
7.权利要求6所述的方法,其中,所述封装包括从所述路由表(119)获得所述递送分组(124)的目的地被确定为到其的所述处理元件(22)中的目的地处理元件的目的地地址,以及将所述目的地地址编码到所述递送分组报头(134)中;以及
还包括从所述路由表(119)获得对应于所述第一处理元件(14)的下一跳地址;以及
其中,所述传送包括将所述递送分组(124)传送至所述下一跳地址。
8.权利要求6所述的方法,其中,所述封装包括从所述路由表(119)获得用于从所述处理元件(12)中的源处理元件向所述处理元件(22)中的目的地处理元件跨越所述处理元件(12~22)中的相连的处理元件传送所述递送分组(124)的传输路由的规格,以及连同到所述传输路由上的当前接收节点的指针一起将所述传输路由编码到所述递送分组报头(134)中。
9.前述权利要求中的任一项所述的方法,其中,所述递送分组(124)包括所述有效载荷协议的经编码的标识符(138);还包括根据所述经编码的标识符(138)来确定所述有效载荷协议;以及其中,所述解封装包括依照所确定的有效载荷协议来解封装所述有效载荷分组(136),且所述处理包括将已解封装的有效载荷分组(136)作为有效载荷协议事务来处理。
10.前述权利要求中的任一项所述的方法,还包括用相应的路由引擎(117)和关联的路由表(119)对所述处理元件(12~22)中的每一个进行编程,其中,每个所述路由引擎可操作用于执行所述接收、确定、发送、解封装和处理。
11.前述权利要求中的任一项所述的方法,其中,所述接收包括在没有任何中间的离散设备的情况下,在将所述第一处理元件14直接连接至所述处理元件(12)中的相应的其他处理元件的链路(36)上接收所述递送分组(124),以及所述发送包括在被直接连接在所述第一和第二处理元件之间的链路上向所述第二处理元件发送所述递送分组(124)。
12.前述权利要求中的任一项所述的方法,还包括从所述处理元件中的相应的源处理元件向所述处理元件中的相应的目的地处理元件路由相干事务和非相干事务,其中,所述路由包括将所述事务中的每个封装到被依照所述递送协议格式化且包括相应的递送分组报头(134)的相应的递送分组(124)中,所述相应的递送分组报头(134)包括用于基于分别与所述处理元件(12~22)相关联的路由表在所述处理元件中的相连的处理元件之间路由所述递送分组(124)的信息。
13.前述权利要求中的任一项所述的方法,还包括在第一相干域中的所述处理元件的第一组(244)和第二相干域中的所述处理元件的第二组(246)之间路由事务,其中所述路由包括将所述事务中的每个封装到被依照所述递送协议格式化并且包括相应的递送分组报头(134)的相应的递送分组(124)中,所述相应的递送分组报头(134)包括用于基于分别与所述处理元件(12~22)相关联的路由表在所述处理元件中的相连的处理元件之间路由所述递送分组(124)的信息。
14.一种计算机,包括嵌入式物理处理元件(12~14),所述嵌入式物理处理元件包括可操作用于执行下述操作的处理元件(14)中的第一个处理元件,所述操作包括:
接收递送分组(124),其被依照递送协议格式化且包括(i)被依照有效载荷协议格式化的已封装的有效载荷分组(136)和(ii)包括路由信息的递送分组报头(134);
根据所述路由信息来确定所述递送分组(124)的目的地是否被确定为所述第一处理元件(14);
响应于确定所述递送分组(124)的目的地不是被确定为所述第一处理元件(14),基于所述路由信息将所述递送分组(124)从所述第一处理元件(14)发送至所述处理元件中的第二个处理元件;以及
响应于确定所述递送分组(124)的目的地被确定为所述第一处理元件(14),从所述递送分组(124)将所述有效载荷分组(136)解封装,并处理已解封装的有效载荷分组(136)。
15.权利要求14所述的计算机,其中在所述接收中,所述第一处理元件(14)可操作用于执行下述操作,所述操作包括:在没有任何中间的离散设备的情况下,在将所述第一处理元件14直接连接至所述处理元件(12)中的相应的其他处理元件的链路(36)上接收所述递送分组(124),以及所述发送包括在被直接连接在所述第一和第二处理元件之间的链路上向所述第二处理元件发送所述递送分组(124)。
16.权利要求14或15所述的计算机,其中所述处理元件(12~22)可操作用于执行下述操作,所述操作包括:从所述处理元件中的相应的源处理元件向所述处理元件中的相应的目的地处理元件路由相干事务和非相干事务,其中,所述路由包括将所述事务中的每个封装到被依照所述递送协议格式化且包括相应的递送分组报头(134)的相应的递送分组(124)中,所述相应的递送分组报头(134)包括用于基于分别与所述处理元件(12~22)相关联的路由表在所述处理元件中的相连的处理元件之间路由所述递送分组(124)的信息。
17.权利要求14~16中任何一项所述的计算机,其中所述处理元件(12~22)可操作用于执行下述操作,所述操作包括:在第一相干域中的所述处理元件的第一组(244)和第二相干域中的所述处理元件的第二组(246)之间路由事务,其中所述路由包括将所述事务中的每个封装到被依照所述递送协议格式化并且包括相应的递送分组报头(134)的相应的递送分组(124)中,所述相应的递送分组报头(134)包括用于基于分别与所述处理元件(12~22)相关联的路由表在所述处理元件中的相连的处理元件之间路由所述递送分组(124)的信息。
18.权利要求14~17中任何一项所述的计算机,其中所述处理元件中的多个为所述计算机的中央处理单元。
19.具有体现在其中的计算机可读程序代码(121)的至少一种计算机可读介质,所述计算机可读程序代码(121)适于由计算机的多个嵌入式物理处理元件(12~14)中的至少一个执行以实现下述方法,所述方法包括在所述第一处理元件(14)处:
接收递送分组(124),其被依照递送协议格式化且包括(i)被依照有效载荷协议格式化的已封装的有效载荷分组(136)和(ii)包括路由信息的递送分组报头(134);
根据所述路由信息来确定所述递送分组(124)的目的地是否被确定为所述第一处理元件(14);
响应于确定所述递送分组(124)的目的地不是被确定为所述第一处理元件(14),基于所述路由信息将所述递送分组(124)从所述第一处理元件(14)发送至所述处理元件中的第二个处理元件;以及
响应于确定所述递送分组(124)的目的地被确定为所述第一处理元件(14),从所述递送分组(124)将所述有效载荷分组(136)解封装,并处理已解封装的有效载荷分组(136)。
20.权利要求19中所述的至少一种计算机可读介质,其中所述方法还包括用相应的路由引擎(117)和关联的路由表(119)对所述处理元件(12~22)中的每一个进行编程,其中,每个所述路由引擎可操作用于执行所述接收、确定、发送、解封装和处理。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/062935 WO2011053330A1 (en) | 2009-11-02 | 2009-11-02 | Multiprocessing computing with distributed embedded switching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102576313A true CN102576313A (zh) | 2012-07-11 |
Family
ID=43922418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980162263XA Pending CN102576313A (zh) | 2009-11-02 | 2009-11-02 | 采用分布式嵌入式切换的多处理计算 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120120959A1 (zh) |
EP (1) | EP2497023B1 (zh) |
CN (1) | CN102576313A (zh) |
TW (1) | TWI473012B (zh) |
WO (1) | WO2011053330A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104303174A (zh) * | 2012-06-25 | 2015-01-21 | 英特尔公司 | 通过处理器间互连来隧道传输平台管理消息 |
CN104956347A (zh) * | 2013-02-28 | 2015-09-30 | 英特尔公司 | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 |
CN105009527A (zh) * | 2013-03-13 | 2015-10-28 | 思科技术公司 | 用于动态程控的网络分组处理的框架 |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0221464D0 (en) | 2002-09-16 | 2002-10-23 | Cambridge Internetworking Ltd | Network interface and protocol |
GB0304807D0 (en) | 2003-03-03 | 2003-04-09 | Cambridge Internetworking Ltd | Data protocol |
GB0404696D0 (en) | 2004-03-02 | 2004-04-07 | Level 5 Networks Ltd | Dual driver interface |
GB0408868D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | Checking data integrity |
GB0408876D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | User-level stack |
GB0505297D0 (en) | 2005-03-15 | 2005-04-20 | Level 5 Networks Ltd | Redirecting instructions |
GB0505300D0 (en) | 2005-03-15 | 2005-04-20 | Level 5 Networks Ltd | Transmitting data |
EP3217285B1 (en) | 2005-03-10 | 2021-04-28 | Xilinx, Inc. | Transmitting data |
GB0506403D0 (en) | 2005-03-30 | 2005-05-04 | Level 5 Networks Ltd | Routing tables |
US7634584B2 (en) | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
ATE462264T1 (de) | 2005-06-15 | 2010-04-15 | Solarflare Comm Inc | Empfangen von daten gemäss eines datentransferprotokolls von daten, die ein beliebiges einer mehrzahl von empgangsgeräten gerichtet sind |
US7984180B2 (en) | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
GB0600417D0 (en) | 2006-01-10 | 2006-02-15 | Level 5 Networks Inc | Virtualisation support |
US8116312B2 (en) | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
EP2552080B1 (en) | 2006-07-10 | 2017-05-10 | Solarflare Communications Inc | Chimney onload implementation of network protocol stack |
US9686117B2 (en) | 2006-07-10 | 2017-06-20 | Solarflare Communications, Inc. | Chimney onload implementation of network protocol stack |
US9948533B2 (en) | 2006-07-10 | 2018-04-17 | Solarflare Communitations, Inc. | Interrupt management |
GB0621774D0 (en) | 2006-11-01 | 2006-12-13 | Level 5 Networks Inc | Driver level segmentation |
GB0723422D0 (en) | 2007-11-29 | 2008-01-09 | Level 5 Networks Inc | Virtualised receive side scaling |
GB0802126D0 (en) | 2008-02-05 | 2008-03-12 | Level 5 Networks Inc | Scalable sockets |
GB0823162D0 (en) | 2008-12-18 | 2009-01-28 | Solarflare Communications Inc | Virtualised Interface Functions |
US9256560B2 (en) | 2009-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Controller integration |
US9210140B2 (en) | 2009-08-19 | 2015-12-08 | Solarflare Communications, Inc. | Remote functionality selection |
EP2309680B1 (en) | 2009-10-08 | 2017-07-19 | Solarflare Communications Inc | Switching API |
US8743877B2 (en) | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
US10873613B2 (en) | 2010-12-09 | 2020-12-22 | Xilinx, Inc. | TCP processing for devices |
US8996644B2 (en) | 2010-12-09 | 2015-03-31 | Solarflare Communications, Inc. | Encapsulated accelerator |
US9674318B2 (en) | 2010-12-09 | 2017-06-06 | Solarflare Communications, Inc. | TCP processing for devices |
US9258390B2 (en) | 2011-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Reducing network latency |
US9600429B2 (en) | 2010-12-09 | 2017-03-21 | Solarflare Communications, Inc. | Encapsulated accelerator |
US9003053B2 (en) | 2011-09-22 | 2015-04-07 | Solarflare Communications, Inc. | Message acceleration |
US9008113B2 (en) | 2010-12-20 | 2015-04-14 | Solarflare Communications, Inc. | Mapped FIFO buffering |
US8583850B2 (en) * | 2011-02-14 | 2013-11-12 | Oracle America, Inc. | Micro crossbar switch and on-die data network using the same |
US9384071B2 (en) | 2011-03-31 | 2016-07-05 | Solarflare Communications, Inc. | Epoll optimisations |
US8909979B2 (en) | 2011-06-27 | 2014-12-09 | Huawei Technologies Co., Ltd. | Method and system for implementing interconnection fault tolerance between CPU |
WO2012103712A1 (zh) | 2011-06-27 | 2012-08-09 | 华为技术有限公司 | Cpu互联装置 |
US8763018B2 (en) | 2011-08-22 | 2014-06-24 | Solarflare Communications, Inc. | Modifying application behaviour |
US9391840B2 (en) | 2012-05-02 | 2016-07-12 | Solarflare Communications, Inc. | Avoiding delayed data |
US8446903B1 (en) | 2012-05-22 | 2013-05-21 | Intel Corporation | Providing a load/store communication protocol with a low power physical unit |
US8549205B1 (en) | 2012-05-22 | 2013-10-01 | Intel Corporation | Providing a consolidated sideband communication channel between devices |
US8437343B1 (en) | 2012-05-22 | 2013-05-07 | Intel Corporation | Optimized link training and management mechanism |
US8972640B2 (en) | 2012-06-27 | 2015-03-03 | Intel Corporation | Controlling a physical link of a first protocol using an extended capability structure of a second protocol |
US9391841B2 (en) | 2012-07-03 | 2016-07-12 | Solarflare Communications, Inc. | Fast linkup arbitration |
US10505747B2 (en) | 2012-10-16 | 2019-12-10 | Solarflare Communications, Inc. | Feed processing |
US10404583B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
US10904144B2 (en) | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US10419335B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
US10397100B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
US10447575B1 (en) | 2012-12-27 | 2019-10-15 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10404582B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using an outside-scope indentifier |
US10411998B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
US10411997B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Routing methods, systems, and computer program products for using a region scoped node identifier |
US10587505B1 (en) | 2012-12-27 | 2020-03-10 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10476787B1 (en) | 2012-12-27 | 2019-11-12 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10212076B1 (en) | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US10419334B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
US10374938B1 (en) | 2012-12-27 | 2019-08-06 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10397101B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping identifiers |
US9261934B2 (en) | 2013-03-15 | 2016-02-16 | Intel Corporation | Dynamic response improvement of hybrid power boost technology |
US10742604B2 (en) | 2013-04-08 | 2020-08-11 | Xilinx, Inc. | Locked down network interface |
US9426124B2 (en) | 2013-04-08 | 2016-08-23 | Solarflare Communications, Inc. | Locked down network interface |
WO2014169010A1 (en) * | 2013-04-10 | 2014-10-16 | Marvell World Trade Ltd. | Tunneling transaction packets |
EP2809033B1 (en) | 2013-05-30 | 2018-03-21 | Solarflare Communications Inc | Packet capture in a network |
US10394751B2 (en) | 2013-11-06 | 2019-08-27 | Solarflare Communications, Inc. | Programmed input/output mode |
US9612643B2 (en) | 2014-03-29 | 2017-04-04 | Intel Corporation | Controlling the CPU slew rates based on the battery state of charge |
JP6337606B2 (ja) * | 2014-05-15 | 2018-06-06 | 富士通株式会社 | 情報処理装置、経路決定方法及びプログラム |
US9798377B2 (en) | 2014-10-08 | 2017-10-24 | Apple Inc. | Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors |
US9710406B2 (en) | 2014-12-15 | 2017-07-18 | Intel Corporation | Data transmission using PCIe protocol via USB port |
US9817787B2 (en) * | 2015-03-26 | 2017-11-14 | Intel Corporation | Method, apparatus and system for encapsulating information in a communication |
KR101797929B1 (ko) * | 2015-08-26 | 2017-11-15 | 서경대학교 산학협력단 | 매니코어 플랫폼에서 코어에 프로세스를 할당하는 방법 및 코어 프로세스간 통신 방법 |
US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
US10572390B2 (en) | 2016-02-29 | 2020-02-25 | Apple Inc. | Methods and apparatus for loading firmware on demand |
US10191859B2 (en) * | 2016-03-31 | 2019-01-29 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
US10551902B2 (en) | 2016-11-10 | 2020-02-04 | Apple Inc. | Methods and apparatus for providing access to peripheral sub-system registers |
US10331612B1 (en) | 2018-01-09 | 2019-06-25 | Apple Inc. | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors |
US10430352B1 (en) | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
US11531621B2 (en) * | 2020-01-30 | 2022-12-20 | Microsoft Technology Licensing, Llc | Selective endpoint isolation for self-healing in a cache and memory coherent system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014380A (en) * | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | Mechanism for packet field replacement in a multi-layer distributed network element |
US6785734B1 (en) * | 2000-04-10 | 2004-08-31 | International Business Machines Corporation | System and method for processing control information from a general through a data processor when a control processor of a network processor being congested |
US8380630B2 (en) * | 2000-07-06 | 2013-02-19 | David Paul Felsher | Information record infrastructure, system and method |
US6990121B1 (en) | 2000-12-30 | 2006-01-24 | Redback, Networks, Inc. | Method and apparatus for switching data of different protocols |
JP4340400B2 (ja) * | 2001-04-27 | 2009-10-07 | 富士通株式会社 | 階層化パケット網におけるパケット転送方法並びに階層化パケット通信システム並びに同システムに使用されるエッジノード及び移動端末並びに階層化パケット網におけるパケット転送方法 |
US8068494B2 (en) * | 2002-03-27 | 2011-11-29 | Motorola Solutions, Inc. | Method and apparatus for robust local mobility management in a mobile network |
US20040006633A1 (en) * | 2002-07-03 | 2004-01-08 | Intel Corporation | High-speed multi-processor, multi-thread queue implementation |
US7899048B1 (en) * | 2003-01-15 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for remotely monitoring network traffic through a generic network |
US7188209B2 (en) * | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
US9818136B1 (en) * | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US20040190506A1 (en) * | 2003-03-24 | 2004-09-30 | International Business Machines Corp. | Method and apparatus for performing complex pattern matching in a data stream within a computer network |
GB2417391B (en) * | 2004-08-18 | 2007-04-18 | Wecomm Ltd | Transmitting data over a network |
US7209991B2 (en) * | 2004-09-03 | 2007-04-24 | Intel Corporation | Packet processing in switched fabric networks |
US7848332B2 (en) * | 2004-11-15 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary |
US8699330B2 (en) * | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
JP4614128B2 (ja) * | 2004-12-10 | 2011-01-19 | 日本電気株式会社 | パケット配送システム、pan登録装置、pan管理装置及びパケット転送装置 |
GB0600417D0 (en) * | 2006-01-10 | 2006-02-15 | Level 5 Networks Inc | Virtualisation support |
US8266702B2 (en) * | 2006-10-31 | 2012-09-11 | Microsoft Corporation | Analyzing access control configurations |
US7903574B2 (en) * | 2007-03-15 | 2011-03-08 | Nokia Corporation | Service discovery mechanism in broadcast telecommunication network |
US20080307422A1 (en) * | 2007-06-08 | 2008-12-11 | Kurland Aaron S | Shared memory for multi-core processors |
US8417935B2 (en) * | 2008-10-10 | 2013-04-09 | The Boeing Company | System and method for collaboration over shared storage |
US8374095B2 (en) * | 2009-03-23 | 2013-02-12 | Cisco Technology, Inc. | Connection verification for MPLS label switched paths and pseudowires |
US20110010522A1 (en) * | 2009-06-12 | 2011-01-13 | Cray Inc. | Multiprocessor communication protocol bridge between scalar and vector compute nodes |
-
2009
- 2009-11-02 CN CN200980162263XA patent/CN102576313A/zh active Pending
- 2009-11-02 EP EP09850993.8A patent/EP2497023B1/en not_active Not-in-force
- 2009-11-02 US US13/386,649 patent/US20120120959A1/en not_active Abandoned
- 2009-11-02 WO PCT/US2009/062935 patent/WO2011053330A1/en active Application Filing
-
2010
- 2010-10-14 TW TW99135050A patent/TWI473012B/zh not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104303174A (zh) * | 2012-06-25 | 2015-01-21 | 英特尔公司 | 通过处理器间互连来隧道传输平台管理消息 |
CN104303174B (zh) * | 2012-06-25 | 2017-10-27 | 英特尔公司 | 通过处理器间互连来隧道传输平台管理消息 |
CN104956347A (zh) * | 2013-02-28 | 2015-09-30 | 英特尔公司 | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 |
CN104956347B (zh) * | 2013-02-28 | 2018-05-22 | 英特尔公司 | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 |
CN105009527A (zh) * | 2013-03-13 | 2015-10-28 | 思科技术公司 | 用于动态程控的网络分组处理的框架 |
CN105009527B (zh) * | 2013-03-13 | 2018-10-19 | 思科技术公司 | 用于动态程控的网络分组处理的框架 |
Also Published As
Publication number | Publication date |
---|---|
EP2497023A4 (en) | 2013-09-18 |
US20120120959A1 (en) | 2012-05-17 |
WO2011053330A1 (en) | 2011-05-05 |
EP2497023A1 (en) | 2012-09-12 |
TWI473012B (zh) | 2015-02-11 |
TW201124909A (en) | 2011-07-16 |
EP2497023B1 (en) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102576313A (zh) | 采用分布式嵌入式切换的多处理计算 | |
KR101686360B1 (ko) | 다중슬롯 링크 계층 플릿에서의 제어 메시징 | |
CN102227709B (zh) | 多处理器架构与方法 | |
CN101901205B (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
US10078617B2 (en) | Multiple transaction data flow control unit for high-speed interconnect | |
CN100440183C (zh) | 处理器间通信系统 | |
EP2420935A1 (en) | Tlp processing circuit for pci express and relay device equipped with the same | |
EP3827356A1 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
CN104303174A (zh) | 通过处理器间互连来隧道传输平台管理消息 | |
US11449444B2 (en) | Apparatus and mechanism to bypass PCIe address translation by using alternative routing | |
US8429314B2 (en) | FIFO system and operating method thereof | |
CN107430584B (zh) | 经由具有完全连接网格拓扑的pci express结构从存储读取数据 | |
WO2022154831A1 (en) | Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols | |
US7613850B1 (en) | System and method utilizing programmable ordering relation for direct memory access | |
KR100706145B1 (ko) | 멀티프로세서 시스템에서 프로세서 집적 소자를 구성하기위한 방법 및 시스템 | |
KR20210092222A (ko) | 버스 상의 메모리 요청 체이닝 | |
US20200174957A1 (en) | Inter device data exchange via external bus by utilizing communication port | |
US6928073B2 (en) | Integrated circuit implementing packet transmission | |
JP4916162B2 (ja) | 統合コンピュータシステムファブリックのためのシステム及び方法 | |
CN112148659A (zh) | 数据传输电路 | |
JP2008059195A (ja) | インタフェース方法及びデータ処理システム | |
JP2006134341A (ja) | ディスクアレイ制御装置 | |
JP2005018317A (ja) | トランザクション障害処理システム | |
JP2007115274A (ja) | ディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |