[发明专利]一种能够感知存储设备带宽的程序并行度控制方法有效
申请号: | 201310477537.2 | 申请日: | 2013-10-14 |
公开(公告)号: | CN103677757A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 刘轶;王庆全;刘弢;李钦;高飞;朱延超 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 李有浩 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种能够感知存储设备带宽的程序并行度控制方法,该方法是一种自适应的根据应用程序运行平台的存储设备综合性能和实时负载状况,动态调整应用程序的并行度,即进程或线程个数,以使应用程序保持可获得最佳I/O效率的并行度。该方法通过实时监控并记录应用程序I/O效率信息,把它作为反馈信息来控制调整应用程序的并行度。该方法通过逐步探测渐进增加程序的并行度直至达到I/O实际效率的拐点,然后进行微调以获取针对不同应用程序平台的最佳并行度;进而根据不同应用程序平台的实时负载状况进行周期性的,主动调整与被动调整相结合的动态自适应操作来完成应用程序的最佳并行度获取。 | ||
搜索关键词: | 一种 能够 感知 存储 设备 带宽 程序 并行 控制 方法 | ||
【主权项】:
1.一种能够感知存储设备带宽的程序并行度控制方法,应用程序平台上运行的程序依据程序I/O效率可分为三个状态,即初态、稳态和终态;初态是指应用程序开启以较低并行度运行时的一种状态;稳态是指应用程序经初态之后进入稳定运行时的一种状态;终态是指应用程序经过稳态之后维持较高I/O效率运行时的一种状态;其特征在于:所述的程序并行度控制方法包括有下列处理步骤:步骤一:I/O效率的实时监控步骤101:记录地址截取-效率监控的读写函数的字节数在第i个I/O效率监控时间Ti里,采用地址截取的方式,将操作系统提供的读操作的入口函数read标记为带有I/O效率监控的读函数c_read,并记录下所述c_read读函数的字节数记为
将操作系统提供的写操作的入口函数write标记为带有I/O效率监控的写函数c_write,并记录下所述c_write写函数的字节数记为
则有,在Ti条件下的地址截取-效率监控的读写函数的字节数用集合表达为R SYS T i = R c _ read T i + R c _ write T i ; ]]>在应用程序运行时间T总条件下,所有地址截取-效率监控的读写函数的字节数记为
简称为地址截取-效率监控-字节数
步骤102:记录函数重载-效率监控的读写函数的字节数在第i+1个I/O效率监控时间Ti+1里,采用函数重载方式向用户提供带有监控功能的读函数u_read和写函数u_write;所述u_read读函数的字节数记为
所述u_write写函数的字节数记为
则有,在Ti+1条件下的函数重载-效率监控的读写函数的字节数用集合表达为
在T总条件下,所有函数重载-效率监控的读写函数的字节数记为
简称为函数重载-效率监控-字节数
步骤103:记录接口信息-效率监控的读写函数的字节数在第i个I/O效率监控时间Ti里,采用操作系统提供的I/O统计信息接口,进行预处理内核产生的原始数据,并完成I/O效率的监控,得到的系统监控读函数s_read和写函数s_write;所述s_read读函数的字节数记为
所述s_write写函数的字节数记为
则有,在Ti条件下的接口信息-效率监控的读写函数的字节数用集合表达为
在T总条件下,所有接口信息-效率监控的读写函数的字节数记为
简称为接口信息-效率监控-字节数
步骤二:读写函数的字节数的去噪处理应用程序运行时包括有不同的I/O效率监控类型MODE,即MODE包括有地址截取-效率监控类型SYS、函数重载-效率监控类型USR和接口信息-效率监控类型INT,即MODE={SYS,USR,INT};依据去噪条件
对读写函数的字节数进行滤除干扰处理,得到过滤后字节数;若取值是“1”则选取
并进行并行度提取处理,再进行快速定位,若取值是“0”则放弃
的并行度提取,直接进行快速定位;q表示I/O效率监控时间的个数;i表示任意一个I/O效率监控时间;
表示在I/O效率监控时间Ti条件下,任意一I/O效率监控类型MODE的读写函数的字节数;
表示在I/O效率监控时间Ti+1条件下,任意一I/O效率监控类型MODE的读写函数的字节数;C阈值表示去噪设置的判断波动现象发生的临界值;依据去噪条件E对地址截取-效率监控-字节数
的去噪处理后,得到的函数重载-效率监控-过滤后字节数记为
依据去噪条件E对函数重载-效率监控-字节数
的去噪处理后,得到的函数重载-效率监控-过滤后字节数记为
依据去噪条件E对接口信息-效率监控-字节数
的去噪处理后,得到的函数重载-效率监控-过滤后字节数记为
步骤三:并行度的快速定位所述并行度P的取值为2的幂,则有P=1,2,4,8,…,2p,p表示幂数;应用程序开启后以并行度P=1开始运行,在P=1的条件下取得的过滤后字节数记为
在取值P=1之后,并行度按照P=2p运行,并得到过滤后字节数记为
按照并行度从小至大对不同并行度下的过滤后字节数进行直方图构建,得到并行度-I/O效率直方图;通过比较所述并行度-I/O效率直方图中的字节数,选取出最大字节数
该最大字节数
则为I/O效率监测的拐点,如图3A所示;将并行度P=1的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=2的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=4的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=8的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=16的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=32的条件下取得的地址截取-效率监控-过滤后字节数记为
将并行度P=2p的条件下取得的地址截取-效率监控-过滤后字节数记为
将不同并行度下的过滤后字节数载入以并行度P为横坐标,字节数为纵坐标的直方图中,得到地址截取-效率监控直方图;通过比较所述地址截取-效率监控直方图中的字节数,选取出最大字节数
该最大字节数
则为地址截取的I/O效率监测的拐点;将并行度P=1的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=2的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=4的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=8的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=16的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=32的条件下取得的函数重载-效率监控-过滤后字节数记为
将并行度P=2p的条件下取得的函数重载-效率监控-过滤后字节数记为
将不同并行度下的过滤后字节数载入以并行度P为横坐标,字节数为纵坐标的直方图中,得到函数重载-效率监控直方图;通过比较所述函数重载-效率监控直方图中的字节数,选取出最大字节数
该最大字节数
则为函数重载的I/O效率监测的拐点;将并行度P=1的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=2的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=4的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=8的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=16的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=32的条件下取得的接口信息-效率监控-过滤后字节数记为
将并行度P=2p的条件下取得的接口信息-效率监控-过滤后字节数记为
将不同并行度下的过滤后字节数载入以并行度P为横坐标,字节数为纵坐标的直方图中,得到接口信息-效率监控直方图;通过比较所述接口信息-效率监控直方图中的字节数,选取出最大字节数
该最大字节数
则为接口信息的I/O效率监测的拐点;步骤四:获取最佳并行度依据不同并行度下的过滤后字节数的直方图中记录的粗并行度P粗,并在粗并行度P粗的两边以每次减少2个并行度单位进行的读写效率字节数的记录,以获得最佳并行度P精;当获得最佳并行度P粗后,应用程序平台上运行的程序将依据P粗重新开始步骤一至步骤四的运行,直到应用程序运行结束;在获得最佳并行度P粗后,应用程序会进行主动和被动的动态自适应调整,这样便能够提高I/O带宽,同时也能够使应用程序获得更大加速效果和更高的吞吐率。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310477537.2/,转载请声明来源钻瓜专利网。