一种基于FPGA的RoCE网卡数据传输方法及网卡技术

技术编号:19751393 阅读:89 留言:0更新日期:2018-12-12 05:47
本发明专利技术公开了一种基于FPGA的RoCE网卡数据传输方法、RoCE网卡及内存系统,由于本方案中的这种基于FPGA的RoCE网卡,具有QPI接口,便可通过该接口获取本地CPU发送的QPI协议的信息,转换为IB协议的信息之后便可直接发送至远地RoCE网卡;同样的,接收到远地RoCE网卡发送的IB协议的信息之后便直接转换为QPI协议的信息,并发送至本地CPU,从而使得RoCE网卡和CPU之间的传输延时大大缩短,提升传输效率。

【技术实现步骤摘要】
一种基于FPGA的RoCE网卡数据传输方法及网卡
本专利技术涉及,更具体地说,涉及一种基于FPGA的RoCE网卡数据传输方法、RoCE网卡及内存系统。
技术介绍
RDMA(RemoteDirectMemoryAccess,远程直接数据存取)是一种新的内存访问技术,允许在两台服务器的内存之间直接转移数据,而无需任何一台服务器的CPU参与,因此可实现更高效的通信。RDMA传输会避开系统内核的TCP/IP堆栈以及网卡驱动,直接将数据传送到目标服务器上的进程工作内存中。由于无需将数据在接收和发送服务器的内存中反复拷贝,并且将原本由软件实现的传输协议栈用网卡的硬件实现,大大降低了服务器的CPU、I/O工作负载,有效减少了数据通信延时。IBTA组织于2000年推出了InfiniBand网络协议,率先实现了对RDMA功能的支持。2010年IBTA组织在InfiniBand协议的基础上推出了初始的RoCE规范,即RDMAoverConvergedEthernet,可以利用现有的以太网实现RDMA功能。但它在链路层之上采用的仍旧是InfiniBand协议规范,无法通过基于IP的路由器进行路由,将该协议的应用范围限制在了单个子网内。随着虚拟化、云计算和分散式大数据存储库的发展,网络通信的带宽和延时瓶颈不再局限于单个子网络,而是扩展到整个数据中心。为了适应这一技术发展趋势,IBTA于2014年推出了增强版的RoCE规范,即RoCEv2。RoCEv2规范用IP报头和UDP报头替代了RoCEv1中的InfiniBand网络层。这样,就可以在基于IP的传统路由器之间路由RoCE报文,大大扩展了RoCE的应用规模。参见图1,为现有技术中的本地计算机与远地计算机数据传输示意图,从该图中可以看出,目前支持RoCE的网卡均采用PCIe接口接入内存系统,在网卡和主机通信时采用直接内存访问(LocalDMA)的方式。这种采用PCIe总线接口将网卡接入系统,报文需要从PCIe总线转换至其它前端总线类型,如Intel的QPI/UPI总线,转换后后才能进入内存系统,报文传输延时较大。因此,如何减少数据在本地CPU和网卡之间的传输延时,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于FPGA的RoCE网卡数据传输方法、RoCE网卡及内存系统,以实现减少数据在本地CPU和网卡之间的传输延时。为实现上述目的,本专利技术实施例提供了如下技术方案:一种基于FPGA的RoCE网卡数据传输方法,所述RoCE网卡具有QPI接口;所述数据传输方法包括:本地RoCE网卡将本地CPU发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。其中,在数据传输过程中,将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache中,本地RoCE网卡与远端RoCE网卡之间通过Cache一致性协议进行数据传输。其中,所述将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache,包括:判断本地计算机对本地Cache的访问频率是否大于远地计算机对远地Cache的访问频率;若是,则将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中;若否,则将本地内存数据及数据状态保存在远地RoCE网卡的远地Cache。一种基于FPGA的RoCE网卡,包括协议转换模块;所述协议转换模块,用于将本地CPU通过QPI接口发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。其中,本方案还包括:本地Cache和远地Cache;其中,在数据传输过程中,将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache中,本地RoCE网卡与远端RoCE网卡之间通过Cache一致性协议进行数据传输。其中,本方案还包括:QPI物理层,QPI链路层,QPI协议层,InfiniBand传输协议模块,网络层模块和以太网链路层和物理层模块。其中,若所述RoCE网卡采用RocEv2规范,所述网络层模块实现UDP和IP逻辑;若所述RoCE网卡采用RocEv1规范,则所述网络层模块实现IB网络层逻辑。一种基于FPGA的RoCE网卡的内存系统,包括:内存,本地CPU和本地RoCE网卡;其中,所述RoCE网卡具有QPI接口,通过QPI总线与所述本地CPU和所述内存相连;所述本地RoCE网卡,用于将本地CPU发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。其中,所述本地RoCE网卡包括:本地Cache和远地Cache;在数据传输过程中,将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache中,本地RoCE网卡与远端RoCE网卡之间通过Cache一致性协议进行数据传输。其中,所述本地CPU还用于:判断本地计算机对本地Cache的访问频率是否大于远地计算机对远地Cache的访问频率;若是,则将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中;若否,则将本地内存数据及数据状态保存在远地RoCE网卡的远地Cache。通过以上方案可知,本专利技术实施例提供的一种基于FPGA的RoCE网卡数据传输方法,所述RoCE网卡具有QPI接口;所述数据传输方法包括:本地RoCE网卡将本地CPU发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。可见,由于本方案中的这种基于FPGA的RoCE网卡,具有QPI接口,便可通过该接口获取本地CPU发送的QPI协议的信息,转换为IB协议的信息之后便可直接发送至远地RoCE网卡;同样的,再接收到远地RoCE网卡发送的IB协议的信息之后便直接转换为QPI协议的信息并发送至本地CPU,从而使得RoCE网卡和本地CPU之间的传输延时大大缩短,提升传输效率。本专利技术还公开了一种基于FPGA的RoCE网卡及内存系统,同样能实现上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中的本地计算机与远地计算机数据传输示意图;图2为现有技术中的RoCE网卡具体结构示意图;图3为本专利技术实施例公开的一种基于FPGA的RoCE网卡结构示意图;图4为本专利技术实施例公开的本地计算机与远地计算机数据传输示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述本文档来自技高网
...

【技术保护点】
1.一种基于FPGA的RoCE网卡数据传输方法,其特征在于,所述RoCE网卡具有QPI接口;所述数据传输方法包括:本地RoCE网卡将本地CPU发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。

【技术特征摘要】
1.一种基于FPGA的RoCE网卡数据传输方法,其特征在于,所述RoCE网卡具有QPI接口;所述数据传输方法包括:本地RoCE网卡将本地CPU发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。2.根据权利要求1所述的RoCE网卡数据传输方法,其特征在于,在数据传输过程中,将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache中,本地RoCE网卡与远端RoCE网卡之间通过Cache一致性协议进行数据传输。3.根据权利要求2所述的RoCE网卡数据传输方法,其特征在于,所述将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网卡的远地Cache,包括:判断本地计算机对本地Cache的访问频率是否大于远地计算机对远地Cache的访问频率;若是,则将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中;若否,则将本地内存数据及数据状态保存在远地RoCE网卡的远地Cache。4.一种基于FPGA的RoCE网卡,其特征在于,包括协议转换模块;所述协议转换模块,用于将本地CPU通过QPI接口发送的QPI协议的第一信息,转换为IB协议的第一信息,并发送至远地RoCE网卡;将远地RoCE网卡发送的IB协议的第二信息转换为QPI协议的第二信息,并发送至本地CPU。5.根据权利要求4所述的RoCE网卡,其特征在于,还包括:本地Cache和远地Cache;其中,在数据传输过程中,将本地内存数据及数据状态保存在本地RoCE网卡的本地Cache中,或者保存在远地RoCE网...

【专利技术属性】
技术研发人员:岳自超
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

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

1