基于神经网络的预取研究文献综述
2020-04-14 17:14:52
1.1 目的及意义
随着计算机制造技术的发展和计算机系统结构的创新,计算机的性能不断的提高,尤其在20世纪70年代末到80年代初,大规模集成电路和微处理器的出现使计算机性能的年增长速度提高到了约35%,我们所熟知的摩尔定律揭示了计算机性能的的发展,从1986年以后,处理器的速度的发展平均每年提高50%,现如今的计算机的CPU已经由过去的MHZ变为如今的GHZ,然而由于制造工艺的不同,存储器的速度平均每年提升7%,长期的积累导致处理器和存储器的速度差异越来越大,不均衡的发展速度造成了内存提取速度严重滞后于处理器的计算速度,这样就导致处理器的性能无法完全发挥出来,这就是被称为“内存墙”问题,为了缓解这个问题,利用程序访问的局部性原理,微处理器采用了分层存储系统,引入了cache,在最靠近CPU的内存速度最快,容量小,快到与CPU速度匹配,离CPU远的内存速度慢,容量大,cache的引入极大提高了存储器的访存效率,但是由于容量小,总有一些数据不会被直接捕获,这就是未命中,因此采用预取技术,这是为了当CPU需要读取数据时,能够直接从cache中提取,预取技术能够极大的提高命中率,
而神经网络是一种解决预测问题强有力的技术,在自然语言处理与文本理解中有着极大的应用,我将对基于序列的神经网络与微处理器进行结合,目的构建出有效的预取机制,研究其中的预取技术来进一步提高命中率,能够实现计算机性能的提升。
1.2国内外的研究现状分析
现如今有许多预取技术,第一个是固定预取算法,OBL是一种简单的预取技术,它认为当数据块i被访问后,数据块i之后的块应该很快被访问,所以当数据块i被访问后,i 1块就会预取,这样会导致频繁使用I/O,浪费大量的寻道时间,IBL是对OBL的扩展,在预取数据块i后,对后面的n个块进行预取,这两种算法都有很大的盲目性,可能会造成预取浪费。
第二个是顺序预取算法,这是基于空间局部性原理,有三部分,第一部分是顺序检测模块,对顺序序列的检测通常是基于访问历史来确定的,对具有大容量的存储可直接根据存在其中的数据进行分析,缓存容量小的则提出一种基于表格的算法,第二部分是预取模块,通过此模块来决定预取时机和预取度,通过数据命中率和预取浪费率来自适应调整预取行为,第三个是缓存管理模块,用来管理页面的换出,把有用的数据留在缓存中。利用不同的LRU链管理顺序和随机的序列,通过边际效应的大小来决定淘汰页面,从而让淘汰的损失最小化。还有基于应用暗示的预取算法和基于数据挖掘的算法等一系列算法。
{title}2. 研究的基本内容与方案
{title}2.1基本内容
神经网络已经成为了许多序列测试的首选模型,而其中LSTM(longshort-Term Memory)是一种时间递归神经网络,它适合处理和预测时间序列中间间隔和延迟相对较长的事件,它有着输入门,遗忘门和输出门,只有符合算法认证的信息才会留下,不符的信息通过遗忘门被遗忘掉。
2.2 目标
目标是构建出一个基于神经网络的预取机制,在考虑召回率的情况下能够提高计算机的预取准确性来进一步提高cache的命中率,从而提高计算机的性能。