CN107249008B - 一种远端数据直接存取的通道互联装置及方法 - Google Patents
一种远端数据直接存取的通道互联装置及方法 Download PDFInfo
- Publication number
- CN107249008B CN107249008B CN201710629048.2A CN201710629048A CN107249008B CN 107249008 B CN107249008 B CN 107249008B CN 201710629048 A CN201710629048 A CN 201710629048A CN 107249008 B CN107249008 B CN 107249008B
- Authority
- CN
- China
- Prior art keywords
- message
- cpu
- upi
- module
- protocol
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 239000003795 chemical substances by application Substances 0.000 claims description 60
- 230000004044 response Effects 0.000 claims description 42
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- 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/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
一种远端数据直接存取的通道互联装置,用于以UPI报文形式,向远端收发命令和数据;包括超级通道互联转换装置和本地RDMA协议端口;所述超级通道互联转换装置包括UPI接口模块、CPU代理模块、UPI协议和RDMA协议转换模块、RDMA报文缓存模块;还包括一种远端数据直接存取的通道互联方法。本发明的一个实施例实现了本地与远端服务器系统的应用内存数据交换与拷贝。具有传输速度快,实现灵活的优点。
Description
技术领域
本发明涉及数据存取技术领域,具体地说是一种远端数据直接存取的通道互联装置及方法。
背景技术
在构建多路服务器过程中,为了获取远端数据,减少中间环节和CPU操作系统总线的参与,提高系统性能,远端数据直接存取(RDMA)方法应运而生。
UPI总线是Intel新一代的互连总线,具备较高的传输速度和最高近百GB的吞吐率。
如何结合RDMA总线和UPI总线的处理能力,使得本地CPU快速获得远端数据是急需解决的问题。
发明内容
本发明的目的在于一种远端数据直接存取的通道互联装置及方法,用于解决本地CPU如何快速获得远端数据的问题。
本发明解决其技术问题所采取的技术方案是:一种远端数据直接存取的通道互联装置,用于以UPI报文形式,向远端收发命令和数据;包括超级通道互联转换装置和本地RDMA协议端口;所述超级通道互联转换装置包括UPI接口模块、CPU代理模块、UPI协议和RDMA协议转换模块、RDMA报文缓存模块;所述UPI接口模块的一端与UPI总线相连,UPI接口模块的另一端与CPU代理模块的一端相连,CPU代理模块的另一端与UPI协议和RDMA协议转换模块的一端相连,UPI协议和RDMA协议转换模块的另一端与RDMA报文缓存模块的一端相连,RDMA报文缓存模块的另一端与本地RDMA协议端口相连,本地RDMA协议端口通过外部RDMA协议端口与远端相连。
进一步地,所述的CPU代理模块用于协议处理,包括CPU上行代理模块和CPU下行代理模块;所述CPU上行代理模块负责对于远端读写操作请求的处理,所述CPU下行代理模块负责对于本地CPU发起的读写配置命令请求的处理。
进一步地,所述的UPI协议和RDMA协议转换模块用于负责两种协议报文的类型和封装形式的转换;所述两种协议报文为:UPI报文和RDMA报文;所述RDMA报文缓存模块用于缓存本地RDMA端口的接收和待发送报文。
进一步地,任意相互连接的两个模块之间均采用信用流控机制,设定信用值。
进一步地,还包括表项记录表,用于记录CPU上行代理模块和CPU下行代理模块的配置命令中响应报文可用的内存空间起始地址、请求报文消息ID号、报文的特征信息。
一种远端数据直接存取的通道互联方法,利用所述的装置,包括以下步骤:
本地CPU通过UPI接口模块发起非一致性拷贝远端数据读请求命令到UPI接口模块;
UPI接口模块将接收到的报文调度至CPU下行代理模块进行解包处理,CPU下行代理模块发送至UPI协议与RDMA协议转换模块;UPI协议与RDMA协议转换模块将接收到的信息转换为符合RDMA协议的消息报文;
UPI协议与RDMA协议转换模块通过本地RDMA协议端口将符合RDMA协议的消息报文发送至远端;
远端通过UPI协议与RDMA协议转换模块将响应报文返回需要拷贝的远端数据所需用的地址空间至CPU上行代理模块;
CPU上行代理模块查询响应报文的特征信息,记录响应报文的容量信息,并产生新的符合UPI协议的响应报文并发送至UPI接口模块;
CPU收到UPI接口模块的响应报文后,在CPU内部分配地址空间,并将该响应报文以UPI报文的形式发送至UPI接口模块;
CPU下行代理模块将接收远端数据的消息报文发送至UPI协议与RDMA协议转换模块,将本地CPU配置命令响应报文发送至UPI接口模块,远端RDMA接口模块收到许可传送数据信息的消息,开始向本地RDMA接口发送数据信息;
远端RDMA端口的数据信息通过UPI协议与RDMA协议转换模块,发送至CPU上行模块;
CPU上行代理模块插入每笔数据需要发往的目的地址,并生成UPI报文,写入CPU本地内存,直至所有远端数据拷贝完成。
进一步地,在CPU下行代理模块将报文发送至UPI协议与RDMA协议转换模块的同时,还需要将报文中的特征信息写入表项记录表中,并为该请求报文分配消息ID;
所述CPU上行代理模块查询响应报文的特征信息、记录响应报文的容量信息、产生新的符合UPI协议的响应报文是根据响应报文的消息ID;
CPU下行代理模块将本地CPU配置命令响应报文发送至UPI接口模块的同时,还在表项记录表中记录CPU地址空间的起始地址信息;
CPU上行代理模块插入每笔数据需要发往的目的地址需按照表项记录表中的起始地址信息和容量信息。
进一步地,为请求报文分配消息ID具体为:报文的消息ID与存储报文特征信息的存储区的ID相同。
进一步地,CPU下行代理模块进行解包处理的方式由Intel UPI报文规则确定,具体包括:将报文解包为报文头信息和数据信息;所述的报文头信息包括但不限于报文命令类型、操作码、地址、源ID、目的ID、传输ID、校验码;所述特征信息为具有区别特征点的报文头信息。
进一步地,在远端数据拷贝完成后还可以包括CPU上行代理模块清除表项记录表中的表项信息,产生一笔完成报文并通知CPU,该笔报文是向某个约定的CPU地址发送写完成标志。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
通过利用CPU的UPI超级互联通道的高速传输能力,直接以UPI报文形式,向远端收发命令和数据,经过UPI协议和RDMA协议转换模块和远端数据直接存取RDMA协议,实现了本地与远端服务器系统的应用内存数据交换与拷贝。具有传输速度快,实现灵活的优点。
附图说明
图1为本发明实施例的模块连接示意图;
图2为本发明实施例的方法流程示意图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
本发明可适用于各种类型的CPU,如:X86架构的CPU。
一种远端数据直接存取的通道互联装置,用于以UPI报文形式,向远端收发命令和数据。
本地CPU存放远端的数据的地址空间,需要设置在本地CPU内部,也就是远端来的数据最终的目的存储地址都在本地CPU内存内部。
如图1所示,包括超级通道互联转换装置和本地RDMA协议端口;超级通道互联转换装置包括UPI接口模块、CPU代理模块、UPI协议和RDMA协议转换模块、RDMA报文缓存模块;UPI接口模块的一端与UPI总线相连,UPI接口模块的另一端与CPU代理模块的一端相连,CPU代理模块的另一端与UPI协议和RDMA协议转换模块的一端相连,UPI协议和RDMA协议转换模块的另一端与RDMA报文缓存模块的一端相连,RDMA报文缓存模块的另一端与本地RDMA协议端口相连,本地RDMA协议端口通过外部RDMA协议端口与远端相连。
CPU代理模块用于协议处理,包括CPU上行代理模块和CPU下行代理模块;CPU上行代理模块负责对于远端读写操作请求的处理,CPU下行代理模块负责对于本地CPU发起的读写配置命令请求的处理。
UPI协议和RDMA协议转换模块用于负责两种协议报文的类型和封装形式的转换;两种协议报文为:UPI报文和RDMA报文。转换识别处理速度需要匹配RDMA接口和UPI接口的吞吐率,也可以通过设置缓存和基于信用控制的流控机制的方式做到速率平衡匹配。
RDMA报文缓存模块用于缓存本地RDMA端口的接收和待发送报文。
任意相互连接的两个模块之间均采用信用流控机制,设定信用值,可以防止中间过程的报文溢出丢失。
本发明的装置实施例还可以包括表项记录表,用于记录CPU上行代理模块和CPU下行代理模块的配置命令中响应报文可用的内存空间起始地址、请求报文消息ID号、报文的特征信息。
表项记录表实为存储装置,也可以用存储器替代。
如图2所示,一种远端数据直接存取的通道互联方法,包括以下步骤:
本地CPU通过UPI接口模块发起非一致性拷贝远端数据读请求命令到UPI接口模块;
UPI接口模块将接收到的报文调度至CPU下行代理模块进行解包处理,CPU下行代理模块发送至UPI协议与RDMA协议转换模块;UPI协议与RDMA协议转换模块将接收到的信息转换为符合RDMA协议的消息报文;
UPI协议与RDMA协议转换模块通过本地RDMA协议端口将符合RDMA协议的消息报文发送至远端;
远端通过UPI协议与RDMA协议转换模块将响应报文返回需要拷贝的远端数据所需用的地址空间至CPU上行代理模块;
CPU上行代理模块查询响应报文的特征信息,记录响应报文的容量信息,并产生新的符合UPI协议的响应报文并发送至UPI接口模块;
CPU收到UPI接口模块的响应报文后,在CPU内部分配地址空间,并将该响应报文以UPI报文的形式发送至UPI接口模块;
CPU下行代理模块将接收远端数据的消息报文发送至UPI协议与RDMA协议转换模块,将本地CPU配置命令响应报文发送至UPI接口模块,远端RDMA接口模块收到许可传送数据信息的消息,开始向本地RDMA接口发送数据信息;
远端RDMA端口的数据信息通过UPI协议与RDMA协议转换模块,发送至CPU上行模块;
CPU上行代理模块插入每笔数据需要发往的目的地址,并生成UPI报文,写入CPU本地内存,直至所有远端数据拷贝完成。
在CPU下行代理模块将报文发送至UPI协议与RDMA协议转换模块的同时,还需要将报文中的特征信息写入表项记录表中,并为该请求报文分配消息ID。
CPU下行代理模块进行解包处理的方式由Intel UPI报文规则确定,具体包括:将报文解包为报文头信息和数据信息;报文头信息包括但不限于报文命令类型、操作码、地址、源ID、目的ID、传输ID、校验码;特征信息为具有区别特征点的报文头信息。
为请求报文分配消息ID具体为:报文的消息ID与存储报文特征信息的存储区的ID相同。
CPU上行代理模块查询响应报文的特征信息、记录响应报文的容量信息、产生新的符合UPI协议的响应报文是根据响应报文的消息ID;
CPU下行代理模块将本地CPU配置命令响应报文发送至UPI接口模块的同时,还在表项记录表中记录CPU地址空间的起始地址信息;
CPU上行代理模块插入每笔数据需要发往的目的地址需按照表项记录表中的起始地址信息和容量信息。
当远端数据拷贝全部完成时,CPU上行代理模块需要清除表项信息,并产生一笔完成报文通知CPU,该笔报文可以是向某个约定的CPU地址发送写完成标志。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (2)
1.一种远端数据直接存取的通道互联装置,其特征是,用于以UPI报文形式,向远端收发命令和数据;包括超级通道互联转换装置和本地RDMA协议端口;所述超级通道互联转换装置包括UPI接口模块、CPU代理模块、UPI协议和RDMA协议转换模块、RDMA报文缓存模块;所述UPI接口模块的一端与UPI总线相连,UPI接口模块的另一端与CPU代理模块的一端相连,CPU代理模块的另一端与UPI协议和RDMA协议转换模块的一端相连,UPI协议和RDMA协议转换模块的另一端与RDMA报文缓存模块的一端相连,RDMA报文缓存模块的另一端与本地RDMA协议端口相连,本地RDMA协议端口通过外部RDMA协议端口与远端相连;
所述的CPU代理模块用于协议处理,包括CPU上行代理模块和CPU下行代理模块;所述CPU上行代理模块负责对于远端读写操作请求的处理,所述CPU下行代理模块负责对于本地CPU发起的读写配置命令请求的处理;
所述的UPI协议和RDMA协议转换模块用于负责两种协议报文的类型和封装形式的转换;所述两种协议报文为:UPI报文和RDMA报文;所述RDMA报文缓存模块用于缓存本地RDMA端口的接收和待发送报文;
任意相互连接的两个模块之间均采用信用流控机制,设定信用值;
还包括表项记录表,用于记录CPU上行代理模块和CPU下行代理模块的配置命令中响应报文可用的内存空间起始地址、请求报文消息ID号、报文的特征信息。
2.一种远端数据直接存取的通道互联方法,利用权利要求1所述的装置,其特征是,包括以下步骤:
本地CPU通过UPI接口模块发起非一致性拷贝远端数据读请求命令到UPI接口模块;
UPI接口模块将接收到的报文调度至CPU下行代理模块进行解包处理,CPU下行代理模块发送至UPI协议与RDMA协议转换模块;
UPI协议与RDMA协议转换模块将接收到的信息转换为符合RDMA协议的消息报文;
UPI协议与RDMA协议转换模块通过本地RDMA协议端口将符合RDMA协议的消息报文发送至远端;
远端通过UPI协议与RDMA协议转换模块将响应报文返回需要拷贝的远端数据所需用的地址空间至CPU上行代理模块;
CPU上行代理模块查询响应报文的特征信息,记录响应报文的容量信息,并产生新的符合UPI协议的响应报文并发送至UPI接口模块;
CPU收到UPI接口模块的响应报文后,在CPU内部分配地址空间,并将该响应报文以UPI报文的形式发送至UPI接口模块;
CPU下行代理模块将接收远端数据的消息报文发送至UPI协议与RDMA协议转换模块,将本地CPU配置命令响应报文发送至UPI接口模块,远端RDMA接口模块收到许可传送数据信息的消息,开始向本地RDMA接口发送数据信息;
远端RDMA端口的数据信息通过UPI协议与RDMA协议转换模块,发送至CPU上行模块;
CPU上行代理模块插入每笔数据需要发往的目的地址,并生成UPI报文,写入CPU本地内存,直至所有远端数据拷贝完成;
在CPU下行代理模块将报文发送至UPI协议与RDMA协议转换模块的同时,还需要将报文中的特征信息写入表项记录表中,并为该请求报文分配消息ID;
所述CPU上行代理模块查询响应报文的特征信息、记录响应报文的容量信息、产生新的符合UPI协议的响应报文是根据响应报文的消息ID;
CPU下行代理模块将本地CPU配置命令响应报文发送至UPI接口模块的同时,还在表项记录表中记录CPU地址空间的起始地址信息;
CPU上行代理模块插入每笔数据需要发往的目的地址需按照表项记录表中的起始地址信息和容量信息;
为请求报文分配消息ID具体为:报文的消息ID与存储报文特征信息的存储区的ID相同;
CPU下行代理模块进行解包处理的方式由Intel UPI报文规则确定,具体包括:将报文解包为报文头信息和数据信息;所述的报文头信息包括但不限于报文命令类型、操作码、地址、源ID、目的ID、传输ID、校验码;所述特征信息为具有区别特征点的报文头信息;
在远端数据拷贝完成后还可以包括CPU上行代理模块清除表项记录表中的表项信息,产生一笔完成报文并通知CPU,该笔报文是向某个约定的CPU地址发送写完成标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710629048.2A CN107249008B (zh) | 2017-07-28 | 2017-07-28 | 一种远端数据直接存取的通道互联装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710629048.2A CN107249008B (zh) | 2017-07-28 | 2017-07-28 | 一种远端数据直接存取的通道互联装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107249008A CN107249008A (zh) | 2017-10-13 |
CN107249008B true CN107249008B (zh) | 2020-09-22 |
Family
ID=60011997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710629048.2A Active CN107249008B (zh) | 2017-07-28 | 2017-07-28 | 一种远端数据直接存取的通道互联装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107249008B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756464B (zh) * | 2017-11-07 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 一种通信方法及服务器、客户端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045729A (zh) * | 2015-09-08 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种远端代理带目录的缓存一致性处理方法与系统 |
CN105450588A (zh) * | 2014-07-31 | 2016-03-30 | 华为技术有限公司 | 一种基于rdma的数据传输方法及rdma网卡 |
CN105721622A (zh) * | 2016-01-21 | 2016-06-29 | 重庆邮电大学 | 一种实现6LoWPAN与IPv4网络互联的方法与装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
-
2017
- 2017-07-28 CN CN201710629048.2A patent/CN107249008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450588A (zh) * | 2014-07-31 | 2016-03-30 | 华为技术有限公司 | 一种基于rdma的数据传输方法及rdma网卡 |
CN105045729A (zh) * | 2015-09-08 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种远端代理带目录的缓存一致性处理方法与系统 |
CN105721622A (zh) * | 2016-01-21 | 2016-06-29 | 重庆邮电大学 | 一种实现6LoWPAN与IPv4网络互联的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107249008A (zh) | 2017-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7606933B2 (en) | Shared memory and high performance communication using interconnect tunneling | |
CN108701004A (zh) | 一种数据处理的系统、方法及对应装置 | |
JP2024099640A (ja) | 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間 | |
US20040151170A1 (en) | Management of received data within host device using linked lists | |
WO2004061684A2 (en) | Using direct memory access for performing database operations between two or more machines | |
CN109117386B (zh) | 一种网络远程读写二级存储的系统及方法 | |
US20070189299A1 (en) | Receiving data from virtual channels | |
WO2021068978A1 (zh) | 多处理器通信方法及装置 | |
US8250260B2 (en) | Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system | |
US7460531B2 (en) | Method, system, and program for constructing a packet | |
US20200293318A1 (en) | Buffer Allocation with Memory-based Configuration | |
CN109478171A (zh) | 提高openfabrics环境中的吞吐量 | |
CN107249008B (zh) | 一种远端数据直接存取的通道互联装置及方法 | |
US20170024146A1 (en) | Memory controller, information processing device, and control method | |
US20150199298A1 (en) | Storage and network interface memory share | |
CN116795763B (zh) | 基于axi协议的数据分组传输的方法、片上系统和芯片 | |
CN116185499B (zh) | 寄存器数据传输方法、寄存器缓存模块、智能设备和介质 | |
CN110399323B (zh) | 一种基于srio的高速信息通道 | |
CN109213710B (zh) | 高速串行接口装置与其数据传输方法 | |
US11003616B1 (en) | Data transfer using point-to-point interconnect | |
US20040151175A1 (en) | Transparent data format within host device supporting differing transaction types | |
EP3926482A1 (en) | System and method for performing transaction aggregation in a network-on-chip (noc) | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN103995786B (zh) | 高速缓存一致性消息的传输方法和装置 | |
CN102523168A (zh) | 一种传输报文的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200825 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |