[发明专利]基于迭代逼近的RDMA缓冲区动态分配方法有效
申请号: | 201910788875.5 | 申请日: | 2019-08-26 |
公开(公告)号: | CN112433980B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 何王全;漆锋滨;陈淑平;李祎;王申;卢德平;周慧霖;钱炜 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F15/173 | 分类号: | G06F15/173 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 逼近 rdma 缓冲区 动态分配 方法 | ||
1.一种基于迭代逼近的RDMA缓冲区动态分配方法,其特征在于:包括以下步骤:
S1、初始化时,RDMA发起方做以下设置:将请求分配的缓冲区数量记为rbuf_thresh,初始值设为4,rbuf_thresh扩张时的时间记为epoch_start,初始值设为当前时间,rbuf_thresh扩张前的rbuf_thresh记为Rmin,初始值设为2,rbuf_thresh扩张后的rbuf_thresh记为Rmax,初始值设为4,rbuf_thresh扩张后Rmax减少到Rmin的时间记为K,初始化为K=,其中C是一个常数系数;
S2、RDMA发起方检查本地保存的RDMA缓冲区列表,此RDMA缓冲区列表中包含了RDMA被动方为该RDMA发起方分配的所有可用RDMA缓冲区,判断RDMA被动方是否有可用的RDMA缓冲区;
S21、如果没有可用的RDMA缓冲区,则RDMA发起方进入rbuf_thresh快速扩张阶段,即先将RDMA操作进行缓存,然后增大rbuf_thresh,并向RDMA被动方发送请求以分配新的RDMA缓冲区,该请求中包含扩张后的rbuf_thresh;
S22、如果有可用的RDMA缓冲区,则RDMA发起方进入rbuf_thresh缓慢减小阶段,即使rbuf_thresh从Rmax逐步减少到Rmin,并直接利用该可用的RDMA缓冲区向RDMA被动方发送发起RDMA操作的请求;
S3、RDMA被动方收到RDMA主动方发来的分配RDMA缓冲区请求后,根据该请求中的rbuf_thresh分配新的RDMA缓冲区,并通告给RDMA主动方。
2.根据权利要求1所述的基于迭代逼近的RDMA缓冲区动态分配方法,其特征在于:在S21中的rbuf_thresh快速扩张阶段,增大rbuf_thresh的方法为:将S1中所述的epoch_start更新为当前时间,Rmin更新为当前rbuf_thresh,然后将rbuf_thresh扩大一倍或增加固定常数,并将Rmax更新为增大后的rbuf_thresh,最后根据公式计算K的值。
3.根据权利要求1所述的基于迭代逼近的RDMA缓冲区动态分配方法,其特征在于:在S21中,在预定的常数时间内,仅允许将rbuf_thresh增大一次,该常数时间设置为网络的最小消息延迟时间。
4.根据权利要求1或2所述的基于迭代逼近的RDMA缓冲区动态分配方法,其特征在于:在S22中的rbuf_thresh缓慢减小阶段,减小rbuf_thresh的方法为:利用立方曲线控制rbuf_thresh减少过程,当rbuf_thresh离Rmin较远,以较快的速度减少rbuf_thresh,使其较快地接近Rmin,越接近Rmin,rbuf_thresh减少幅度越小,以实现rbuf_thresh的微调,当rbuf_thresh减少到低于Rmin时,以越来越快的速度减少rbuf_thresh,直到RDMA缓冲区耗尽,以快速确定新的Rmin,计算rbuf_thresh的公式为rbuf_thresh=C(K-t)3+Rmin,C为S1中所述的常数系数, t为当前时间与epoch_start的差值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910788875.5/1.html,转载请声明来源钻瓜专利网。