《分布式共享存储器》PPT课件.ppt
《《分布式共享存储器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《分布式共享存储器》PPT课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v什么是分布式共享存储器系统什么是分布式共享存储器系统 分布式共享存储器系统是分布式操作系统中的一个资源管理部件,它在没有物理上共享的存储器的分布式操作系统中实现了共享存储器模式。这种共享存储器模式在分布式系统中提供了一个可供系统内所有节点所共享的虚拟地址空间。程序设计者可以像使用传统的存储器一样使用该虚拟地址空间。这种物理上分布逻辑上共享的存储器就叫做分布式共享存储器(Distributed Shared MemoryDSM)。每一个节点都可以拥有存储在共享空间的数据,数据的所有者也可以跟随数据从一个节
2、点移到另一个节点。当一个进程访问共享地址空间中的数据时,映像管理员就把共享存储器地址变换到本地地址或远程的物理存储器地址。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v什么是分布式共享存储器系统什么是分布式共享存储器系统 第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v为什么需要分布式共享存储器为什么需要分布式共享存储器 DSM的计算模型和RPC的计算模型相比各有优缺点:1)DSM的计算模型支持数据在系统内移动,使数据更容易访问。2)RPC计算模型是把操作移到数据所在位置。RPC不支持程序利用其访问的局部
3、性优点,对一块远程数据的每个操作都产生通信,对数据的操作必须先定义好。但是RPC支持异构型。3)DSM可把数据移到本地节点,允许程序利用其访问的局部性优点,使用缓存器可以改善响应时间。移动性要求对数据位置进行跟踪;缓存要求解决各副本的一致性。当数据正向某个主机移动时,不能对它进行处理。如果数据经常修改,RPC模型可能更好些。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v为什么需要分布式共享存储器为什么需要分布式共享存储器 从通信机制来看,DSM与报文传递方式有以下不同:(1)访问的透明性。使用报文传递方式访问共享的数据变量时,程序必须明确地使用节点
4、地址信息和通信原语(如SEND和RECEIVE)。而在DSM中系统提供了一种抽象的共享地址空间从而隐匿了物理地址和通信细节,使得程序直接面向共享的数据。(2)共享数据结构的复杂性和异构性。使用报文传递方式,由于数据是在不同的地址空间之间传递,从而使得具有复杂数据结构的数据难于在不同类型的计算机及进程之间传递。而在DSM中,可以借助引用机制(reference)去实现上述数据访问,复杂性与异构性的问题由引用机制去处理,从而进一步简化了并行程序设计。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v为什么需要分布式共享存储器为什么需要分布式共享存储器 从通
5、信机制来看,DSM与报文传递方式有以下不同:(3)数据的局部性。在DSM中,新访问的数据项与其周围的数据一起按块或按页移动,而不是只移动新访问的数据本身。根据程序的局部性原理,这样可以大大地减小网络的通信开销。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v为什么需要分布式共享存储器为什么需要分布式共享存储器 与紧密耦合的多机系统相比,DSM系统具有以下特点:(1)规模可扩充。在紧密耦合的多机系统中,由于各处理机共享的是一个单一的物理存储器,主存访问都要经过一个集中环节(例如总线)进行,这就限制了多机系统的规模(一般为几十台处理机)。DSM不存在这样
6、的限制,可以扩充至很大的规模(多至上千个节点)。(2)廉价。由于DSM系统可以用现有的硬件来构造,并且无需连接共享存储器与处理机的复杂接口,因而DSM的构造成本要低于紧密耦合的多机系统。(3)兼容性。在共享存储器多机系统上编写的程序原则上都可以无需修改或稍加修改后转换到DSM系统上运行。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v共享存储器中缓存一致性方法共享存储器中缓存一致性方法 有两类基本方法实现缓存一致性:即探听缓存方法和使用目录的方法。探听探听(snooping)snooping)缓存方法缓存方法用于具有广播能力的通信介质中,例如共享总线
7、。每个缓存器为了保持自己数据的一致性要监听共享总线上进行的由其他处理机发出的存储器操作。Berkeley是一个典型例子,它是一种写无效协议,它假设通过单总线访问共享的物理存储器。此协议采用一个所有权方案。一个数据块的所有者是一个缓存器,是上次对该数据块的修改者,如果该块被其所有者清除,则主存作为其所有者。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v共享存储器中缓存一致性方法共享存储器中缓存一致性方法 Berkeley探听协议数据块有四种状态:重写(dirty)、共享重写、有效和无效:(1)无效。该缓存块不包含有效数据。(2)有效。该缓存块中数据是
8、有效的。(3)重写。共享存储器中的数据是不正确的,该缓存块是唯一有效的数据副本。该缓存块是数据的所有者。(4)共享重写。共享存储器中的数据是不正确的,该缓存块是数据的所有者,其他缓存中有同样的副本。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v共享存储器中缓存一致性方法共享存储器中缓存一致性方法 探听协议的写操作:探听协议的写操作:数据只能由所有者提供。有效块和无效块在替换时可以简单地扔掉。重写块和共享重写块在替换时要写回共享存储器,并把共享存储器设置为所有者。如果对缓存块进行写,而缓存块的状态是重写的,则写操作可以直接进行;但是如果缓存块是共享重
9、写、或有效,则必须向其他缓存器发送“无效”信号,然后可以进行写操作;如果缓存块是无效的,要从当前所有者那里取得数据块,再向其他缓存器发送“无效”信号,然后可以进行写操作。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v共享存储器中缓存一致性方法共享存储器中缓存一致性方法 目录协议:目录协议:在共享存储器中设置存储器块的目录。当发生缓存不命中时,先把请求转到此目录。通常目录项中包含所有权、副本集(copyset)和该块的重写位。副本集指出该块数据在哪些缓存器中有副本,可用位向量来实现。发生读未命中时,先检查重写位,如果该块不处于重写状态,则共享存储器中
10、的版本是有效的,于是简单地返回该块,并对副本集信息进行更新;如果该块的重写位置位,则该块的所有者必须修改该块,并且要更新共享存储器中的版本,向读者提供读副本。写未命中或者从读权变成写权时,要求目录的副本集使其他副本无效。与探听缓存方案不同,读副本的位置都已经知道,因此,可以用顺序方式而不是以广播方式发送“无效”报文。目录方案不要求广播介质,但在每次缓存未命中时要增加一次查表。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 vDSMDSM的设计与实现问题的设计与实现问题 (1)共享地址空间结构和粒度。共享地址空间的结构指的是存储器中共享数据的布局方法,它
11、依赖于应用程序类型,地址空间可以是平面的,分段的或物理的。粒度是指共享单元的大小,可以是字节、字、页或复杂的数据结构,它也是可用的并行性的度量,依赖于通信开销和应用程序表现的局部性类型。结构和粒度是密切相关的。(2)缓存一致性协议。不同的协议有不同的假设,选择协议依赖于存储器访问模式和支持环境。在写无效协议中,一块共享数据可能有很多个只读副本,但仅有一个可写副本,每进行一次写时,除了一个以外,其他副本均变成无效。在写更新协议中。每次写都要对所有副本进行更新。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 vDSMDSM的设计与实现问题的设计与实现问题
12、(3)同步原语。在并发访问下,光有缓存一致性协议还不能维持共享数据一致性。尚需要同步原语对访问共享数据的活动进行同步,例如信号灯、事件计数和锁等。(4)替换策略。在允许数据迁移的系统中,当共享数据占满了缓存器的有效空间时,必须决定将那些数据转移出去并且放到哪里去。(5)可扩充性。DSM系统比起紧密耦合系统来,一个重大的优点是具有可扩充性。限制可扩充性有两个因素:集中的瓶颈(像紧密耦合系统中的总线)和全局公用信息的操作及存储(如广播报文或目录等)。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 vDSMDSM的设计与实现问题的设计与实现问题 (6)异构性
13、。如何实现对两个具有不同体系结构的机器的存储器共享是个很困难的问题。两个机器甚至对基本数据类型(如整数、浮点数等)都使用不同的表达方式。(7)数据定位和访问。为了在一个DSM系统中共享数据,应用程序必须能找到并且检索所需要的数据。对于一个支持数据迁移的系统,实现这一点就更为复杂。(8)颠簸。DSM系统特别容易出现颠簸,例如若两个节点对一个数据项同时进行写,就可能产生以高速率来回传送数据的现象(乒乓效应),使得任何实际工作都不能进行。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v一致性语义一致性语义 共享存储器中常使用的一些一致性语义:(1)严格一致
14、性。对一个数据项所进行的任何读操作所返回的值总是对该数据项最近一次进行写操作的结果。(2)顺序一致性。所有进程对数据项的所有操作可以认为是按照某个顺序进行的,任何进程对这个顺序的观点是一样的。(3)处理机一致性。不仅要求一个进程中的所有写操作能够以它在该进程中出现的顺序被所有其他进程看见,还要求不同进程对同一个数据项的写操作,应该被所有进程以相同的顺序看见。第十一章第十一章 分布式共享存储器分布式共享存储器 11.1 11.1 基本概念基本概念 v一致性语义一致性语义 共享存储器中常使用的一些一致性语义:(4)弱一致性。程序员使用同步算符,使得对数据的多个操作组来说是顺序一致性的。即不同进程的
15、多个操作组可以认为是按照某个顺序进行的,任何进程对这个顺序的观点是一样的。但是操作组内的多个操作其他进程是不可见的。对同步算符是顺序一致性的。(5)释放一致性。使用了“获得”和“释放”这两类同步算符,对同步算符是处理机一致的。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v算法使用的模型和环境算法使用的模型和环境 共享存储器模型为访问共享数据提供了两个基本操作:data:=read(address)write(data,address)read返回由address指出的数据项。Write把由地址address指出的内容设置为data。
16、根据是否允许迁移或复制,可以将DSM的实现算法分成四类:中央服务员算法、迁移算法、读复制算法和全复制算法。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v算法使用的模型和环境算法使用的模型和环境 第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v中央服务员算法中央服务员算法 使用一个中央服务员,负责为所有对共享数据的访问提供服务并保持共享数据唯一的副本。读和写操作都包括由执行该操作的进程向中央服务员发送请求报文,中央服务员执行请求并回答,读操作时回答数据项,写操作时回答一个承认
17、。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v迁移算法迁移算法 数据总是被迁移到访问它的节点。这是一个“单读者/单写者”(SRSW)协议,因为在整个系统中,一次只有一个进程读或写一个给定的数据项。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v读复制算法读复制算法 对于一个当前不在本地的块中的一个数据项进行读操作时,先与远程节点通信以获得那个块的一个只读副本,然后再进行读操作。若被执行写操作的数据所在的块不在本地或在本地但主机无写权时,必须先使此块在其他节点的所有副本无效
18、,之后再进行写操作。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v全复制算法全复制算法 全复制算法允许数据块在进行写时也可以复制,因而它遵从了“多读者/多写者”(MRMW)协议。保持复制数据一致性的一种可能的方法是对所有的写操作进行全局排序,而只对与发生在执行读操作节点上的写操作相关的那些读操作进行排序。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v算法性能算法性能基本代价:基本代价:(1)p:一个包事件的代价,即发送或接收一个短包的处理代价,包括可能的任务切换、数据复制
19、及中断处理开销。实际系统的典型值的变化范围是1到几个毫秒。(2)P:发送或接收一个数据块的代价。这与p十分相似,但P值要高得多。对于一个通常需要多个包的8K字节的块来说,典型值的范围是20至40个毫秒。(3)S:参与分布式共享内存的节点数。(4)r:读/写比,即平均有r个读操作时才有一个写操作。这个参数也用于整个块的访问模式。显然这两个比可能不同,但为了简化分析假定相等。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v算法性能算法性能基本代价:基本代价:(5)f:非复制数据块(用于迁移算法)访问故障的概率。它等于单一节点连续访问一个块
20、(以后由另一个节点访问此块导致故障)的平均次数的倒数。它说明迁移算法数据访问的局部性。(6)f:读复制算法用于对复制数据块访问故障的概率。它是连续访问本地数据块中数据项(以后访问一个非本地数据块中某数据项)的平均次数的倒数。它说明读复制算法数据访问的本地性。第十一章第十一章 分布式共享存储器分布式共享存储器 11.2 11.2 实现实现DSMDSM的算法的算法 v算法性能算法性能四种算法的平均访问代价:四种算法的平均访问代价:中央服务员算法:Cc=(1-1/S)4p迁移算法:Cm=f(2P+4p)读复制算法:Crr=f2P+4p+Sp/(r+1)全复制算法:Cfr=1/(r+1)(S+2)p每
21、一个表达式都有两部分,第一部分在“”的左边,表示访问远程数据项的概率。第二部分在“”的右边,等于访问远程数据项的平均代价。第十一章第十一章 分布式共享存储器分布式共享存储器 11.3 11.3 使用目录的使用目录的DSMDSM v目录方案的分类目录方案的分类 目录:不用广播的缓存器一致性协议必须保存每块共享数据的所有缓存器副本的位置。此缓存位置表,不管是集中的还是分散的,都叫做目录。每个数据的目录项包括许多指针,用来指出此块各副本所在位置。每一个目录项还有一个“重写”位用来指明是否允许某一个(只有一个)缓存器进行写。目录协议有三种主要类型:全映像目录、有限目录和链式目录。全映像目录的每个目录项
22、保持N个指针,这里N是系统中处理器的个数。有限目录和全映像目录的不同之处在于,有限目录的每个目录项具有固定数量的指针,与系统中处理机数量无关。链式目录与全映像目录相似,只是它将目录分布于各缓存器。第十一章第十一章 分布式共享存储器分布式共享存储器 11.3 11.3 使用目录的使用目录的DSMDSM v全映像目录全映像目录 全映像目录协议使用的目录每项包含每个处理机,有一个指针并且有一个“重写”位。指针所对应的每一位代表该块在相应处理机缓存器中的状态(存在或不存在)。如果“重写”位置位,那么有且只有一个处理机的指针位被置位,允许这个处理机对该数据块进行写操作。缓存器保存每块数据的两个状态位:一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式共享存储器 分布式 共享 存储器 PPT 课件
限制150内