System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据传输,具体涉及一种基于rdma的单qp场景性能优化系统及方法。
技术介绍
1、rdma(remote direct memory access)技术旨在消除传统网络传输中服务器端数据处理的诸多延迟环节,实现远程内存数据的直接存取,大幅提升数据传输效率。
2、在基于rdma的网络架构里,hca(host channel adaptor)网卡扮演着关键角色。hca网卡内部包含多个功能模块协同工作。主机通常会下发任务请求至db_proc(门铃处理模块),db_proc负责将任务请求精准调度给wqe_proc(wqe处理模块)。wqe_proc依据接收到的任务请求,从主机内存读取wqe(work queue element)并进行深度处理,随后调度给pkt_eng(发包引擎)。pkt_eng则根据获取的描述符与数据地址信息,完成数据读取以及wqe携带的包头信息组包操作,最终实现数据发送。然而,rdma协议与hca网卡自身存在特定的工作特性限制。一方面,rdma的任务请求发送严格遵循保序要求,这意味着发包顺序必须与下发的wqe顺序完全一致。因此,在同一qp(queue pair)内,数据处理只能串行进行,无法实现并行处理wqe,极大地限制了单qp场景下的数据处理速度。另一方面,hca网卡需要同时支持多个qp任务执行,且各个qp之间共享整个带宽资源,为避免出现某个qp长时间无法获得足够带宽资源而导致数据传输停滞,每一个qp在发送固定量数据后,必须进行qp切换操作。
3、在实际应用场景中,这种特性带来
技术实现思路
1、有鉴于此,本专利技术提供了一种基于rdma的单qp场景性能优化系统及方法,以解决现有方案在单qp场景下存在带宽性能受限的问题。
2、第一方面,本专利技术提供了一种基于rdma的单qp场景性能优化系统,所述系统包括电连接的hca网卡与主机,所述hca网卡与主机连接,所述hca网卡内部包括电连接的db_proc模块、wqe_proc模块以及pkt_eng模块;所述wqe_proc模块内设置有wqe_cache缓存空间;
3、所述db_proc模块,用于获取所述主机下发的目标qp的调度请求;
4、所述wqe_proc模块,用于基于所述目标qp的调度请求,查询所述wqe_cache缓存空间中是否存在所述目标qp对应的目标工作队列元素wqe;若所述wqe_cache缓存空间中存在所述目标qp对应的目标工作队列元素wqe,则从所述wqe_cache缓存空间中读取所述目标qp对应的目标工作队列元素wqe;若所述wqe_cache缓存空间中不存在所述目标qp对应的目标工作队列元素wqe,则从所述主机的内存中读取所述目标qp对应的目标工作队列元素wqe;对读取到的目标工作队列元素wqe进行逐个处理;
5、所述pkt_eng模块,用于基于处理完成后的目标工作队列元素wqe生成数据包,并将所述数据包发送至目标设备。
6、第二方面,本专利技术提供了一种基于rdma的单qp场景性能优化方法,所述方法应用于如上所述的hca网卡中,所述方法包括:
7、获取所述主机下发的目标qp的调度请求;
8、基于所述目标qp的调度请求,查询wqe_cache缓存空间中是否存在所述目标qp对应的目标工作队列元素wqe;
9、若所述wqe_cache缓存空间中存在所述目标qp对应的目标工作队列元素wqe,则从所述wqe_cache缓存空间中读取所述目标qp对应的目标工作队列元素wqe;
10、若所述wqe_cache缓存空间中不存在所述目标qp对应的目标工作队列元素wqe,则从所述主机的内存中读取所述目标qp对应的目标工作队列元素wqe。
11、在一种可选的实施方式中,在所述获取所述主机下发的目标qp的调度请求之前,所述方法还包括:
12、在首次执行所述目标qp的处理任务时,解析所述目标qp的调度请求的上下文信息,得到wqe读取地址;
13、基于所述wqe读取地址,从所述主机中读取所述目标qp对应的初始工作队列元素wqe;
14、对读取到的所述初始工作队列元素wqe进行逐个处理,并判断所述目标qp发送的数据量是否达到目标阈值;
15、若所述目标qp发送的数据量达到所述目标阈值,则判断读取到的所述初始工作队列元素wqe是否存在未处理完成的剩余wqe;
16、若存在未处理完成的剩余wqe,且所述wqe_cache缓存空间未被占用,则将未处理完成的剩余wqe存入所述wqe_cache缓存空间,以待下一次的所述目标qp的调度请求。
17、在一种可选的实施方式中,在所述目标qp对应的目标工作队列元素wqe读取完成后,所述方法还包括:
18、对读取到的目标工作队列元素wqe进行逐个处理,并判断所述目标qp发送的数据量是否达到目标阈值;
19、若所述目标qp发送的数据量达到所述目标阈值,则判断所述wqe_cache缓存空间是否存在空闲;
20、若所述wqe_cache缓存空间存在空闲,则将所述读取到的目标工作队列元素wqe中未处理完成的剩余wqe再次存储至所述wqe_cache缓存空间中,以待下一次的所述目标qp的调度请求。
21、在一种可选的实施方式中,所述方法还包括:
22、若所述目标qp发送的数据量未达到所述目标阈值,则继续对所述读取到的目标工作队列元素wqe进行逐个处理。
23、在一种可选的实施方式中,所述方法还包括:
24、若所述wqe_cache缓存空间不存在空闲,则对所述读取到的目标工作队列元素wqe中的未处理完成的剩余wqe进行排空处理。
25、在一种可选的实施方式中,所述方法还包括:
26、将处理完成后的目标工作队列元素wqe调度给所述pkt_eng模块,以使所述pkt_eng模块基于所述处理后的目标工作队列元素wqe生成数据包,并将所述数据包发送至目标设备;
27、激活所述db_proc模块中的指定qp,以等待重新调度请求。
28、第三方面,本专利技术提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令以实现上述第二方面或其对应的任一实施方式的一种基于rdma的单qp场景性能优化方法。
29、第四方面,本专利技术提供了一种计算机可读存储介质,该计算机可读存储介质上本文档来自技高网...
【技术保护点】
1.一种基于RDMA的单QP场景性能优化系统,其特征在于,所述系统包括电连接的HCA网卡与主机,所述HCA网卡内部包括电连接的DB_PROC模块、WQE_PROC模块以及PKT_ENG模块;所述WQE_PROC模块内设置有WQE_CACHE缓存空间;
2.一种基于RDMA的单QP场景性能优化方法,其特征在于,所述方法应用于权利要求1所述的HCA网卡中,所述方法包括:
3.根据权利要求2所述的方法,其特征在于,在所述获取所述主机下发的目标QP的调度请求之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述目标QP对应的目标工作队列元素WQE读取完成后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
8.一种计算机设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求2至7中任一项所述的一种基于RDMA的单QP场景性能优化方法。
...【技术特征摘要】
1.一种基于rdma的单qp场景性能优化系统,其特征在于,所述系统包括电连接的hca网卡与主机,所述hca网卡内部包括电连接的db_proc模块、wqe_proc模块以及pkt_eng模块;所述wqe_proc模块内设置有wqe_cache缓存空间;
2.一种基于rdma的单qp场景性能优化方法,其特征在于,所述方法应用于权利要求1所述的hca网卡中,所述方法包括:
3.根据权利要求2所述的方法,其特征在于,在所述获取所述主机下发的目标qp的调度请求之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述目标qp对应的目标工作队列元素wqe读取完成后,所述方法还包括:
【专利技术属性】
技术研发人员:郑毅,吴睿奇,孙磊君,刘亿民,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。