论文部分内容阅读
本文研究了并行分布操作系统中共享存储管理及其优化技术,主要包括共享存储抽象层的设计与实现、线程一致性模型以及基于即态访问信息的动态页迁移技术等。 经过对并行分布操作系统面临的机遇和挑战以及相关理论和具体实现技术的深入剖析,本文着重对共享存储管理技术进行了研究。针对不同体系结构所呈现出的不同存储共享的性质,我们提出了一个共享存储抽象层的概念,用以统一SMP等系统中的真共享、CC-NUMA等系统中由硬件支持的分布共享以及工作站机群系统中的虚共享等情况,并在此基础上探讨和设计了并行分布操作系统的逻辑结构框架。 共享存储管理中最关键的问题之一就是如何维护存储一致性的问题。针对现有的存储一致性模型大都存在可扩展性不足和不适于在操作系统级实现的缺点,我们提出了一个基于同步点的存储一致性模型及实现的框架——S~3C框架,通过它来更好的研究和比较不同的存储一致性模型及其优化的实现方式,为设计和实现新的存储一致性模型提供指导,以弥补现有存储一致性模型存在的不足。在该框架中,我们通过定义三个同步点和一个一致性维护点的概念,对不同存储一致性模型中正确的存储访问事件顺序进行了描述。 在S~3C框架的基础上,我们提出了一种新的以操作系统为中心的存储一致性模型——线程一致性模型。该模型通过程序执行过程中线程状态的变化来观察和限制存储访问事件的正确顺序,因而有机的将操作系统存储管理和执行体管理的功能结合在一起,更适合于在操作系统级进行实现。同时,线程一致性模型能够充分利用多线程系统中计算与通信重叠从而隐藏通信延迟的优势,特别适合于多线程操作系统内核和多线程CPU。此外,我们通过对线程一致性模型条件的进一步放松,提出了模型的懒惰实现方式,从而减小系统维护一致性的消息传递开销,提高了系统的可扩展性。 我们针对共享存储管理的优化技术展开了探讨。高效的页迁移策略能够动态改善数据局部性,提高存储系统的性能。因此,我们重点针对页迁移技术进行了研究。现有的页迁移策略大都需要特殊的硬件支持(如访问次数计数器),因而硬件开销大且软件模块的可移植性不够好。为了提高策略的通用性,我们设计了一种无需特殊硬件支持的基于即态访问信息的动态页迁移策略,在策略的信息收集阶段采用直接从cache中获取的即态访问信息来代替传统策略使用的历史访问信息,在此基础上形成页面动态复制或迁移的策略,从而消除了硬件开销。测试结果表明该策略能接近甚至达到传统页迁移策略的优化效果。