CN105556496A - 通过快捷外围组件互连高速进行的可扩展直接节点间通信 - Google Patents

通过快捷外围组件互连高速进行的可扩展直接节点间通信 Download PDF

Info

Publication number
CN105556496A
CN105556496A CN201480036846.9A CN201480036846A CN105556496A CN 105556496 A CN105556496 A CN 105556496A CN 201480036846 A CN201480036846 A CN 201480036846A CN 105556496 A CN105556496 A CN 105556496A
Authority
CN
China
Prior art keywords
data
message
processor
issue
queue
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.)
Granted
Application number
CN201480036846.9A
Other languages
English (en)
Other versions
CN105556496B (zh
Inventor
诺伯特·埃吉
施广宇
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105556496A publication Critical patent/CN105556496A/zh
Application granted granted Critical
Publication of CN105556496B publication Critical patent/CN105556496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)

Abstract

一种通过快捷外围组件互连高速(Peripheral?Component?Interconnect?Express,PCIe)非透明桥(Non-Transparent?Bridge,NTB)传送数据的方法,包括:通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息指示向所述远程处理器传送数据的意图;以及响应于所述第一发布写消息而接收第二发布写消息,其中所述第二发布写消息指示所述数据的目的地址列表。一种通过PCIe?NTB传送数据的方法,包括:通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息包括读取数据的请求;以及接收包括所述第一发布写消息所请求的至少一些所述数据的数据传送消息。

Description

通过快捷外围组件互连高速进行的可扩展直接节点间通信
相关申请案交叉申请
本发明要求2013年11月25日由GuangyuShi等人递交的发明名称为“通过快捷外围组件互连高速(PeripheralComponentInterconnect-Express,PCIe)进行的可扩展直接节点间通信)”的第14/089,377号美国非临时专利申请案的在先申请优先权,以及要求2013年7月22日由GuangyuShi等人递交的发明名称为“通过快捷外围组件互连高速(PeripheralComponentInterconnect-Express,PCIe)进行的可扩展直接节点间通信)”的第61/857,036号美国临时专利申请案的在先申请优先权,这两个在先申请的全部内容以引入的方式并入本文本中。
关于由联邦政府赞助研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
数据中心可以包括大型服务器集群。数据中心服务器可以接受来自用户的请求并对这些请求作出响应。例如,服务器可以托管数据并在请求时向用户传输这些数据。服务器也可用于托管进程。因此,用户可以向服务器传输请求以执行进程,服务器可执行该进程,随后服务器可以使用该进程的结果向用户作出响应。服务器可以包括多个处理用户请求并与用户通信的部件。这些服务器可以通过各种网络设备和技术互连。例如,服务器可以置于机箱内并可通过开放系统互连(OpenSystemsInterconnection,OSI)模型二层(例如,媒体接入控制(MediaAccessControl,MAC))和/或三层(例如,互联网协议(InternetProtocol,IP))技术与其它机箱内的其它服务器互连。
发明内容
在一项实施例中,本发明包括一种通过快捷外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)非透明桥(Non-TransparentBridge,NTB)传送数据的方法,包括:通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息指示向所述远程处理器传送数据的意图;以及响应于所述第一发布写消息而接收第二发布写消息,其中所述第二发布写消息指示所述数据的目的地址列表。
在另一项实施例中,本发明包括一种通过PCIeNTB传送数据的方法,包括:通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息包括读取数据的请求;以及接收包括所述第一发布写消息所请求的至少一些所述数据的数据传送消息。
在另一项实施例中,本发明包括一种处理器,包括:接收队列、传输队列,以及完成队列,并且用于耦合到PCIeNTB,通过所述接收队列、所述传输队列、所述完成队列和所述PCIeNTB在不使用非发布消息的情况下读取来自多个远程处理器的数据并将数据写入所述多个远程处理器中。
结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是分散式数据中心网络架构的实施例的示意图。
图2是网元(networkelement,NE)的实施例的示意图,该NE可以充当分散式数据执行网络架构内的节点。
图3是只使用写发布消息写入数据的方法的实施例的协议图。
图4是只使用写发布消息写入数据的另一方法的实施例的流程图。
图5是在数据大小已知时只使用写发布消息读取数据的方法的实施例的协议图。
图6是在数据大小未知时只使用写发布消息读取数据的方法的实施例的协议图。
图7是只使用写发布消息读取数据的方法的另一实施例的流程图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
相比于包括多个自包含服务器的数据中心架构,分散式数据中心架构可以用于支持资源模块池。这些资源模块可以不置于普通机箱内并且可以以允许动态资源共享的方式互连。这些模块还可以设计用于向后兼容,使得可以使用细粒度基于模块而不是基于更为昂贵的服务器进行数据中心升级。例如,包括不足处理器资源的数据中心配备有单个额外的处理器模块配置,而不是使用包括处理器、存储器、专用进程加速电路、网络接口卡(NetworkInterfaceCard,NIC)等的完整服务器进行更新。在分散式架构中,这些资源模块可以通过统一互连连接。这种统一互连可以使用快捷外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)部署。通过PCIe连接的这些处理器模块均可采用本地有效的内存地址空间。这些处理器模块可以通过PCIe非透明桥(Non-TransparentBridge,NTB)连接,PCIeNTB可以将本地有效的地址转换为整个网络理解的地址和/或远程处理器模块采用的地址空间。每个处理器可以与请求方标识(identifier,ID)关联。
PCIe系统可以采用发布消息和非发布消息。发布消息可以是被相关硬件视为不需要响应的消息。内存写消息可以是发布消息。非发布消息可以是被相关硬件视为需要响应的消息。内存读消息、输入输出(inputoutput,I/O)读和/或写消息,和/或配置读和/或写消息可以是非发布消息。NTB可以通过在请求方ID查找表(requestorIDLook-UpTable,R-LUT)中有状态地存储与每个非发布消息关联的请求方ID来路由消息。在接收非发布请求消息的响应后,NTB可以采用R-LUT来确定该响应与哪个请求消息关联并且确定向何处发送响应。NTBR-LUT表可以不设计用于支持大范围互连。例如,NTBR-LUT可以包括不足以支持多于32个同时连接的处理器的内存空间。因此,PCIeNTBR-LUT会在分散式数据中心架构中部署大型处理器资源池时产生困难。
本文所公开的是一种以允许创建大型处理器资源池的向后兼容方式绕过PCIeNTBR-LUT的机制。每个处理器可以用于只使用发布消息(例如,内存写入)进行通信,因为这些消息可能没有用完PCIeNTBR-LUT中的可用条目。这些发布消息的管理可以在软件级(例如,而不是硬件级)执行,这样这些发布消息可以或者可以不按所需引发响应。每个处理器可以配置为包括接收(receive,RX)队列、传输(transmit,TX)队列,以及完成队列。每个发布消息可以基于消息的内容进行分析并置于相关队列中。处理器随后可以基于消息已被分配至的队列对每个消息进行操作。例如,指示处理器应当准备接收数据传送的消息可以置于RX队列中。指示处理器应当准备执行数据传送的消息可以置于RX队列中。指示数据传送完成的消息可以置于完成队列中。通过采用RX、TX和完成队列,处理器可以只使用发布消息(例如,写消息)通过NTB建立并执行与其他处理器的数据传送(例如,数据读写),从而避免与NTBR-LUT关联的可扩展性限制。虽然本文所论述的机制可以用于支持分散式数据中心架构,应注意这些机制可以用于支持任意其他数据中心架构,例如基于服务器的数据中心中的基于PCIe的连接。
图1是分散式数据中心网络架构100的实施例的示意图。网络100可以包括处理器模块110池、进程内存模块150池、数据存储模块120池、进程加速模块160池,以及NIC模块130池,这些模块池可以通过统一互连网络170连接。处理器模块110、进程内存模块150、数据存储模块120、进程加速模块160、NIC模块130,以及统一互连网络170可以置于普通数据中心中并且可以不置于普通外壳中(例如,每个模块可以包括单独的服务器、服务器刀片、网元、机箱等)。每个模块池可以包括多个资源模块,每个资源模块用于执行一种常用功能。处理器模块110均可通过统一互连网络170共享对其它模块的资源的访问。统一互连网络170可以采用所有模块共用的协议,例如PCIe,该协议可以允许单个模块在不产生模块不兼容的情况下进行更新、添加,和/或移除。处理器模块110共享资源的能力也可以允许资源负载均衡并且可以减少进程瓶颈。
每个模块(例如,处理器模块110、进程内存模块150、数据存储模块120、进程加速模块160,和/或NIC模块130)可以包括和/或主要由以下组成:执行任务的一部分所需的部件,并且每个模块可以置于与所有其他模块分离的NE中。例如,处理器模块110可以包括和/或主要由以下组成:处理器115。处理器115可以是单个处理器和/或处理器集群。处理器模块110也可以可选地包括和/或主要由以下组成:本地进程内存117、本地存储设备113,以及连接统一互连网络170和功率相关部件的传输部件。处理器模块110可以置于刀片服务器中。刀片服务器价格不太昂贵并且体积小于机架服务器,并且在不访问统一互连网络170的情况下无法提供完整的功能。处理器模块110可以操作用于管理典型的数据中心任务,例如管理数据存储、托管进程、对客户端查询作出响应等。
网络100可以包括进程内存模块150池,其可包括和/或主要由以下组成:存储器(例如,随机存取存储器(RandomAccessMemory,RAM)、处理器缓存等),该存储器可以存储活动进程相关的处理器数据。进程内存模块150可以包括可分配给特定处理器115、特定处理器模块110,和/或由多个处理器模块110共享的存储资源。内存模块150的分配可以基于网络100在特定时间的需求动态变更。进程内存模块150可以置于刀片服务器上。例如,进程内存模块150可以主要由以下组成:存储器、支持与统一互连网络170连接的传输部件,以及功率部件。
网络100可以包括数据存储模块120池,其可包括和/或主要由以下组成:用于长期存储的数据存储设备(例如,磁盘、固态磁盘、独立磁盘冗余阵列(redundantarrayofindependentdisks,RAID)等)。数据存储模块120可以包括可分配给特定处理器115、特定处理器模块110,和/或由多个处理器模块110共享的存储资源。数据存储模块120的分配可以基于网络100在特定时间的需求动态变更。数据存储模块120可以置于刀片服务器上。例如,数据存储模块120可以主要由以下组成:数据存储设备、支持与统一互连网络170连接的传输部件,以及功率部件。
网络100可以包括进程加速模块160池,其可包括和/或主要由以下组成:进程加速器,例如专用集成电路(applicationspecificintegratedcircuit,ASIC)163、现场可编程门阵列(field-programmablegatearray,FPGA)162、图形处理器(graphicsprocessingunit,GPU)161、数字信号处理器(digitalsignalprocessor,DSP)等。进程加速器可以针对特定任务进行优化并且可以更加快速地执行这些特定任务和/或比通用处理单元(例如,处理器115)更为高效地执行这些特定任务。处理器115可能想要卸载特定进程的全部或部分,并且可以向进程加速模块160传输资源请求,进程加速模块160可以采用进程加速器来完成该进程并且向请求处理器115传回所得数据。进程加速模块160可以包括可分配给特定处理器115、特定处理器模块110,和/或由多个处理器模块110共享的处理资源。进程加速模块160的分配可以基于网络100在特定时间的需求动态变更。进程加速模块160可以置于刀片服务器上。例如,进程加速模块160可以主要由以下组成:进程加速器(例如,ASIC163、FPGA162和/或GPU161)、支持与统一互连网络170连接的传输部件,以及功率部件。
网络100可以包括NIC模块130池,其可包括和/或主要由以下组成:NIC,NIC用于代表其它模块与数据中心核心网140、互联网,和/或本地客户端设备145通信。例如,NIC模块130可以包括可分配给特定处理器115、特定处理器模块110,和/或由多个处理器模块110共享的连接资源。NIC模块130和/或NIC模块130资源的分配可以基于网络100在特定时间的需求动态变更。再例如,NIC模块130可以用于代表处理器模块110、进程加速模块160、进程内存模块150、存储模块120,或其组合与核心网通信。因此,处理器模块110可以引导其它模块直接将输出传送给NIC130而无需返回给处理器模块110。NIC模块130可以置于刀片服务器上。例如,NIC模块130可以主要由以下组成:用于与核心网140通信的NIC、支持与统一互连网络170连接的传输部件,以及功率部件。NIC模块还可实施远程直接数据存取(remotedirectmemoryaccess,RDMA)。
模块(例如,处理器模块110、进程内存模块150、数据存储模块120、进程加速模块160,和/或NIC模块130)池可以通过统一互连网络170互连。统一互连网络170可以以非阻塞方式在模块和/或池之间传输通信。统一互连网络170可以包括与所有模块兼容的任意硬件和/或协议。例如,统一互连网络170可以包括PCIe网络。统一互连网络170可以不局限于特定模块(例如,置于服务器刀片内)和/或机箱,并且可以在整个数据中心中路由。包括本身不支持通过统一互连网络170的连接的模块可以包括处理器和/或其他支持连接的连接部件。
统一互连网络170可以,例如,包括多个与PCIe兼容的NTB171。NTB171可以充当在特定处理器115和/或处理器模块110以及统一互连170之间传递的通信的网关。虽然每个处理器115和/或处理器模块110可以连接至逻辑上专用的NTB171,多个NTB171可以或者可以不置于单个物理设备(未示出)中。每个处理器115和/或处理器模块110可以包括本地有效的内存地址空间,该空间可能不被其它处理器115、处理器模块110,和/或其它网络100设备所识别。每个NTB171可以用于代表处理器115和/或处理器模块110执行网络地址转换以允许与其它处理器和/或模块的通信。例如,连接到第一处理器115的第一NTB171可以将第一处理器115的地址空间中寻址的消息转换为在统一互连170中理解的地址空间,反之亦然。同样,第二NTB171可以为连接的第二处理器115执行相同的转换,这样通过第一NTB171和第二NTB171处的地址转换可以允许第一处理器115和第二处理器115之间的通信。
处理器115和/或处理器模块110可以通过发布消息和非发布消息跨过NTB171进行通信。发布消息可能不需要响应,而非发布消息可能需要响应。NTB171可以包括R-LUT。当例如从远程处理器接收非发布消息时,NTB171可以在R-LUT中存储与远程处理器关联的请求方ID。在例如从本地处理器接收非发布消息的响应之后,NTB171可以查询R-LUT来确定向何处发送响应。NTB171R-LUT可以是有状态的并且可以设计用于支持数量相对较小的处理器(例如,最大8个或者32个)。因此,NTB171R-LUT可以防止网络100在32个处理器模块110之外扩展。然而,处理器115可以用于通过只采用发布消息避免R-LUT,这样可以允许扩展至最多约64000个处理器。为了只使用发布消息来管理事务,处理器115和/或处理器模块110可能要求在软件级而非硬件级管理通信。例如,处理器115可以配置有RX队列、TX队列以及完成队列。RX队列、TX队列以及完成队列可以配置为先入先出(FirstInFirstOut,FIFO)队列。处理器115可以用于识别发布写消息可以不调用写入并且可以携带其它信息。处理器115可以分析传入消息(例如,数据包)的内容并且根据消息内容,例如基于地址和/或基于消息净荷中编码的命令,在队列中放置该消息。与即将发生的数据传输相关的消息可以置于TX队列中,与即将发生的数据接收相关的消息可以置于RX队列中,与事务完成相关的消息可以置于完成队列中。处理器115和/或处理器模块110随后可以基于消息已被分配至的队列处理每个消息。
图2是NE200的实施例的示意图,NE200可以充当诸如分散式数据中心网络架构100之类的分散式数据中心网络架构内的节点(例如,处理器模块110)。本领域技术人员将认识到术语“NE”涵盖大范围的设备,其中NE200只是一个示例。NE200出于论述清晰目的被包含在内,但并非意味着将本发明申请限制为特定NE实施例或NE实施例类。本发明中所描述的至少一些特征/方法可以通过网络装置或者部件,例如NE200,实现。例如,本发明中的特征/方法可以通过硬件、固件和/或安装在硬件上运行的软件来实现。NE200可以是通过网络,例如交换机、路由器、网桥、服务器、客户端等传送帧的任意设备。如图2所示,NE200可以包括收发器(transceiver,Tx/Rx)210,Tx/Rx210可以是发射器、接收器,或其组合。Tx/Rx210可以耦合到多个下行端口220,用于传输和/或接收来自其他节点的帧;Tx/Rx210可以耦合到多个上行端口250,用于传输和/或接收来自其他节点的帧。处理器230可以耦合到Tx/Rx210以处理帧和/或确定向哪些节点发送帧。处理器230可包括一个或多个多核处理器和/或存储模块232,存储模块232可用作数据存储设备、缓冲器等。处理器230可以实现为通用处理器或者可以是一个或多个ASIC和/或DSP的一部分。处理器230可以包括数据传送模块234,其可以实施RX队列、TX队列、完成队列和/或可以通过只使用发布消息实施读和/或写操作以绕过PCIeNTBR-LUT。在替代性实施例中,数据传送模块234可以实现为存储在存储器232中的指令,这些指令可以由处理器230执行。在另一项替代性实施例中,数据传送模块234可以在单独的NE上实施。下行端口230和/或上行端口250可以包含电和/或光发射和/或接收部件。NE200可以或者可以不是进行路由决策的路由部件。
应理解,通过编程可执行指令和/或将可执行指令编程加载到NE200上,处理器230、数据传送模块234、下行端口220、Tx/Rx210、存储器232,和/或上行端口250中的至少一个被更改,从而将NE200部分转变成具有本发明所教示的新颖功能的特定机器或装置,例如多核转发架构。可通过将可执行软件加载至计算机实现的功能可以通过众所周知的设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常基于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实现,因为重新编写硬件实施方案比重新编写软件更为昂贵。通常,稳定及大规模生产的设计更适于在ASIC这样的硬件中实施,这是因为对于大型生产活动,硬件实现的成本可能要低于软件实现。设计通常可以以软件形式进行开发和测试,之后通过众所周知的设计规则转变成对软件的指令进行硬连线的专用集成电路中的等效硬件实施方案。按照同样的方式,新型ASIC控制的机器是一种特定机器或装置,同样地,已编程和/或加载可执行指令的计算机也可视为一种特定的机器或装置。
图3是只使用写发布消息写入数据的方法300的实施例的协议图。例如,方法300可以在处理器(例如,处理器115)和/或处理器模块(例如,处理器模块110)中实现。这种处理器,在本文中称为第一处理器、本地处理器和/或处理器1,可能想要通过PCIeNTB,例如NTB171,向另一处理器中写入数据,另一处理器在本文中称为第二处理器、远程处理器和/或处理器2。虽然处理器1在网络100中操作,但是应注意处理器1也可以置于任意其它基于PCIe的网络中。处理器2可以或者可以不大体类似于处理器1,并且可以或者可以不置于与处理器1相同的机箱内。处理器1和处理器2均可配置有RX队列、TX队列和完成队列。
处理器1可以知道将发送给处理器2的数据的大小。在步骤301处,处理器1可以向处理器2传输写发布消息(例如,数据包)。步骤301的写发布消息可以包括与待发送的数据相关的信息并且可以包括数据大小。由于处理器1可能想要处理器2接收数据,所以步骤301的写发布消息可以例如基于与处理器2的RX队列关联的地址或者基于在消息净荷中编码的命令向该队列传输。一旦步骤301的消息到达RX队列前方,处理器2可以通过基于数据大小分配接收数据的内存来执行步骤303。处理器2还可以固定相关虚拟页面以防止这些页面和相关数据在完成步骤301处所指示的写入之前被交换出去(例如,从内存移到硬盘)。在步骤305处,处理器2可以创建目的地址列表,例如分散收集列表(ScatterGatherList,SGL),包括分配来接收传输数据的内存位置地址。在步骤307处,处理器2可以向处理器1传输写发布消息。步骤307的写发布消息可以包括目的内存地址列表(例如,如步骤305处生成)。由于步骤307的写发布消息可能与处理器1的数据传输相关,所以写发布消息可能向处理器1的TX队列传输。一旦步骤307的消息到达TX队列前方,处理器1可以通过将数据移至目的地址列表中所列出的内存地址来执行步骤309。步骤307可以通过传输包括数据的写发布消息、采用直接内存访问(DirectMemoryAccess,DMA)等来执行。在步骤311处,处理器1可以向处理器2传输指示相关数据传送已完成的写发布消息。由于步骤311的写发布消息与消息完成相关,所以步骤311的写发布消息可以向处理器2的完成队列传输。在接收所有数据之后,在步骤313处,处理器2还可以向处理器1传输写发布完成消息。步骤313的消息可以指示所有数据均已被处理器2接收。由于步骤313的写发布消息与消息完成相关,所以步骤313的写发布消息可以向处理器1的完成队列传输。步骤313是可选的。步骤313被图示为图3中的虚线以指示步骤313的可选属性。
图4是只使用写发布消息写入数据的另一方法400的实施例的流程图。方法400可以由想要在远程处理器(例如,处理器2)中写入数据的本地处理器(例如,处理器1)实现,这两种处理器都大体上类似于参照方法300所论述的处理器。在步骤401处,写发布消息可以向远程处理器(例如,处理器2)处的接收队列传输。步骤401的消息可以指示移除数据以及待传送数据大小的意图。在步骤403处,写发布消息可以从远程处理器接收。步骤403的写发布消息可以包括目的地址的SGL并且可以置于传输队列中。在步骤405处,写发布消息和/或DMA可以用于向SGL中指示的远程内存位置传输数据。在步骤407处,写发布消息可以向远程处理器处的完成队列传输。步骤407的消息可以指示数据传送完成。在步骤409处,写发布消息可以在完成队列处接收。步骤409的写发布消息可以指示数据已经在步骤403处接收到的SGL中指定的远程内存位置处完全接收。
图5是当数据大小已知时只使用写发布信息读取数据的方法500的实施例的协议图。方法500可以由想要从远程处理器(例如,处理器2)读取数据的本地处理器(例如,处理器1)实现,这两种远程处理器都大体上类似于参照方法300和/或400所论述的处理器。在步骤505处,处理器1可能已经知道待请求的数据的大小。处理器1可能由于先前接收到的消息知道数据大小,这个消息可以基于其它协议,因为发起请求的相关进程已指示数据大小等。处理器1可以基于处理器对待请求数据的大小的先前知识以类似于步骤303的方式分配相关内存和/或固定页面。在步骤507处,处理器1可以以类似于步骤305的方式创建数据的目的地址列表。在步骤509处,处理器1可以向处理器2传输写发布消息。步骤509的写发布消息可以包括读取数据的请求、待读取数据的指示,以及在步骤507处创建的目的地址列表。由于步骤509的写发布消息可以向处理器2的TX队列传输。在步骤511处,处理器2可以通过DMA向目的地址列表中的目的地址传输所请求的数据。在步骤513处,处理器2可以以类似于步骤311的方式传输指示传送完成的写发布消息。步骤513的写发布消息可以向处理器1的完成队列传输。可选地,处理器1可以在步骤515处以类似于步骤313的方式向处理器2的完成队列传输完成写发布消息。
图6是当数据大小未知时只使用写发布消息读取数据的方法的实施例的协议图。方法600可以由想要从远程处理器(例如,处理器2)中读取数据的本地处理器(例如,处理器1)实现,这两种处理器都大体上类似于参照方法300、400和/或500所论述的处理器。方法600可以大体上类似于方法500,但是在处理器1不知道待请求数据的大小时实施。在步骤601处,处理器1可以传输指示从处理器2中读取数据的意图并且标识待读取数据的写发布消息。由于步骤601的写发布消息可能与处理器2的传输相关,所以步骤601的写发布消息可以路由到处理器2的TX队列。一旦步骤601的消息到达TX队列的前方,处理器2可以前进至步骤603并且向处理器1传输指示待读取数据的大小的写发布消息。由于步骤603的写发布消息可能与处理器1将接收的数据相关,所以步骤603的消息可以转发给处理器1的RX队列。一旦步骤603的消息到达RX队列的前方,处理器1可以前进至步骤605。步骤605、607、609、611、613和615可以大体上类似于步骤505、507、509、511、513和515。
图7是只使用写发布消息读取数据的方法700的另一实施例的协议图。方法700可以由想要从远程处理器(例如,处理器2)中读取数据的本地处理器(例如,处理器1)实现,这两种处理器都大体上类似于参照方法300、400、500和/或600所论述的处理器。在步骤701处,方法700可以确定待读取数据的大小是否已知。如果数据大小已知,则方法700可以前进至步骤707;如果数据大小未知,则可以前进至步骤703。在步骤703处,写发布消息可以向远程处理器处的传输队列传输。步骤703的消息可以指示读取数据的意图并请求关于相关数据大小的信息。在步骤705处,写发布消息可以在接收队列处接收。步骤705的消息可以指示所请求数据的大小。方法700随后可以前进至步骤707。在步骤707处,内存可以被分配用于基于数据大小接收数据、相关页面可被固定,并且分配的内存地址的SGL可被创建。在步骤709处,包括目的地址的SGL的写发布消息可以向远程处理器的传输队列传输。在步骤711处,写发布消息可以在完成队列处接收并且可以指示数据传送完成。可选地,在步骤715处,写发布消息可以向远程处理器处的完成队列传输。步骤715的写发布消息可以指示数据已在目的地址处完全接收。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,每当公开具有下限Rl和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=R1+k*(Ru–R1),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、7%……70%、71%、72%……97%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字R定义的任何数字范围也是明确公开的。除非另有说明,否则术语“约”是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (20)

1.一种通过快捷外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)非透明桥(Non-TransparentBridge,NTB)传送数据的方法,其特征在于,包括:
通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息指示向所述远程处理器传送数据的意图;以及
响应于所述第一发布写消息而接收第二发布写消息,其中所述第二发布写消息指示所述数据的目的地址列表。
2.根据权利要求1所述的方法,其特征在于,还包括向从所述第二发布写消息目的地址列表中获得的目的地址传输第三发布写消息,其中所述第三发布写消息包括所述数据。
3.根据权利要求1所述的方法,其特征在于,还包括通过直接内存访问(DirectMemoryAccess,DMA)向从所述第二发布写消息目的地址列表中获得的目的地址传输所述数据。
4.根据权利要求1所述的方法,其特征在于,还包括向所述远程处理器传输第四发布写消息以指示所述数据的传送的完成。
5.根据权利要求1所述的方法,其特征在于,还包括从所述远程处理器接收指示所述数据的完全接收的第五发布写消息。
6.根据权利要求1所述的方法,其特征在于,所述数据在不使用任何非发布事务的情况下传送。
7.根据权利要求1所述的方法,其特征在于,所述数据只在所选的绕过所述NTB的请求方标识查找表(RequesterIdentifierLook-UpTable,R-LUT)的消息中传送。
8.根据权利要求7所述的方法,其特征在于,所述方法在本地处理器中实施,所述方法支持通过所述NTB在所述本地处理器以及32个或更多远程处理器之间的通信。
9.一种通过快捷外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)非透明桥(Non-TransparentBridge,NTB)传送数据的方法,其特征在于,包括:
通过所述NTB向远程处理器传输第一发布写消息,其中所述第一发布写消息包括读取数据的请求;以及
接收包括所述第一发布写消息所请求的至少一些所述数据的数据传送消息。
10.根据权利要求9所述的方法,其特征在于,所述第一发布写消息包括数据的目的地址,所述数据传送消息向所述目的地址寻址。
11.根据权利要求10所述的方法,其特征在于,还包括从所述远程处理器接收第二发布写消息,所述第二发布写消息指示与所述第一发布写消息的所述读请求关联的数据传送的完成。
12.根据权利要求11所述的方法,其特征在于,还包括向所述远程处理器传输第三发布写消息,所述第三发布写消息指示与所述第一发布写消息的所述读请求关联的数据的完全接收。
13.根据权利要求9所述的方法,其特征在于,所述第一发布写消息的所述读请求指示所请求数据的大小是未知的。
14.根据权利要求9所述的方法,其特征在于,还包括:
接收指示所请求数据的大小的第四发布写消息;以及
在接收所述数据传送消息之前,基于所述第四发布写消息分配接收所述数据的内存。
15.一种处理器,其特征在于,包括:
接收队列;
传输队列;以及
完成队列,其中所述处理器用于:
耦合到快捷外围组件互连高速(PeripheralComponentInterconnectExpress,PCIe)非透明桥(Non-TransparentBridge,NTB);以及
通过所述接收队列、所述传输队列、所述完成队列和所述PCIeNTB在不使用非发布消息的情况下读取来自多个远程处理器的数据并将数据写入所述多个远程处理器中。
16.根据权利要求15所述的处理器,其特征在于,所述处理器还用于:
接收发布写消息;以及
基于所述发布写消息的内容将所述发布写消息存储在所述接收队列、所述传输队列和所述完成队列中。
17.根据权利要求16所述的处理器,其特征在于,所述传输队列包括先入先出(FirstInFirstOut,FIFO)数据结构,指示传输数据的请求的发布写消息存储在所述传输队列中。
18.根据权利要求16所述的处理器,其特征在于,所述接收队列包括先入先出(FirstInFirstOut,FIFO)数据结构,引导所述处理器准备接收数据的发布写消息存储在所述接收队列中。
19.根据权利要求16所述的处理器,其特征在于,所述完成队列包括先入先出(FirstInFirstOut,FIFO)数据结构,指示数据传送已经完成的发布写消息存储在所述完成队列中。
20.根据权利要求15所述的处理器,其特征在于,通过所述接收队列、所述传输队列、所述完成队列从所述多个远程处理器中读取数据并将数据写入所述多个远程处理器中是在不采用远程直接数据存取(remotedirectmemoryaccess,RDMA)协议的情况下执行。
CN201480036846.9A 2013-07-22 2014-07-22 通过快捷外围组件互连高速(Peripheral Component Interconnect-Express,PCIe)进行的可扩展直接节点间通信的方法和装置 Active CN105556496B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361857036P 2013-07-22 2013-07-22
US61/857,036 2013-07-22
US14/089,377 2013-11-25
US14/089,377 US9910816B2 (en) 2013-07-22 2013-11-25 Scalable direct inter-node communication over peripheral component interconnect-express (PCIe)
PCT/CN2014/082724 WO2015010603A1 (en) 2013-07-22 2014-07-22 Scalable direct inter-node communication over peripheral component interconnect-express (pcie)

Publications (2)

Publication Number Publication Date
CN105556496A true CN105556496A (zh) 2016-05-04
CN105556496B CN105556496B (zh) 2018-12-04

Family

ID=52344553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480036846.9A Active CN105556496B (zh) 2013-07-22 2014-07-22 通过快捷外围组件互连高速(Peripheral Component Interconnect-Express,PCIe)进行的可扩展直接节点间通信的方法和装置

Country Status (7)

Country Link
US (2) US9910816B2 (zh)
EP (2) EP3025241B1 (zh)
CN (1) CN105556496B (zh)
ES (2) ES2720256T3 (zh)
HU (2) HUE035246T2 (zh)
RU (1) RU2637428C2 (zh)
WO (1) WO2015010603A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966387A (zh) * 2020-10-22 2020-11-20 苏州浪潮智能科技有限公司 一种ntb卡的固件升级方法、装置、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9250831B1 (en) * 2013-03-14 2016-02-02 Inphi Corporation Isolated shared memory architecture (iSMA)
US9910816B2 (en) 2013-07-22 2018-03-06 Futurewei Technologies, Inc. Scalable direct inter-node communication over peripheral component interconnect-express (PCIe)
US9806904B2 (en) * 2015-09-08 2017-10-31 Oracle International Corporation Ring controller for PCIe message handling
US20180165240A1 (en) * 2016-12-08 2018-06-14 Intel IP Corporation Interconnect network supporting multiple consistency mechanisms, multiple protocols, and multiple switching mechanisms
US10846126B2 (en) * 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
CN107329917A (zh) * 2017-06-26 2017-11-07 郑州云海信息技术有限公司 一种数据传输方法及装置
US10372638B2 (en) * 2017-10-20 2019-08-06 Hewlett Packard Enterprise Development Lp Interconnect agent
US11650849B2 (en) 2018-09-25 2023-05-16 International Business Machines Corporation Efficient component communication through accelerator switching in disaggregated datacenters
US10637733B2 (en) 2018-09-25 2020-04-28 International Business Machines Corporation Dynamic grouping and repurposing of general purpose links in disaggregated datacenters
US11182322B2 (en) 2018-09-25 2021-11-23 International Business Machines Corporation Efficient component communication through resource rewiring in disaggregated datacenters
US11012423B2 (en) 2018-09-25 2021-05-18 International Business Machines Corporation Maximizing resource utilization through efficient component communication in disaggregated datacenters
US10915493B2 (en) 2018-09-25 2021-02-09 International Business Machines Corporation Component building blocks and optimized compositions thereof in disaggregated datacenters
US10831698B2 (en) 2018-09-25 2020-11-10 International Business Machines Corporation Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters
US10671557B2 (en) 2018-09-25 2020-06-02 International Business Machines Corporation Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters
US10802988B2 (en) 2018-09-25 2020-10-13 International Business Machines Corporation Dynamic memory-based communication in disaggregated datacenters
US11163713B2 (en) 2018-09-25 2021-11-02 International Business Machines Corporation Efficient component communication through protocol switching in disaggregated datacenters
US20210294496A1 (en) * 2020-03-18 2021-09-23 Dell Products L.P. Data mirroring system
US11106607B1 (en) * 2020-03-31 2021-08-31 Dell Products L.P. NUMA-aware storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290605A (zh) * 2008-05-26 2008-10-22 华为技术有限公司 数据处理方法及通讯系统以及相关设备
CN102467479A (zh) * 2010-11-17 2012-05-23 英业达股份有限公司 主机间数据的传输方法
US20130010636A1 (en) * 2011-07-05 2013-01-10 Plx Technology, Inc. Three dimensional fat tree networks
US20130024595A1 (en) * 2010-12-28 2013-01-24 Plx Technology, Inc. Pci express switch with logical device capability

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US20070220499A1 (en) * 2003-07-23 2007-09-20 Silicon Laboratories Inc. USB tool stick with multiple processors
US7421532B2 (en) * 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
US7487284B2 (en) * 2006-07-28 2009-02-03 Intel Corporation Transaction flow and ordering for a packet processing engine, located within an input-output hub
US8161209B2 (en) 2008-03-31 2012-04-17 Advanced Micro Devices, Inc. Peer-to-peer special purpose processor architecture and method
CN101299757A (zh) 2008-05-23 2008-11-05 华为技术有限公司 一种数据共享方法及通讯系统以及相关设备
CN101639811B (zh) 2009-08-21 2012-09-05 成都市华为赛门铁克科技有限公司 数据写入的方法、控制器和多控制器系统
CN101710314B (zh) 2009-11-17 2013-02-27 中兴通讯股份有限公司 高速外围部件互连交换控制器及其实现方法
US20110238909A1 (en) 2010-03-29 2011-09-29 Pankaj Kumar Multicasting Write Requests To Multiple Storage Controllers
RU101225U1 (ru) 2010-09-06 2011-01-10 Открытое акционерное общество "Научно-конструкторское бюро вычислительных систем" Вычислительно-интерфейсный модуль
US9552206B2 (en) * 2010-11-18 2017-01-24 Texas Instruments Incorporated Integrated circuit with control node circuitry and processing circuitry
US8521941B2 (en) 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
US9779020B2 (en) * 2011-02-08 2017-10-03 Diablo Technologies Inc. System and method for providing an address cache for memory map learning
US9405550B2 (en) * 2011-03-31 2016-08-02 International Business Machines Corporation Methods for the transmission of accelerator commands and corresponding command structure to remote hardware accelerator engines over an interconnect link
US8301832B1 (en) 2012-03-23 2012-10-30 DSSD, Inc. Storage system with guaranteed read latency
US10102170B2 (en) * 2012-05-18 2018-10-16 Dell Products, Lp System and method for providing input/output functionality by an I/O complex switch
WO2013171809A1 (en) * 2012-05-18 2013-11-21 Hitachi, Ltd. Computer system and control method thereof
US8880771B2 (en) * 2012-10-25 2014-11-04 Plx Technology, Inc. Method and apparatus for securing and segregating host to host messaging on PCIe fabric
US9164938B2 (en) * 2013-01-02 2015-10-20 Intel Corporation Method to integrate ARM ecosystem IPs into PCI-based interconnect
CN103117929B (zh) 2013-01-31 2015-12-23 中国科学院计算技术研究所 一种基于PCIe数据交换的通信方法及系统
US20140258577A1 (en) 2013-03-11 2014-09-11 Futurewei Technologies, Inc. Wire Level Virtualization Over PCI-Express
US9201837B2 (en) 2013-03-13 2015-12-01 Futurewei Technologies, Inc. Disaggregated server architecture for data centers
US9086966B2 (en) * 2013-03-15 2015-07-21 Intel Corporation Systems, apparatuses, and methods for handling timeouts
US9143369B2 (en) * 2013-03-15 2015-09-22 Intel Corporation Adaptive backchannel equalization
US9223365B2 (en) * 2013-03-16 2015-12-29 Intel Corporation Method and apparatus for controlled reset sequences without parallel fuses and PLL'S
US9910816B2 (en) 2013-07-22 2018-03-06 Futurewei Technologies, Inc. Scalable direct inter-node communication over peripheral component interconnect-express (PCIe)
US9395795B2 (en) * 2013-09-20 2016-07-19 Apple Inc. System power management using communication bus protocols
US9465760B2 (en) 2013-11-18 2016-10-11 Futurewei Technologies, Inc. Method and apparatus for delivering MSI-X interrupts through non-transparent bridges to computing resources in PCI-express clusters
US9223734B2 (en) * 2013-12-13 2015-12-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Switch with synthetic device capability
US9494998B2 (en) * 2013-12-17 2016-11-15 Intel Corporation Rescheduling workloads to enforce and maintain a duty cycle
US9454213B2 (en) * 2013-12-26 2016-09-27 Intel Corporation Method, apparatus, system for lane staggering and determinism for serial high speed I/O lanes
US9418013B2 (en) * 2014-06-30 2016-08-16 Intel Corporation Selective prefetching for a sectored cache

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290605A (zh) * 2008-05-26 2008-10-22 华为技术有限公司 数据处理方法及通讯系统以及相关设备
CN102467479A (zh) * 2010-11-17 2012-05-23 英业达股份有限公司 主机间数据的传输方法
US20130024595A1 (en) * 2010-12-28 2013-01-24 Plx Technology, Inc. Pci express switch with logical device capability
US20130010636A1 (en) * 2011-07-05 2013-01-10 Plx Technology, Inc. Three dimensional fat tree networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966387A (zh) * 2020-10-22 2020-11-20 苏州浪潮智能科技有限公司 一种ntb卡的固件升级方法、装置、设备及存储介质
CN111966387B (zh) * 2020-10-22 2021-03-12 苏州浪潮智能科技有限公司 一种ntb卡的固件升级方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20180157614A1 (en) 2018-06-07
ES2720256T3 (es) 2019-07-19
HUE043242T2 (hu) 2019-08-28
RU2016105513A (ru) 2017-08-29
ES2645486T3 (es) 2017-12-05
EP3267322A1 (en) 2018-01-10
RU2637428C2 (ru) 2017-12-04
US20150026380A1 (en) 2015-01-22
CN105556496B (zh) 2018-12-04
WO2015010603A1 (en) 2015-01-29
EP3025241A1 (en) 2016-06-01
US9910816B2 (en) 2018-03-06
EP3025241A4 (en) 2016-12-14
EP3267322B1 (en) 2019-01-23
EP3025241B1 (en) 2017-09-13
HUE035246T2 (hu) 2018-05-02
US11036669B2 (en) 2021-06-15

Similar Documents

Publication Publication Date Title
CN105556496A (zh) 通过快捷外围组件互连高速进行的可扩展直接节点间通信
CN109561171B (zh) 虚拟私有云服务的配置方法和装置
CN104750559B (zh) 跨多节点的存储器资源的池化
JP2022522368A (ja) モバイルエッジコンピューティングノードの選択方法、装置及びシステム
CN103117947B (zh) 一种负载分担方法及装置
CN105939335A (zh) 发布-订阅数据处理环境中管理通道所有权的方法和系统
CN110313163A (zh) 分布式计算系统中的负载平衡
CN102523302B (zh) 虚拟机集群的负载均衡方法、服务器及系统
CN107690622A (zh) 实现硬件加速处理的方法、设备和系统
CN108780410A (zh) 计算系统中的容器的网络虚拟化
CN106201356A (zh) 一种基于链路可用带宽状态的动态数据调度方法
US11726938B2 (en) Communications for field programmable gate array device
CN109525684A (zh) 报文转发方法和装置
JP2022075546A (ja) 共用企業クラウド・システム、方法、コンピューティング・デバイス
CN104571934B (zh) 一种内存访问的方法、设备和系统
CN105704098B (zh) 一种虚拟化网络的数据传输方法,节点控制器及系统
CN104125292A (zh) 一种数据处理装置、云服务器及其使用方法
CN105491082A (zh) 远程资源访问方法和交换设备
CN104363269B (zh) 一种通过fc链路传输、接收nas数据的方法及装置
CN109739800A (zh) 节点控制器的调度系统及fpga板卡
US11409565B2 (en) Methods, computing unit and memory pool for enabling usage of remote memory resources
CN107124411B (zh) 经典网络环境下的虚拟私有云实现方法、装置、以及系统
CN104049915A (zh) 一种存储系统及通信方法
US11917041B1 (en) Symmetric communication for asymmetric environments
CN104283945A (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
GR01 Patent grant
GR01 Patent grant