[发明专利]用于非一致性内存访问的数据预取方法和装置有效
申请号: | 201110296544.3 | 申请日: | 2011-09-27 |
公开(公告)号: | CN102508638A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 谭玺;韦竹林;刘轶;朴明铉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/345;G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 一致性 内存 访问 数据 方法 装置 | ||
1.一种用于非一致性内存访问的数据预取方法,其特征在于,所述方法包括:
根据表征非一致性内存访问NUMA系统中磁盘负载的参数和进程所在节点的空闲预取缓冲区容量,获取数据预取量参数因子r;
求取前一次预取窗口的大小Rprev_size、预取量最大倍增倍数Tscale以及所述数据预取量参数因子r三者的乘积Ssize;
比较设定的最大预取量MAXreadahead和所述Ssize的大小,以所述MAXreadahead和所述Ssize中的较小值作为本次预取窗口的大小去预取数据。
2.如权利要求1所述的方法,其特征在于,所述根据表征非一致性内存访问NUMA系统中磁盘负载的参数和线程所在节点的空闲预取缓冲区容量,获取数据预取量参数因子r包括:
根据表征非一致性内存访问NUMA系统中磁盘负载的参数和进程所在节点的空闲预取缓冲区容量,获取磁盘负载对预取量增长的权重和所述进程所在节点的预取缓冲区容量对预取量增长的权重;
求取所述磁盘负载对预取量增长的权重与所述进程所在节点的预取缓冲区容量对预取量增长的权重的差值,得到所述数据预取量参数因子r。
3.如权利要求2所述的方法,其特征在于,所述根据表征非一致性内存访问NUMA系统中磁盘负载的参数和进程所在节点的空闲预取缓冲区容量,获取磁盘负载对预取量增长的权重和所述进程所在节点的预取缓冲区容量对预取量增长的权重包括:
调用输入输出I/O队列获取模块和内存获取模块以分别获取操作系统当前I/O队列的长度和所述进程所在节点的空闲预取缓冲区容量;
将所述操作系统当前I/O队列的长度与操作系统限定的最大I/O队列长度的比值乘以第一可调因子以获取磁盘负载对预取量增长的权重,将所述进程所在节点的空闲预取缓冲区容量与所述线程所在节点总预取缓冲区容量的比值乘以第二可调因子以获取所述线程所在节点的预取缓冲区容量对预取量增长的权重,所述操作系统当前I/O队列的长度与操作系统限定的最大I/O队列长度的比值为所述表征非一致性内存访问NUMA系统中磁盘负载的参数。
4.如权利要求1所述的方法,其特征在于,所述预取量最大倍增倍数Tscale的取值范围为[0,8],其中符号“[]”表示闭区间。
5.如权利要求1所述的方法,其特征在于,所述空闲预取缓冲区容量越大,则所述预取量最大倍增倍数Tscale的取值越大。
6.一种用于非一致性内存访问的数据预取装置,其特征在于,所述装置包括:
数据预取量参数因子获取模块,用于根据表征非一致性内存访问NUMA系统中磁盘负载的参数和进程所在节点的空闲预取缓冲区容量,获取数据预取量参数因子r;
预取量窗口倍增模块,用于求取前一次预取窗口的大小Rprev_size、预取量最大倍增倍数Tscale以及所述数据预取量参数因子r三者的乘积Ssize;
预取量窗口获取模块,用于比较设定的最大预取量MAXreadahead和所述Ssize的大小,以所述MAXreadahead和所述Ssize中的较小值作为本次预取窗口的大小去预取数据。
7.如权利要求6所述的装置,其特征在于,所述数据预取量参数因子获取模块包括:
权重获取子模块,用于根据所述表征非一致性内存访问NUMA系统中磁盘负载的参数和进程所在节点的空闲预取缓冲区容量,获取磁盘负载对预取量增长的权重和所述进程所在节点的预取缓冲区容量对预取量增长的权重;
求差子模块,用于求取所述磁盘负载对预取量增长的权重与所述线程所在节点的预取缓冲区容量对预取量增长的权重的差值,得到所述数据预取量参数因子r。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110296544.3/1.html,转载请声明来源钻瓜专利网。