节点文献

CC-NUMA多机系统Cache一致性研究

A Study on Cache Coherent of CC-NUMA Multiprocessor System

【作者】 张毅

【导师】 王铮;

【作者基本信息】 重庆大学 , 计算机软件与理论, 2008, 硕士

【摘要】 高速缓存一致的非对称访存系统(CC-NUMA)是当前被广泛应用的多机系统之一。与传统的MIMD系统一样, Cache一致性问题也是CC-NUMA系统必须首先解决的问题。因为其对系统性能和可扩展性等方面都有重要的影响。本文介绍并分析了当前国内外的CC-NUMA系统在解决Cache一致性问题上所采用的几种协议以及其在系统性能和可扩展性方面所存在的不足之处。针对这些不足,提出了一种应用于CC-NUMA系统的基于两级目录协议的目录-数据Cache结构。具体而言,即是在CC-NUMA的目录存储器(第二级目录)上增加一个目录Cache(第一级目录),其中第一级目录使用有限(Limited)目录协议,第二级目录使用全映射(full- map)目录协议。文中称此为两级目录协议。同时通过对目录Cache进行字扩展的方式,在共享数据存储器层上增加了一个数据Cache层,文中称此Cache结构为基于两级目录协议的目录-数据Cache结构。另外,为了避免出现目录项溢出问题,又设计了一种名为共享加权LRU的Cache替换算法。然后从系统性能以及可扩展性方面,分析比较了两级目录与全映射目录和有限映射目录在空间复杂度的优劣。证明两级目录在空间复杂度较有限映射增加很小的代价下,其性能接近或超过了全映射目录。同时又有效避免了制约有限目录性能的目录项溢出问题。最后使用通用的测试程序对共享加权LRU算法在Cache命中率方面,与经典LRU进行了对比测试。证明共享加权LRU算法在代价很小的前提下,保证了高共享数据处于Cache中,进一步降低了发生目录项溢出的概率。在此基础上,本文主要针对两级目录结构的设计思想,采用了硬件描述语言(VHDL)对其进行了逻辑实现和模拟仿真。首先,我们对基于两级目录的目录-数据Cache结构从功能上对其进行了模块划分,分配了每个模块所要完成的功能。其次,在认真分析模块与模块之间关联关系的基础上,详细描述了我们在设计与实现过程中的关键技术。第三,对所划分的模块采用硬件描述语言VHDL进行具体的设计与实验。第四,通过目录-数据Cache系统的性能分析实验,对基于两级目录的目录-数据体系的功能和整体性能进行了初步的模拟和测试。模拟和测试结果表明,应用于CC-NUMA系统的目录-数据Cache结构,有效地克服了系统性能以及可扩展性(scalability)与目录存储开销之间的矛盾,且能很好地解决Cache数据一致性的问题。而逻辑综合结果表明目录-数据Cache结构的实现复杂度低,硬件开销也相对较小,能够较好的满足CC-NUMA系统的需要。

【Abstract】 Cache Coherent-Non Uniform Memory (CC-NUMA) system is one of the popular multiprocessor systems. Cache coherent problem is important to both traditional MIMD system and CC-NUMA system, because it impacts not only system performance but also the scalability. It’s introduced and analyzed that the existent protocol used to solve this problem and their ill effects to system performance and scalability. In view of the shortcomings, we design a Directory-Data Cache of Tow Level Directory architecture which is applied to CC-NUMA system.To detail, we add Directory Cache (Level One Directory) upon Directory Memorizer (Level Two Directory). The fullmap directory is applied to the former, and the limited directory is applied to the latter. It’s named as Tow Level Directory architecture. Meanwhile Data Cache is added upon shared Data Memorizer by word extending of Directory Cache. We name this architecture as Directory-Data Cache of Tow Level Directory architecture. Furthermore, Weight LRU is brought about to conquer the Directory Overflow problem.In the way of system performance and scalability, we analyze and compare Two Level Directory with fullmap directory and limited directory about the space complex. It’s proved the performance of Tow Level Directory is close to limited directory, while only suffered a litter cost about the space complex when comparing to fullmap directory. And the disadvantage of directory overflow is avoided. Lastly, we set up a test the hit rate of Weight LRU and compare it with classic LRU. We draw the conclusion that WLRU guarantees the high shared data is in cache and limited the rate of directory overflow, meanwhile only case a slight cache hit loss.Building study on Two Level Directory architecture, we logical design and simulate this cache structure by VHSIC Hardware Description Language (VHDL). First, we partition the Directory-Data Cache architecture into several modules in the view of function and assign their function. Second, after carefully analyze the relationship of modules, we describe the key technique within design and implement in detail. Third, we design and experiment on the modules. The last, by using experiment on Directory-Data cache of its performance, we drew the conclusion of the function and system performance.The result of simulation and test prove that Directory-Data Cache architecture implied to CC-NUMA system is effective in solving the problem between system performance, system scalability and directory memory overhead. It also guarantees the cache coherence. The result of logic synthesis shows that the hardware complex and the hardware cost of Directory-Data Cache architecture is very low. So this design fulfills the requirement of CC-NUMA system.

  • 【网络出版投稿人】 重庆大学
  • 【网络出版年期】2009年 06期
节点文献中: 

本文链接的文献网络图示:

本文的引文网络