刘海明[1]2001年在《基于SMP机群的虚拟共享存储系统》文中研究表明传统的虚拟共享存储系统(又称为软件分布式共享存储系统,软件DSM)是建立在单处理器机群上的,它通过软件维护一致性提供给程序员一个虚拟的共享存储空间。SMP机群的兴起使得建立面向SMP机群的虚拟共享存储系统成为虚拟共享存储系统领域的一个新的热点。同基于单处理器机群的虚拟共享存储系统相比,基于SMP机群的虚拟共享存储系统可以在SMP节点内部利用SMP的硬件共享维护一致性,减少软件开销和远程通信,提高系统性能。 本文在原有的基于单处理器机群的虚拟共享存储系统JIAJIA的基础上实现了一个面向SMP机群的虚拟共享存储系统,JIAJIA-SMP。并比较和分析了JIAJIA-SMP的不同实现方法与没有利用SMP硬件共享机制的JIAJIA性能上的差异,分析了具有不同访存模式的应用程序对虚拟共享存储系统性能上的影响。 本文首先讨论了各种可能的基于SMP机群的虚拟共享存储系统的实现方案及其优缺点,在此基础上选择了其中的一种方案进行实现。详细分析了实现SMP机群上的虚拟共享存储系统需要解决的问题:如何充分利用SMP节点内部的硬件共享机制和同步机制,减少软件开销;介绍了JIAJIA-SMP中新的cache一致性协议,这种协议具有更好的可扩展性。在给出了系统的基本实现之后,指出了在此基础上可以进行的进一步的优化。 然后在同一硬件和软件平台上对JIAJIA-SMP的两种实现方法与没有利用任何SMP硬件共享机制的JIAJIA叁种方案进行了性能测试和比较。分析了利用SMP的硬件共享和同步机制对虚拟共享存储系统性能上的影响以及具有不同访存模式的应用程序对虚拟共享存储系统性能上的影响。 在此基础上得到的结论是:JIAJIA-SMP由于充分利用了SMP的硬件共享和同步机制,在性能上优于没有利用节点内部硬件共享的JIAJIA,利用SMP的硬件共享机制共享home和cache对于面向SMP机器的虚拟共享存储系统是十分必要的。
张丹丹[2]2013年在《基于SMP机群的层次化编程模型的设计及实现》文中指出随着并行计算技术的不断发展,并行计算机的硬件体系结构也呈现出多样性,但主要以大规模并行处理机系统和机群系统为主。近年来,对称多处理机SMP系统结构在机群中被广泛采用。由多个SMP系统互连构成的SMP机群正成为并行计算机的主流,因此设计一种适合该结构的编程模型显得尤为重要。本文首先介绍了并行计算机和并行编程模型的发展背景,并阐明了研究的意义及主要工作。随后介绍了一种基于并行计算机体系结构的分类方法:Flynn分类法,并分析了几种当代流行的并行计算机系统。本文重点研究了机群系统的硬件体系结构相对于其他系统的优势,以及机群在高性能计算领域中的重要性。然后给出了SMP机群的体系结构,从SMP机群的体系结构中我们可以看出它既具有机群系统易扩展的优势又克服了SMP系统可扩展性差的缺点,其次它具备节点内共享存储和节点间分布存储的层次结构,可以很好的利用共享存储编程模型和分布存储编程模型。并行编程模型是并行计算的基础,也是并行硬件与内存体系结构层上的抽象概念。本文介绍了两种传统的并行编程模型:共享存储编程模型和分布存储编程模型,及其实现标准。重点研究了OpenMP编程模型,MPI并行编程以及数据并行编程。提出了一种基于SMP机群的层次化并行编程模型,并给出了该层次化编程模型的结构,OpenMP+MPI层次化编程模型的实现,粗细粒度并行的含义,以及该模型的优势。在一定情况下,层次化编程模型要优于单一并行编程模型。本文实现了计算和并行分块矩阵相乘的MPI和OpenMP+MPI并行编程程序设计,优化了计算的层次化编程程序,提高了其并行执行效率。在曙光TC5000机群系统上实现了计算和并行分块矩阵相乘的两种编程模型的测试。通过测试数据的对比可以得出在SMP机群上进行OpenMP+MPI层次化并行编程要比单一并行编程模型的执行效率高,并且随着问题规模的增大,层次化编程模型的执行效率越明显。本文最后,对分块矩阵相乘的OpenMP+MPI层次化并行编程模型的优化以及其他模式的层次化并行编程模型进行了展望。
陈莉[3]2002年在《SMP机群上的并行代码优化技术》文中研究说明随着多处理器和高速通讯网技术的发展,SMP机群由于其明显的价格比和良好的可扩展性,成为备受欢迎的高性能计算平台。这类体系结构比之传统的并行机的一个显着特征是它们混杂的内存模型:节点内的共享和节点间的分布内存模式。层次式的体系结构,给程序设计提出了更复杂的问题。我们相信,SMP机群需要一个统一的、可移植的程序设计模型。OpenMP是一个发展中的共享内存编程标准,我们设计了一个适合分布内存环境的OpenMP扩展,给出了它在SMP机群上的一个支持层次并行的编译实现,并对层次模型中的若干优化问题进行了较为深刻和独创性的研究,取得了良好的效果。本文的主要贡献如下:1.基于“分布OpenMP”的概念,实现OpenMP在SMP机群上的扩展;研究了其叁种可能的执行模式,给出了多级并行的总体框架,讨论了层次并行性确定的基本策略和问题。2.SMP机群上同样存在数据分布和计算分割确定的问题,本文提出优化通信的冗余计算分割技术,它的基本思想是针对并行循环序列,恰当地选择每个并行循环套的冗余计算量,消除一般计算分割技术会引入的循环套之间的通信。3.提出通过循环合并发掘节点间流水并行的方法。该技术与传统流水技术的不同在于,能从复杂的循环结构中发掘流水并行。4.在全局通信优化的框架中,实现了全局的冗余消息消除和消息合并,并加入对冗余计算分割的支持;全局阴影区优化技术的应用,大大减少了由过程调用引起的数据重分布。过程间通信优化,实现了规则通信的过程间冗余合并,其优化效果显着。5.研究了节点内的并行域合并问题,提出过程间并行域合并技术,大大增加了节点内并行性的粒度。6.提出一种基于静态计算分割的同步消除技术。针对引用点之间的关系提出3类概念:对计算分割系数一致的引用点、强分离的引用点、分离的引用点,并分别求出其对同步消除的影响——对应的无同步偏移;最后在一个整体框架中实现了基于计算分割调整的同步消除算法;此外,还研究了过程间同步点消除的实现。我们认为,支持混合内存体系结构和层次并行的编译技术是一个值得研究的方向。本文的探索性研究仅仅是个开始。
曾碧卿, 陈志刚, 吕西红, 刘安丰[4]2004年在《基于Linux的SMP机群环境中并行I/O模型研究》文中研究表明提出了一个基于数据通路的波浪推进式并行I/O模型框架,并在基于Linux的SMP机群系统中,根据波浪推进式并行I/O模型框架对各个数据通路进行建模,具体分析了这个波浪推进式并行I/O模型,从思路上解决了刻画并行I/O性能的并行I/O模型问题。
参考文献:
[1]. 基于SMP机群的虚拟共享存储系统[D]. 刘海明. 中国科学院研究生院(计算技术研究所). 2001
[2]. 基于SMP机群的层次化编程模型的设计及实现[D]. 张丹丹. 曲阜师范大学. 2013
[3]. SMP机群上的并行代码优化技术[D]. 陈莉. 中国科学院研究生院(计算技术研究所). 2002
[4]. 基于Linux的SMP机群环境中并行I/O模型研究[J]. 曾碧卿, 陈志刚, 吕西红, 刘安丰. 计算机工程与应用. 2004