[发明专利]一种基于Bank划分的批量内存调度方法在审
申请号: | 201810484718.0 | 申请日: | 2018-05-20 |
公开(公告)号: | CN108733492A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 方娟;汪梦萱;李凯;李宝才 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存请求 缓冲区 内存调度 调度策略 内存功耗 提升系统 行缓冲区 一次处理 应用程序 映射 命中率 内核 命中 合成 隔离 保留 服务 | ||
本发明公开一种基于Bank划分的批量内存调度方法,首先根据内存请求的来源,分为CPU内存请求和GPU内存请求,分别合成批缓冲区请求;其次在CPU和GPU批缓冲区中选择需要处理的批量内存请求。如果选择的是批量GPU内存请求,使用行缓冲区命中优先的先来先服务(FR‑FCFS)的调度策略来选择下一次处理的内存请求;如果选择的是批量CPU内存请求,需要对Bank进行划分,使不同核的访存请求映射到不同的Bank,隔离多个CPU应用程序的访存请求。本发明的技术方案,消除了多个CPU和GPU访存请求的相互干扰,最大程度保留了每个内核的访存请求的特性,提高命中率,从而达到降低内存功耗,提升系统性能的目的。
技术领域
本发明属于计算机体系内存系统结构领域,具体涉及一种面向高性能的基于Bank划分的批量内存调度方法。
背景技术
异构多核架构,即在同一芯片上集成多个CPU和GPU作为一种先进体系结构逐渐成为主流。现代的内存系统,主要是依据访存请求的局部性原理降低功耗和提高性能,异构多核架构下的CPU和GPU共享片上主存,所以来自不同内核的内存请求会争夺共享内存资源,相互干扰,单个应用程序的访存请求的局部性逐渐消失,从而严重影响到整体系统性能。内存请求的干扰主要分为两种,GPU内存请求对CPU内存请求的干扰和多个CPU之间的内存请求干扰。在多核架构上,经典的应用感知内存调度策略是通过分析应用程序特性并据此调整内存请求的优先次序,提高公平性改善系统性能。这种内存调度策略是通过集中式请求缓冲区实现的,请求缓冲区中保存了待处理的内存请求,内存控制器通过请求缓冲区,查看分析不同应用程序的内存行为。在异构多核架构中,GPU的特性带来了新的挑战。由于GPU能够执行大量并行线程,因此GPU应用程序通常需要比CPU应用程序更多的内存带宽。GPU使用单指令多数据(SIMD)流水线同时执行多个线程,执行相同指令的一组线程称为线程束。GPU通过切换线程束来隐藏访问延迟,因此所有线程束都可能有成千上万未完成的内存请求,占用大量的内存,在请求缓冲区中,来自GPU的大量请求占用很大一部分,请求缓冲区的大小也有限制,所以请求缓冲区中来自CPU的内存请求不足以内存控制器分析出CPU应用程序的内存行为,这称为GPU内存请求对CPU内存请求的干扰。来自多个CPU应用程序的内存请求之间也存在干扰,每一个核都希望自己的访存请求能够被快速处理,这种相互竞争破坏了单个程序访存请求的特点,使得访存请求的随机性增强,无法利用访存请求的局部性原理,大大降低了访存命中率。命中率的降低,不仅增加系统功耗,增大访问延迟,更会加剧内存墙问题。本文针对异构系统,将内存请求之间的干扰分为两种,相对的,也将内存调度算法分为两个阶段,第一阶段根据内存请求的来源,将内存请求分为CPU内存请求和GPU内存请求,分别合成批缓冲区请求,这一阶段称为批量生成,针对的是GPU内存请求对CPU内存请求的干扰。第二阶段是只对CPU批缓冲区请求,采用了一种动态Bank划分策略,将不同的CPU内存请求访存范围限制在不同的Bank集合上,这样会有效的降低多个CPU应用程序的相互干扰。本文将此两阶段内存调度算法称为基于Bank划分的批量调度算法。
发明内容
本发明提出了一种基于Bank划分的批量内存调度方法。首先第一阶段根据内存请求的来源,分为CPU内存请求和GPU内存请求,分别合成批缓冲区请求。第二阶段在CPU和GPU批缓冲区中选择需要处理的批量内存请求。如果选择的是批量GPU内存请求,使用行缓冲区命中优先的先来先服务(FR-FCFS)的调度策略来选择下一次处理的内存请求。如果选择的是批量CPU内存请求,需要对Bank进行划分,使不同核的访存请求映射到不同的Bank,隔离多个CPU应用程序的访存请求。通过这两个阶段,彻底地消除了多个CPU和GPU访存请求的相互干扰,最大程度保留了每个内核的访存请求的特性,提高命中率,从而达到降低内存功耗,提升系统性能的目的。
为了达到上述目的,本发明采用以下技术方案。
步骤1,批量生成。
步骤1.1,根据内存请求来源,为每一个内存请求设置请求类型(CPU请求/GPU请求)和内核ID字段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810484718.0/2.html,转载请声明来源钻瓜专利网。