论文部分内容阅读
如今多核技术的发展大大提高了计算机的运算能力,但也愈发使得内存子系统的性能成为计算机整体性能的瓶颈。如何提高片外DRAM带宽利用率是实现多核性能存储关键之一。而内存的带宽利用率与访存调度策略息息相关。传统的内存控制器因为采用固定的访问调度策略,因此,没有根据以往的调度结果来优化内存访问性能。这些固定的调度算法不能适应多核系统环境。 内存控制器如何利用以往调度结果来自优化的访存调度可以被抽象为这样的问题:一个代理(内存控制器)如何学习以往的选择来做出当前的最优动作,这与机器学习中的增强学习的概念相似。可以设计一种新颖的,自优化的内存控制器——它的设计中运用了增强学习(reinforcement learing)的思想来弥补以往的内存控制器的缺陷。增强学习的内存控制器能观察系统的状态并能预估自己的调度对系统带来的长期的影响。也就是说:控制器能通过学习来优化调度策略以使系统长期的性能得到最大的提高。 通过测试结果表明,在一个运行基准程序的4核处理器上,基于增强学习自优化的内存控制器能提高控制器的队列占用率,减少CPU读失效(load miss)开销,从而平均提高系统19%的性能(最大的能提高33%)的性能。而对于内存带宽利用率,使用基于增强学习自优化的内存控制器之后,相比使用现在通用的内存控制器,能有17%的提升。