论文部分内容阅读
性能的提高一直是计算机研究人员孜孜不倦追求的目标。随着大规模集成电路的发展,处理器的计算能力飞速提高。计算机性能提高的瓶颈由计算转变为存储。存储性能是程序访存特征和特定的存储结构共同作用的结果。程序访存特征的研究一直伴随着处理器的发展,为存储结构提供发展方向。针对Cache结构不区分程序数据和主存物理实现一维连续的特征,本文选取具有典型访存特征的应用程序,通过分析访存特征给出合理的存储优化方案:1)在共享Cache存储体系结构中,利用Simics+GEMS体系结构模拟器,分析基于PostgreSQL数据库在线事务处理不同数据集的访存特征,建立数据分类模型,将数据集划分为放弃型、保护型和自由竞争型三类;然后提出一种软件协同的半透明共享Cache结构区分对待三类数据集,实验结果证明Cache失效率最高下降率为12%。2)针对矩阵行列访问二维连续的特征和DRAM存储一维连续的特性,提出一种针对行列交替访问的优化方案——窗口访问,并证明了最优窗口原理,利用可重构实验平台实现窗口访问存储控制器,实验证明矩阵行列交替访问的存储性能提高可达73.6%,一维FFT并行算法性能可提高45.1%。3)基于窗口访问原理,指导CPU和GPU上矩阵数据的布局,优化矩阵行列交替访问程序,实验证明CPU中矩阵行列交替访问的存储性能最大提高58.4%,并实现窗口访问和FFTW结合的一维FFT并行算法,与FFTW相比计算性能提高可达7%;分析CUDA编程框架和相应GPU的结构特点,将窗口原理应用到GPU中以warp为单位的访存过程上,实验表明矩阵行列交替访问的存储性能提高了1倍。