The invention discloses an iSCSI adaptive IO queue depth matching method, which includes: step 1: iSCSI server judges the current Ethernet rate; step 2: automatically matches the corresponding IO queue depth based on the current Ethernet rate; step 3: test whether the current CPU load is saturated to determine whether the IO queue depth can be increased; step 4: if the current CPU load is saturated, increase the IO queue depth. Then step 3 is returned; if the current CPU load is not saturated, the current IO queue depth is judged to be lost or delayed; if the current IO queue depth is lost or delayed, the IO queue depth is reduced, and then step 3 is returned; if the current IO queue depth is not lost or delayed, step 5 is executed; step 5: retain the current IO queue depth and join with the current IO queue depth. Current LUN associations are stored in tables for next use, and the optimal IO depth can be automatically selected after rate negotiation between server and switch.
【技术实现步骤摘要】
一种iSCSI自适应IO队列深度匹配方法
本专利技术涉及网络通信领域,具体地,涉及一种iSCSI自适应IO队列深度匹配方法。
技术介绍
iSCSI协议中,iSCSI指令由控制器发出。控制器所发出的批量指令的最大条数由控制器上的队列深度(QueueDepth)决定。假设外部连接独立的磁盘阵列则通常将队列深度设置为64或128。IO队列深度将确定每一个iSCSI会话中可以发送到队列的iSCSI命令上限。较长的队列深度可以在高速的以太网(诸如10GbE以及40GbE环境)和采用SSD作为存储介质的环境中增加吞吐量,但队列深度过高则将会导致系统的延迟增大、同时会降低整个系统的稳定性。故不同IO队列深度将会影响到传输速度以及LUN的稳定性,如图1所示。按图1所示,依据实时系统的思想,为了描述和表征不同类型的实时系统中调度和资源管理的方法,对计算和通信系统所做的各类型的工作采用通用的概括性术语来描述,称能够被系统调度和执行的工作单元为作业(job)。称共同提供某种系统功能的一组相关作业为任务(Task)。以太网传输速率的提升以及SSD(固态硬盘)的广泛使用使得IO吞吐速率成为了存储网络速率提升的瓶颈。显然,当IO队列深度越高时,服务器的处理时间轴将会被任务填满,以达到最大带宽。从图2、图3可以很容易看出,当队列深度提高时,IO的总带宽将最大可能的被不同的作业数填满,已达到最大的IO吞吐率,因此对于高带宽的以太网络和以SSD作为存储介质的RAID来说,高IO队列数将有效提高系统传输效率。但同时需要考虑到队列深度对于IO延迟产生的影响。IO延迟是指控制器将IO指令发出后, ...
【技术保护点】
1.一种iSCSI自适应IO队列深度匹配方法,其特征在于,所述方法包括:步骤1:iSCSI服务器判断当前以太网速率;步骤2:基于当前以太网速率,自动匹配相应的IO队列深度;步骤3:测试当前CPU负载是否饱和,判断能否增加IO队列深度;步骤4:若当前CPU负载饱和,则增加IO队列深度,然后返回步骤3;若当前CPU负载没有饱和,则判断当前IO队列深度是否存在丢包或延迟现象;若当前IO队列深度存在丢包、延迟现象,则减小IO队列深度,然后返回步骤3;若当前IO队列深度不存在丢包或延迟现象,则执行步骤5;步骤5:保留当前IO队列深度值,并与当前使用的LUN关联存入表中供下次使用;然后结束流程或者返回步骤1继续执行本方法流程。
【技术特征摘要】
1.一种iSCSI自适应IO队列深度匹配方法,其特征在于,所述方法包括:步骤1:iSCSI服务器判断当前以太网速率;步骤2:基于当前以太网速率,自动匹配相应的IO队列深度;步骤3:测试当前CPU负载是否饱和,判断能否增加IO队列深度;步骤4:若当前CPU负载饱和,则增加IO队列深度,然后返回步骤3;若当前CPU负载没有饱和,则判断当前IO队列深度是否存在丢包或延迟现象;若当前IO队列深度存在丢包、延迟现象,则减小IO队列深度,然后返回步骤3;若当前IO队列深度不存在丢包或延迟现象,则执行步骤5;步骤5:保留当前IO队列深度值,并与当前使用的LUN关联存入表中供下次使用;然后结束流程或者返回步骤1继续执行本方法流程。2.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,所述iSCSI服务器判断当前以太网速率具体包括:根据iSCSI协议包的格式,所有数据包都是通过TCP/IP传输,设计1个加法器,在每个包的IP头中都有当前IP包的长度,以太网帧头为固定的14字节,按1秒计算,设TL(1)为开始计数后第1s中计算的所有数据包长度,则TL(n)即为当前实际网络的流量。3.根据权利要求1所述的iSCSI自适应IO队列深度匹配方法,其特征在于,所述测试当前CPU负载是否饱和,判断能否增加IO队列深度,具体包括:根据当前所有活动的TCP进程的周期T判断,得到周期后则算出每个活动进程的频率即1/T,将所有频率累加后加上其他任务消耗的CPU固定资源来获得CPU负载,若占用的CPU负载小于CPU最大负载的50...
【专利技术属性】
技术研发人员:羊舌荣元,
申请(专利权)人:电信科学技术第五研究所有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。