一种数据访问系统、方法及相关设备技术方案

技术编号:37146868 阅读:22 留言:0更新日期:2023-04-06 21:59
本申请提供了一种数据访问系统、方法及相关设备,该系统包括第一节点和第二节点,第一节点与第二节点通过线缆连接,第一节点用于生成数据访问请求,其中,数据访问请求用于请求第二节点的内存中的数据,第一节点用于通过线缆发送数据访问请求至第二节点,第二节点用于将数据访问请求中的第一目的地址转换为第一目的地址对应的本地物理地址,并根据本地物理地址访问第二节点的内存中的数据,该系统无需等待网卡队列单元的准备时间,使得第一节点访问第二节点内存的效率高、时延低,提高第一节点数据处理的效率。点数据处理的效率。点数据处理的效率。

【技术实现步骤摘要】
一种数据访问系统、方法及相关设备


[0001]本申请涉及存储领域,尤其涉及一种数据访问系统、方法及相关设备。

技术介绍

[0002]随着科学技术的不断发展,信息爆炸时代产生的海量数据已经渗透到当今每一个行业和业务职能领域,大数据(big data)和人工智能(artificial intelligence,AI)领域也随之得到了发展,成为两个非常热门的研究方向。
[0003]计算节点在执行数据处理时(例如:大数据或者AI任务),常需要较大的内存容量来存储数据,通常情况下,可将数据分布式地放在多台存储节点的内存中,计算节点可通过远程直接内存访问(remote direct memory access,RDMA)协议读取存储节点内存中的数据,实现内存容量的扩展。
[0004]但是,RDMA协议下,计算节点与存储节点之间的通信通过网卡实现,二者的网卡之间通过网卡队列进行数据传输,使得计算节点每次读取数据都需要将数据读取请求放入网卡队列,导致数据读取过程消耗大量时间在队列单元的准备上,甚至一些情况下,队列单元的准备时间相比数据传输的时间更长,导致计算节点数据访问效率低,网络延迟高,影响大数据或者AI任务的处理效率。

技术实现思路

[0005]本申请提供了一种数据访问系统、方法及相关设备,用于解决计算节点访问存储节点内存时的访问效率低、网络延迟高的问题。
[0006]第一方面,提供了一种数据访问系统,该数据访问系统包括第一节点和第二节点,第一节点与第二节点通过线缆连接;第一节点用于生成数据访问请求,其中,数据访问请求用于请求第二节点的内存中的数据;第一节点用于通过线缆发送数据访问请求至第二节点;第二节点用于将数据访问请求中的第一目的地址转换为第一目的地址对应的本地物理地址,并根据本地物理地址访问第二节点的内存中的数据。
[0007]实施第一方面描述的系统,第一节点和第二节点通过线缆连接,二者之间的通信交互无需通过网卡或路由设备,使得第一节点访问第二节点内存时无需额外等待网卡队列单元的准备时间,从而提高第一节点访问第二节点内存的效率,降低访问时延。
[0008]在一可能的实现方式中,第一节点包括计算芯片和互联芯片,其中,互联芯片的第一高速互联端口与第二节点中的处理器的第二高速互联端口通过线缆连接,计算芯片通过端口与互联芯片相连,计算芯片用于生成数据访问请求,并将数据访问请求发送至互联芯片,互联芯片用于通过线缆发送数据访问请求至第二节点。
[0009]计算芯片可以由至少一个通用处理器构成,例如CPU、NPU或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(Application

Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程逻辑门阵列
(Field

Programmable Gate Array,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。其中,第一节点内的计算芯片的数量可以是一个或者多个,本申请不作具体限定。
[0010]互联芯片可以是ASIC、PLD或其组合,上述PLD可以是CPLD、FPGA、GAL或其任意组合,本申请不作具体限定。其中,第一节点中互联芯片的数量可以是多个,本申请不作具体限定。互联芯片上设置有高速互联端口,互联芯片可通过高速互联端口与第二节点进行数据通信,互联芯片的第一高速互联端口与第二节点上的第二高速互联端口通过线缆连接,需要说明的,每个互联芯片上的第一高速互联端口的数量可以是一个或者多个,每个第一高速互联端口与第二节点上的第二高速互联端口呈一一对应关系。
[0011]高速互联端口可以是高速串行总线端口,比如SERDES总线端口,线缆可以是电缆、光纤、双绞线等可以传输数据的线缆,本申请不对线缆进行具体限定。其中,第一节点上高速互联端口的数量可以是一个或者多个,且第一节点上的第一高速互联端口与第二节点上的第二高速互联端口呈一一对应的关系。
[0012]计算芯片的端口可以是高速串行总线端口,比如SERDES总线端口,计算芯片可以通过总线与互联芯片相连,总线可以是外设部件互联标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等,计算芯片、互联芯片、计算芯片的端口和总线可以在加工时统一印制在电路板上。具体实现中,计算芯片的端口的数量可以是一个或者多个,本申请不对此进行限定。
[0013]实施上述实现方式,在第一节点中部署互联芯片,可以使得第一节点可以与更多的第二节点进行通信,互联芯片的数量越多,第一节点中可部署的高速互联端口的数量越多,使得与第一节点相连的第二节点数量越多,从而扩大第一节点的内存扩展能力,使得第一节点可以适用于更多的应用场景。
[0014]在另一可能的实现方式中,第一节点的计算芯片、互联芯片和第二节点之间的数据通信可通过地址译码器实现寻址功能。
[0015]可选地,计算芯片中包括第一地址译码器,计算芯片具体用于:生成数据访问请求,根据数据访问请求中的第一目的地址和第一地址译码器确定第一端口,通过第一端口向互联芯片发送数据访问请求,其中,第一地址译码器用于记录目的地址与计算芯片的端口之间的对应关系。
[0016]可选地,计算芯片中部署有第一地址译码器,计算芯片具体用于生成数据访问请求,根据数据访问请求中的第一目的地址和第一地址译码器确定第一端口,通过第一端口向互联芯片发送数据访问请求,其中,第一地址译码器可记录目的地址与计算芯片的端口之间的对应关系。
[0017]可选地,互联芯片中部署有第二地址译码器,互联芯片具体用于根据第一目的地址和第二地址译码器确定第一高速互联端口,通过第一高速互联端口向第二节点发送数据访问请求,其中,第二地址译码器用于记录目的地址与高速互联端口之间的对应关系。
[0018]可选地,第二节点中部署有第三地址译码器,第二节点具体用于根据第一目的地址和第三地址译码器,确定第一目的地址对应的本地物理地址,其中,第三地址译码器用于记录目的地址与本地物理地址之间的对应关系。其中,第三地址译码器记录的对应关系可
以是:本地物理地址=目的地址

基地址,其中,基地址指的是一个地址段的起始地址,又称为首地址或者段地址,属于同一个地址段的目的地址的基地址相同。
[0019]可选地,该数据访问系统还可包括配置节点,配置节点可以对第一地址译码器、第二地址译码器以及第三地址译码器进行配置。具体地,配置节点用于向第二节点获取第二节点的内存的至少一个本地物理地址,配置节点用于根据至少一个本地物理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问系统,其特征在于,所述数据访问系统包括第一节点和第二节点,所述第一节点与所述第二节点通过线缆连接;所述第一节点用于生成数据访问请求,其中,所述数据访问请求用于请求所述第二节点的内存中的数据;所述第一节点用于通过所述线缆发送所述数据访问请求至所述第二节点;所述第二节点用于将所述数据访问请求中的第一目的地址转换为所述第一目的地址对应的本地物理地址,并根据所述本地物理地址访问所述第二节点的内存中的所述数据。2.根据权利要求1所述的系统,其特征在于,所述第一节点包括计算芯片和互联芯片,其中,所述互联芯片的第一高速互联端口与所述第二节点中的处理器的第二高速互联端口通过所述线缆连接;所述计算芯片用于生成所述数据访问请求,并将所述数据访问请求发送至所述互联芯片;所述互联芯片用于通过所述线缆发送所述数据访问请求至所述第二节点。3.根据权利要求2所述的系统,其特征在于,所述计算芯片通过端口与所述互联芯片相连,所述计算芯片中包括第一地址译码器;所述计算芯片具体用于:生成所述数据访问请求,根据所述数据访问请求中的第一目的地址和所述第一地址译码器确定所述第一端口,通过所述第一端口向所述互联芯片发送所述数据访问请求,其中,所述第一地址译码器用于记录目的地址与所述计算芯片的端口之间的对应关系。4.根据权利要求3所述的系统,其特征在于,所述互联芯片中包括第二地址译码器,所述互联芯片具体用于:根据所述第一目的地址和所述第二地址译码器确定所述第一高速互联端口,通过所述第一高速互联端口向所述第二节点发送所述数据访问请求,其中,所述第二地址译码器用于记录目的地址与高速互联端口之间的对应关系。5.根据权利要求4所述的系统,其特征在于,所述第二节点包括第三地址译码器;所述第二节点具体用于:根据所述第一目的地址和所述第三地址译码器,确定所述第一目的地址对应的本地物理地址,其中,所述第三地址译码器用于记录目的地址和本地物理地址之间的对应关系。6.根据权利要求5所述的系统,其特征在于,所述数据访问系统还包括配置节点,所述配置节点用于向第二节点获取第二节点的内存的至少一个本地物理地址;所述配置节点用于根据所述至少一个本地物理地址确定对应的至少一个目的地址,对所述第三地址译码器进行配置;所述配置节点还用于根据所述至少一个目的地址,结合所述第二节点与所述互联芯片之间的所述高速互联端口,对所述第二地址译码器进行配置;所述配置节点还用于根据所述至少一个目的地址,结合所述互联芯片与所述计算芯片之间的芯片端口,对所述第一地址译码器进行配置。7.根据权利要求4至6任一权利要求所述的系统,其特征在于,所述计算芯片具体用于:将所述第一地址译码器中记录的目的地址的基地址和长度与所述第一目的地址的基地址和长度进行匹配,确定匹配后的目的地址对应的所述第一端口;
所述互联芯片具体用于:将所述第二地址译码器中记录的目的地址的基地址和长度与所述第一目的地址的基地址和长度进行匹配,确定匹配后的目的地址对应的所述第一高速互联端口。8.根据权利要求4至6任一权利要求所述的系统,其特征在于,所述计算芯片具体用于:将所述第一地址译码器中记录的目的地址的高位地址与所述第一目的地址的高位地址进行匹配,确定匹配后的目的地址对应的所述第一端口,其中,所述高位地址的位数是根据所述第二节点的内存大小确定的;所述互联芯片具体用于:将所述第二地址译码器中记录的目的地址的高位地址与所述第一目的地址的高位地址进行匹配,确定匹配后的目的地址对应的所述第一高速互联端口。9.根据权利要求2至8任一权利要求所述的系统,其特征在于,所述第一高速互联端口和所述第二高速互联端口为高速串行总线端口,所述第一端口为高速串行总线端口。10.一种数据访问方法,其特征在于,所述方法应用于数据访问系统,所述数据访问系统包括第一节点和第二节点,所述第一节点与所述第二节点通过线缆连接,所述方法包括:所述第一节点生成数据访问请求,其中,所述数据访问请求用于请求所述第二节点的内存中的数据;所述第一节点通过所述线缆发送所述数据访问请求至所述第二节点;所述第二节点将所述数据访问请求中的第一目的地址转换为所述第一目的地址对应的本地物理地址,并根据所述本地物理地址访问所述第二节点的内存中的所述数据。11.根据权利要求10所述的方法,其特征在于,所述第一节点包括计算芯片和互联芯片,其中,所述互联芯片的第一高速互联端口与所述第二节点中的处理器的第二高速互联端口通过线缆连接;所述第一节点生成数据访问请求包括:所述计算芯片生成所述数据访问请求,并将所述数据访问请求发送至所述互联芯片;所述第一节点通过所述线缆发送所述数据访问请求...

【专利技术属性】
技术研发人员:陈天翔黄江乐胡天驰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1