论文部分内容阅读
在过去的20多年中,CPU的处理速度和内存的访问速度差距越来越大,处理器的性能以每年大约55%速度快速提升,而内存性能的提升速度则只有每年10%左右,形成了所谓“存储墙”现象。不均衡的发展速度造成了当前内存的存取速度严重滞后于处理器的计算速度,内存瓶颈对日益增长的高性能计算形成了极大的制约。但缓存技术的出现极大的缓解了这一现象,而对缓存的优化也成为了近几年的研究热点之一。随着多核技术的发展,多个处理器对有限的末级缓存空间的竞争造成的缓存“抖动”现象严重的影响了缓存的效率。而造成缓存“抖动”现象的实质是进程间的干扰,缓存替换算法不会对缓存中所存储的数据块的对应进程有感知,造成缓存内关键的数据块的重复替换。并且由于上级缓存对数据的过滤,造成了LRU替换算法在末级缓存上的效率不高。所以,提出一个效率更高的缓存替换策略是优化缓存最直接的方案之一。针对LRU作为末级缓存替换算法由于线程间的干扰造成缓存抖动而降低缓存效率的现象,本文提出了基于进程绑定的IBP替换算法,通过将进程与缓存进行绑定,使得缓存对所存储的数据块的对应进程有所感知,在进行数据块替换时会根据其绑定状态及其它关键参数选用不同的替换策略。进程绑定在一定程度上避免了缓存中数据块的干扰,粗粒度的从替换算法的角度实现了对缓存空间的划分,对关键数据块进行了保护,缓解了末级缓存中的缓存“抖动”现象,提高了缓存的效率。最后本文通过实验表明在相同运行环境下,运行多组不同负载,IBP替换算法相较于传统的LRU替换算法的运行时间减少了7%左右,并且随着核数的增加对缓存效率的提升也更加明显。这一结论也为未来对缓存优化进行更深入的研究奠定了理论基础。