System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网络通信领域,特别涉及一种用于ib网卡的uar页面分配方法和装置。
技术介绍
1、rdma(remote direct memory access,远程直接内存访问)是一种高效的网络通信技术,它允许计算机之间在不经过操作系统的情况下直接交换内存数据。rdma的关键优势在于它减少了数据传输过程中的延迟和cpu负载。blueflame是对传统rdma技术的重要补充,它通过优化内存写操作,提高了整体网络通信的效率和性能,它允许网卡硬件直接处理构建和处理网络包的操作,提供了更高效的方式来处理rdma的内存写操作,减少了对cpu的依赖,从而降低了延迟和提高了性能。uar(user access regin,用户直接访问区域)页面(uar page)是内存中用于存储进行rdma操作所必需的控制信息的区域。uar页面允许hca(高性能网卡)高效地访问这些控制信息,从而执行网络操作。每个uar页面包含多个uar,每个uar对应于特定的网络操作或队列。blueflame和uar页面共同工作,既提高数据包处理的效率,又确保了操作所需控制信息的快速访问,两者共同优化了rdma过程,降低了延迟,提高了吞吐量。
2、然而blueframe wqe(work queue element,工作队列项,用于指定和控制rdma操作)是按照64字节对齐的,所以如果直接通过uar提交,主机端需要进行一次拷贝,在多线程或多进程的环境中,如果多个线程或进程共享相同的qp和uar page,它们可能会同时尝试写入到uar page,导致竞态条件和
3、当前mellanox ib网卡在设计时考虑了资源管理和性能优化的需求,在每个上下文(context)中分配了16个uar page,如图1所示。其中上下文包含与特定ib设备或资源相关联的数据结构和信息。这可以防止随着context的增加而出现竞态条件问题。但是对于同一个context内创建大量的qp(queue pair,队列对)时,这些qp的并发就会导致出现竞态条件,从而影响性能。
技术实现思路
1、本专利技术的目的在于提供一种用于ib网卡的uar页面分配方法和装置,旨在提高多qp的并发情况下的网卡性能。
2、根据本专利技术的第一方面,提供了一种用于ib网卡的uar页面分配方法,包括:
3、将pcie基地址寄存器空间划分为uar页面,利用pcie基地址的偏移将所述uar页面的地址映射为对应的主机侧起始地址,初始化全局链表,将每个uar页面对应的起始地址添加到所述全局链表中;
4、当创建队列对qp时,从所述全局链表中取出uar页面,并将所述uar页面的空闲wqe空间分配给所述队列对,以使每个队列对均获得独立的pcie基地址寄存器空间。
5、优选地,所述将每个uar页面添加到所述全局链表中,进一步包括:
6、将每个uar页面对应的起始地址依次插入所述全局链表的尾部。
7、所述uar页面的数量与进程或线程上下文无关。
8、所述从所述全局链表中取出uar页面,进一步包括:
9、从所述全局链表的头部取出当前uar页面,并将当前uar页面从链表的头部删除,然后将当前uar页面添加到所述全局链表的尾部。
10、所述将所述uar页面的空闲wqe空间分配给所述队列对,进一步包括:
11、如果当前uar页面存在空闲wqe空间,则将空闲wqe空间分配给当前队列对;
12、如果当前uar页面不存在空闲wqe空间,则从所述全局链表中继续取出后续uar页面,直到确定后续uar页面中存在空闲wqe空间,将该空闲wqe空间分配给当前队列对。
13、根据本专利技术的第二方面,提供了一种用于ib网卡的uar页面分配装置,包括:
14、链表生成单元,用于将pcie基地址寄存器空间划分为uar页面,利用pcie基地址的偏移将所述uar页面的地址映射为对应的主机侧起始地址,初始化全局链表,将每个uar页面对应的起始地址添加到所述全局链表中;
15、页面分配单元,用于当创建队列对qp时,从所述全局链表中取出uar页面,并将所述uar页面的空闲wqe空间分配给所述队列对,以使每个队列对均获得独立的pcie基地址寄存器空间。
16、相比于相关技术,本专利技术的技术方案具备以下优点:
17、使用全局链表的方式管理uar page,解除一个进程内拥有的uar page的数量限制,将整个bar0空间的全部利用起来,可以保证一个context内所有qp并发时不会产生竞态条件,从而保证软件性能,避免了多个qp对bar的访问冲突,每个qp可以访问独立的bar,一个进程或线程内的所有的qp都可以独占bar空间的资源,减少bar空间资源浪费。一个进程或线程内的所有的qp进行并发操作时,在软件层面可以实现无锁操作,减少了cpu由于锁竞争导致cpu资源浪费。由于所有的qp都独占uar page中的门铃区域,避免了多qp的并发导致uar page资源争用引起的性能瓶颈。
18、本专利技术的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可以通过在说明书、权利要求书以及附图中所指出的结构和流程来实现和获取。
本文档来自技高网...【技术保护点】
1.一种用于IB网卡的UAR页面分配方法,其特征在于,包括:
2.根据权利要求1所述的用于IB网卡的UAR页面分配方法,其特征在于,所述将每个UAR页面添加到所述全局链表中,进一步包括:
3.根据权利要求1所述的用于IB网卡的UAR页面分配方法,其特征在于,所述UAR页面的数量与进程或线程上下文无关。
4.根据权利要求1所述的用于IB网卡的UAR页面分配方法,其特征在于,所述从所述全局链表中取出UAR页面,进一步包括:
5.根据权利要求4所述的用于IB网卡的UAR页面分配方法,其特征在于,所述将所述UAR页面的空闲WQE空间分配给所述队列对,进一步包括:
6.一种用于IB网卡的UAR页面分配装置,其特征在于,包括:
7.根据权利要求6所述的用于IB网卡的UAR页面分配装置,其特征在于,所述链表生成单元,进一步用于:
8.根据权利要求6所述的用于IB网卡的UAR页面分配装置,其特征在于,所述UAR页面的数量与进程或线程上下文无关。
9.根据权利要求6所述的用于IB网卡的UAR页面分配装置
10.根据权利要求9所述的用于IB网卡的UAR页面分配装置,其特征在于,所述页面分配单元,进一步用于:
...【技术特征摘要】
1.一种用于ib网卡的uar页面分配方法,其特征在于,包括:
2.根据权利要求1所述的用于ib网卡的uar页面分配方法,其特征在于,所述将每个uar页面添加到所述全局链表中,进一步包括:
3.根据权利要求1所述的用于ib网卡的uar页面分配方法,其特征在于,所述uar页面的数量与进程或线程上下文无关。
4.根据权利要求1所述的用于ib网卡的uar页面分配方法,其特征在于,所述从所述全局链表中取出uar页面,进一步包括:
5.根据权利要求4所述的用于ib网卡的uar页面分配方法,其特征在于,所述将所述uar页面的空闲wqe空间...
【专利技术属性】
技术研发人员:赵曦,孙寅龙,吴寅,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。