【技术实现步骤摘要】
本专利技术涉及linux块设备IO调度
,更具体地说,涉及一种基于linux块设备IO调度cfq算法的优化方法及系统。
技术介绍
Linux的IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调度器也被叫做电梯(elevator)而相应的算法也就被叫做电梯算法。而Linux中IO调度的电梯算法包括as(Anticipatory),cfq(CompleteFairnessQueueing),deadline,noop(NoOperation),在最新的内核版本和发行版中,都选择CFQ做为默认的I/O调度器,对于通用的服务器也是最好的选择。CFQ试图均匀地分布对I/O带宽的访问,避免进程被饿死并实现较低的延迟,是deadline和as调度器的折中。CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择。CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级。CFQ为每个进程/线程,单独创建一个队列来管理该进程所产生 ...
【技术保护点】
一种基于linux块设备cfq调度算法的优化方法,其特征在于,包括:分别统计每个IO进程的IO请求数目;将IO进程的请求数目最多的IO进程作为第一进程,将IO进程的请求数目第二多的IO进程作为第二进程;计算所述第一进程的请求数量与所述第二进程的请求数量的比值,当所述比值大于预定阈值时,将IO调度器执行所述第一进程的请求数目按照预定规则调整。
【技术特征摘要】
1.一种基于linux块设备cfq调度算法的优化方法,其特征在于,包括:分别统计每个IO进程的IO请求数目;将IO进程的请求数目最多的IO进程作为第一进程,将IO进程的请求数目第二多的IO进程作为第二进程;计算所述第一进程的请求数量与所述第二进程的请求数量的比值,当所述比值大于预定阈值时,将IO调度器执行所述第一进程的请求数目按照预定规则调整。2.根据权利要求1所述的优化方法,其特征在于,所述分别统计每个IO进程的IO请求数目,包括:通过统计进程分别统计每个IO进程的IO请求数目。3.根据权利要求2所述的优化方法,其特征在于,所述将IO进程的请求数目最多的IO进程作为第一进程,将IO进程的请求数目第二多的IO进程作为第二进程,包括:按照每个IO进程未处理的请求数目,将所有IO进程按照降序进行排序生成IO进程排序表;将所述IO进程排序表中请求数目最多的IO进程作为第一进程,将请求数目第二多的IO进程作为第二进程。4.根据权利要求1-3中任意一项所述的优化方法,其特征在于,所述将IO调度器执行所述第一进程的请求数目按照预定规则调整,包括:获取默认数目,根据所述比值确定翻倍系数;利用所述默认数目和所述翻倍系数,确定调整后的数目。5.根据权利要求4所述的优化方法,其特征在于,还包括:当所述比值大于预定阈值时,将所述第一进程的cfqFlag记为true;CFQ调度器发送所述第一进程的request时,查询所述第一进程的cfqFlag是否为true;若是,则所述CFQ调度器发送r...
【专利技术属性】
技术研发人员:孙京本,戚勇,
申请(专利权)人:浪潮北京电子信息产业有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。