欢迎来到天天文库
浏览记录
ID:19270320
大小:2.03 MB
页数:47页
时间:2018-09-30
《分布式共享存储系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第七章分布式共享存储系统第七章分布式共享存储系统17.1引言17.1.1并行计算机的存储系统组织17.1.2常见的共享存储系统37.2可扩放的高速缓存一致性协议77.2.1高速缓存一致性77.2.2基于目录的高速缓存一致性协议87.3执行正确性模型和存储一致性模型137.3.1执行正确性模型和访存事件次序13*7.3.2目录协议中访存事件次序的实现157.3.3存储一致性模型177.3.4存储一致性模型的框架模型207.3.5高速缓存一致性协议和存储一致性模型227.4硬件DSM实例研究227.4.1St
2、anford的DASH多计算机(CC-NUMA结构)227.4.2KendallSquareResearch的KSR1(COMA结构)267.5共享虚拟存储系统SVM297.5.1SVM系统中的关键技术297.5.2实例研究:JIAJIA共享虚拟存储系统337.6小结:共享存储系统发展趋势40习题41参考文献44本章首先介绍DSM的基本概念和可扩放的高速缓存一致性协议以及存储器一致性模型;接着在实例研究中详细讨论了两种有代表性的硬件DSM体系结构的机器—采用CC-NUMA的Stanford大学的DASH原
3、型机和采用COMA结构的KendallSquareResearch研制的KSR1;然后介绍了共享虚拟存储系统中的一些关键技术并以实例研究的方式讨论了JIAJIA共享虚拟存储系统;最后给出共享存储系统的发展趋势。7.1引言7.1.1并行计算机的存储系统组织并行计算机按照存储系统组织及编程界面的不同,可以大致分为两类:即共享存储的多处理机系统和消息传递的分布式存储多计算机系统。471.共享存储系统和分布式存储系统共享存储的并行机通常也称作紧密耦合多处理机,它具有一个所有处理器都可以一致访问的全局物理内存,并且
4、可以通过对同一存储中共享数据(变量)的读写来提供一个简单通用的程序设计模型。用户还可以在这种系统上方便地仿真其它程序设计模型。程序设计的方便性和系统的可移植性使得并行软件的开发费用大为降低。然而,共享存储多处理机由于共享访问介质,使得在访问共享存储时要面临较重的竞争和较长的延迟,相对于分布式系统而言,这些问题会严重地损害其峰值性能和可扩放性。共享存储的多处理机如图7.1(b)所示,其中P表示处理器,M表示存储器。分布式存储的并行机通常也叫做多计算机,是由多个具有本地存储模块的相互独立的处理节点通过互连网络
5、连接而成的。其分布存储所具有的可扩放的性质使这类系统有可能获得非常高的计算性能。然而,不同节点上的进程间通信要使用消息传递模型,即通过显式的收发原语来完成。由于程序设计者需要认真考虑数据分配和消息通信,因而较共享存储系统上的程序设计要困难一些。另外不同地址空间的进程迁移使得问题更加复杂化。这样看来,分布式存储系统尽管硬件方面变得可扩放了,但软件方面的问题却更复杂了。消息传递的多计算机如图7.1(a)所示。图7.1消息传递多计算机和共享存储多处理机在共享存储系统中,所有处理器共享主存储器,每一处理器都可以把
6、信息存入主存储器,或从中取出信息,处理器之间的通信通过访问共享变量来实现。而在消息传递系统中,每个处理器都有一个只有它自己才能访问的局部存储器,处理器之间的通信必须通过显式的消息传递来进行。从图7.1可以看出,在消息传递多计算机系统中,每个处理机的存储器是单独编址的;而在共享存储多处理机系统中,所有存储器统一编址。2.分布式共享存储系统与消息传递系统相比,共享存储系统由于支持传统的单地址编程空间,减轻了程序员的编程负担,因此共享存储系统具有较强的通用性,且可以方便地移植现有的应用软件。然而,在共享存储系统
7、中,多个处理机对同一地址空间的共享也带来了一些问题。共享必然会引起冲突,从而使共享存储器成为系统瓶颈。目前在规模较大的共享存储系统中,都把共享存储器分成许多模块并分布于各处理机之中(这类系统称为分布式共享存储系统)。此外,共享存储系统都采用高速缓存来缓和由共享引起的冲突以及由存储器分布引起的长延迟对性能的影响。然而,存储器的分布会引起非一致的访存NUMA(Non-UniformMemory47Access)问题,即不同处理器访问同一存储单元可能有不同的延迟。而高速缓存的使用又带来了高速缓存一致性问题,即如
8、何保证同一单元在不同高速缓存中的备份数据的一致。访存时间的不一致以及同一单元的多个备份也破坏了存储访问的不可分割性(Atomicity),使得同一单元内容的变化在不同的时刻被不同的处理器所认识,从而影响系统的正确性。为了保证正确性,需要对访存操作的发生次序进行严格的限制,许多在单处理机中行之有效的提高性能的技术,如流水、多发射、预取、缓存等,不能在共享存储系统中盲目使用,这不利于提高性能。同时,维持高速缓存一致性需要复杂的硬件
此文档下载收益归作者所有