[发明专利]一种基于Bank划分的批量内存调度方法在审
申请号: | 201810484718.0 | 申请日: | 2018-05-20 |
公开(公告)号: | CN108733492A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 方娟;汪梦萱;李凯;李宝才 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存请求 缓冲区 内存调度 调度策略 内存功耗 提升系统 行缓冲区 一次处理 应用程序 映射 命中率 内核 命中 合成 隔离 保留 服务 | ||
1.一种基于Bank划分的批量内存调度方法,其特征在于,首先,根据内存请求的来源,分为CPU内存请求和GPU内存请求,分别合成批缓冲区请求;其次,在CPU和GPU批缓冲区中选择需要处理的批量内存请求;如果选择的是批量GPU内存请求,使用行缓冲区命中优先的先来先服务的调度策略来选择下一次处理的内存请求;如果选择的是批量CPU内存请求,需要对Bank进行划分,使不同核的访存请求映射到不同的Bank,隔离多个CPU应用程序的访存请求。
2.一种基于Bank划分的批量内存调度方法,其特征在于,包括如下步骤,
步骤1,批量生成
步骤1.1,根据内存请求来源,为每一个内存请求设置请求类型和内核ID字段;
步骤1.2,根据内存请求类型,将单个内存请求组合成批缓冲区请求,由两个FIFO结构组成;
步骤2,选择需要处理的批量内存请求,如果是CPU批量内存请求,进入步骤3,如果是GPU批量内存请求,进入步骤4;
步骤3,Bank划分,针对CPU批量内存请求
步骤3.1,监控访存请求,获取每一个Bank所接收的访存行为信息;根据每一个内存请求设置的内核ID字段,计算出每一个CPU应用程序的访问请求数,记为MAPI,以及行命中率,记为RBH;
步骤3.2,应用分组。根据MAPI将CPU应用程序划分为访存密集型和非密集型两类;根据RBH将密集型程序分为行命中率高的和行命中率低的两类,最终CPU应用程序分为三组,即为访存非密集组、访存密集且命中率低组、访存密集且命中率高组。
步骤3.3,为每个分组分配Bank访存范围;
步骤4,针对GPU批量内存请求,采用行命中率优先的先来先服务策略选择下一个需要处理的GPU内存请求。
3.如权利要求1所述的基于Bank划分的批量内存调度方法,其特征在于,步骤3.3中,
(1)对访存非密集组,优先处理并可以访问所有的Bank;
(2)对于访存密集且命中率低组,组内每两个应用程序共享2个Bank划分单元;
(3)对于访存密集且命中率高组,组内每个应用程序分配一个Bank划分单元;
对于内存层次结构中,在一个有Ncpu个CPU应用,系统有Nchannel个通道,每个通道有Nrank个存储阵列,每个存储阵列有Nbank个存储体的内存系统中,定义划分单元BPU为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810484718.0/1.html,转载请声明来源钻瓜专利网。