[发明专利]一种能够感知存储设备带宽的程序并行度控制方法有效
申请号: | 201310477537.2 | 申请日: | 2013-10-14 |
公开(公告)号: | CN103677757A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 刘轶;王庆全;刘弢;李钦;高飞;朱延超 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 李有浩 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 能够 感知 存储 设备 带宽 程序 并行 控制 方法 | ||
技术领域
本发明涉及一种适用于片上多核多处理器的并行程序并行度的控制,特别涉及一种可感知存储设备I/O带宽的程序并行度控制方法。
背景技术
片上多核多处理器(Chip Mulit-Processor,CMP)就是将多个计算内核集成在一个处理器芯片中,从而提高计算能力。CMP处理器的各CPU核心执行的程序之间需要进行数据的共享与同步,因此其硬件结构必须支持核间通信。
在CMP处理技术的出现后,传统串行程序的并行化成为研究的重点,多数并行程序以CMP的核数作为选择并行度(进程或线程个数)的重要参考指标,这种处理策略在计算密集型的应用程序中取得了较好的效果,但是对于I/O密集型的应用来说如果只考虑CMP的计算性能未必可以达到最大的加速效果或者吞吐率(I/O吞吐率也称为I/O带宽),因为应用程序可能已经受限于运行该应用程序平台的I/O(输入/输出)性能。
不同应用程序平台的I/O能力相差很大,这主要依赖于存储设备(例如,普通PC机、带SCSI接口的服务器、带磁盘阵列和RAID卡的服务器,磁盘I/O带宽会有很大差异)。基于存储设备的规模,产生了基于不同速度和容量存储器的层次结构。如对于一个多级存储器层次结构,请参考2004年7月郑纬民等翻译的《计算机系统结构――量化研究方法》一书,该书第5章存储器层次结构设计中的图5.1作了详细说明。频繁访问I/O设备的应用在不同并行平台上运行时,很难直接确定能够获取最大I/O效率的并行度,并行度过低会导致I/O带宽得不到充分利用同时浪费处理器核资源;并行度过高同样未必能提升性能,由于I/O带宽已经成为瓶颈,过高地并行度导致并行执行单元间相互干扰加剧,比如会使内核的文件预取机制和磁盘动作产生混乱,从而导致总体性能不升反降。
对于I/O密集型的并行应用来说,根据不同应用程序平台的处理性能来,确定并行度将无法最大发挥并行处理的优势。因此,如何能够自适应地根据不同应用程序平台的综合硬件条件和实时负载状况,来动态的确定相应的最佳并行度成为了解决问题的关键。
发明内容
本发明的目的是提出一种自适应的根据应用程序运行平台的存储设备综合性能和实时负载状况,来动态调整应用程序的并行度,即进程或线程个数,使应用程序保持可获得最佳I/O效率的并行度。该方法通过实时监控并记录应用程序I/O效率信息,把它作为反馈信息来控制调整应用程序的并行度。该方法通过逐步探测渐进增加程序的并行度直至达到I/O实际效率的拐点,然后进行微调以获取针对不同应用程序平台的最佳并行度;进而根据不同应用程序平台的实时负载状况进行周期性的,主动调整与被动调整相结合的动态自适应操作来完成应用程序的最佳并行度获取。
本发明的一种能够感知存储设备带宽的程序并行度控制方法,应用程序平台上运行的程序依据程序I/O效率可分为三个状态,即初态、稳态和终态;
初态是指应用程序开启以较低并行度运行时的一种状态;
稳态是指应用程序经初态之后进入稳定运行时的一种状态;
终态是指应用程序经过稳态之后维持较高I/O效率运行时的一种状态;
其特征在于:所述的程序并行度控制方法包括有下列处理步骤:
步骤一:I/O效率的实时监控
步骤101:记录地址截取-效率监控的读写函数的字节数
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310477537.2/2.html,转载请声明来源钻瓜专利网。