[发明专利]一种iSCSI自适应IO队列深度匹配方法有效
申请号: | 201811044653.4 | 申请日: | 2018-09-07 |
公开(公告)号: | CN109274550B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 羊舌荣元 | 申请(专利权)人: | 电信科学技术第五研究所有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 唐邦英 |
地址: | 610000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 iscsi 自适应 io 队列 深度 匹配 方法 | ||
1.一种iSCSI自适应IO队列深度匹配方法,其特征在于,本方法在如下三种情况时开始进行调用:第一种:当服务器稳定运行一段时间;第二种:Target中有新的LUN被调用;第三种:Target中的LUN停止调用;
所述方法包括:
步骤1:iSCSI服务器判断当前以太网速率;
步骤2:基于当前以太网速率,自动匹配相应的IO队列深度;
步骤3:根据当前所有活动的TCP进程的周期T,得到每个活动进程的频率即1/T,将所有频率累加后加上其他任务消耗的CPU固定资源来获得CPU负载,若占用的CPU负载小于CPU最大负载的50%并且当前测得的实际网络速率TL(n)小于接入的网络的速率的75%的情况下,增加IO队列深度;
步骤4:若当前CPU负载饱和,则增加IO队列深度,然后返回步骤3;若当前CPU负载没有饱和,则判断当前IO队列深度是否存在丢包或延迟现象;若当前IO队列深度存在丢包或延迟现象,则减小IO队列深度,然后返回步骤3;若当前IO队列深度不存在丢包或延迟现象,则执行步骤5;
步骤5:保留当前IO队列深度值,并与当前使用的LUN关联存入表中供下次使用;然后结束流程。
2.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,所述iSCSI服务器判断当前以太网速率具体包括:根据iSCSI协议包的格式,所有数据包都是通过TCP/IP传输,设计1个加法器,在每个包的IP头中都有当前IP包的长度,以太网帧头为固定的14字节,按1秒计算,设TL(1)为开始计数后第1秒中计算的所有数据包长度,则TL(n)即为当前实际网络的流量。
3.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,所述判断当前IO队列深度是否存在丢包或延迟现象,具体包括:通过同一TCP连接收到TCP报文的ACK时间判断,TCP协议中设计有最大维持时间,当两次数据包ACK的时间间隔大于最大维持时间则存在丢包或延迟。
4.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,在iSCSI的target服务器接入以太网时,本方法首先进行速率协商,并设定一个初始的IO队列深度值。
5.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,iSCSITarget服务器至少为双核结构,增加或减少IO队列的深度时,总是对双核中的其中1个处理器生效,在生效后重新进行判断,直到当前IO队列深度为最佳值为止。
6.根据权利要求5所述的iSCSI自适应IO队列深度匹配方法,其特征在于,当计算出最佳值后,将其与当前进行数据传输的LUN关联,建立一个二元表;在下次进行相同传输时,直接调用最优的IO队列深度值即可。
7.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,本方法设定为处理速率优先或系统稳定性优先。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电信科学技术第五研究所有限公司,未经电信科学技术第五研究所有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811044653.4/1.html,转载请声明来源钻瓜专利网。