一种分布式存储器共享管理方法

文档序号:6409084阅读:726来源:国知局
专利名称:一种分布式存储器共享管理方法
技术领域
本发明涉及计算机体系结构、分布式计算机系统、并行处理和计算机操作系统,特别涉及对以MIMD方式工作的多计算机系统分布式存储管理方法。
本发明的技术背景。
首先简要介绍共享存储器与消息传递(massage-passing)的概念。松散耦合与紧密耦合多机系统是MIMD系统的两大分支,其划分的标准即是否具有共享存储器。紧密耦合系统一般指具有共享存储器的多处理机系统,松散耦合系统则指以message-passing方式运行的多计算机系统。最近几年内的研究结果表明,这两类系统的划分不再那么绝对。
多机系统的一种存储管理方式是通过系统全局共享存储器形成处理机间的紧密耦合。一般,共享存储器的多处理机系统允许多个处理机在一个单一的全局地址空间内访问存储器。为了支持多个处理机对存储器的同时访问,存储器通常在物理上分成若干存储单元,或称存储模块,这些存储单元通过开关网络与多个处理机相连,使得一些并发的存储器访问请求能同时被服务。为了减少通过开关网络访问存储器的延时,共享存储器的处理机往往带有局部存储器或高速缓冲存储器,局部存储器中存放最近使用的全局变量的副本。系统必须提供存储器一致性的保障机制,使得局部存储器内的副本与全局存储器内的内容保持一致。尽管存储单元在物理上是独立的模块,但在逻辑上,它们构成一个单一的全局地址空间。共享存储器比massage-passing能够更有效地支持并行计算和并行程序的编制。
多机系统的另一种存储管理方法是分布式共享存储器DSM。从存储体系的角度看,基于massage-passing的多计算机系统具有分布式的存储器体系结构,每个结点具有彼此独立的存储管理机构和管理策略,共享的数据经过通讯机构在结点的存储器之间传递。分布式共享存储器DSM是近几年发展的一种新的多计算机系统存储器组织方法。DSM体系中没有可被所有结点机访问的物理共享存储器。在结点计算机中,处理器与一个在物理上与其它存储模块分离,在逻辑上自有的存储器相连。通常不存在一个全局的地址空间。共享虚拟存储器是系统中所有处理器共享的一个唯一的地址空间。任何一个位于系统中的处理器可以直接存取这个唯一的地址空间中任意的存储位置。每个处理器将与已相连的本地存储器视为一个物理上并不存在的、共享的、虚拟存储器序列的高速缓存。
多计算机的机间进程通过发送和接收共享的数据信息实现协作。在以页式管理为基础的共享存储器系统中,需要考虑如下的几个问题.远程调页与单机的虚拟存储体系不同,在分布式共享存储体系中,当发生页面访问错时,所需的页面不但可能在磁盘中,还可能在其它计算机的局部存储器中。
.页面定位DSM系统必需设法使系统内每个计算机知道它们所需的页面在系统中的位置。
.存储一致性由于DSM在松散耦合的计算机系统中支持存储器的共享,于是面临类似于多处理机系统中的多cache一致性问题。
.页面活动的时机页面活动包括页面的复制,迁移和失效标注。对页面活动的有效组织与管理是使DSM系统提高性能的重要手段。
.页面的尺寸与传统的请求调页(paging-demand)一样,较大的页面能提供较高的命中率,但页面调动的开销相应也大。选择合适的DSM页面尺寸也是设计的重要研究内容。
分布式共享存储器的参考文献有Fleisch,B.D.,在宽分布系统中的分布式共享内存(Distribued SharedMemory in a Loosely Couped Dis-tributed System.)Proc.Compcon 88,工程索引(IEEE),第182-184页,1988年2月;Black,D.L.,Gupta,A.,Weber,W.-D.,分布式共享内存的竞争管理。(Competitive Management of Distributed Sharedmemory.)Proc.of Spring Compcon 88,工程索引(IEEE),1988年;Li,K.,Hudak,P.,共享虚拟内存系统的内存一致性(Memory Coherenceof Shared VirtualMemory Systems.ACM Trans.on Computer System),1989年7月,第321-359页;Ramachandran,H.,M.Ahamad,M.Y.A.Khalidi,分布共享内存的一致性同步和数据传输(Coherence of Distributed Shared memoryUnifyingSynchronizationand Data Transfer.)Proc.ofthe Intl.Conf.并行处理(Parallel Processing),1989年8月,第160-169页等等。
共享虚拟存储器的参考文献有Li,k.,IVY一种并行计算机的虚拟共享内存系统 (A Shared Virtual Memory System for ParallelComputing.)Proc.ofthe 1988 Intl.Conf.关于并行处理(Parallel Pro-cessing)1988年8月。全局共享存储管理方法和分布式共享存储管理方法DSM的比较见表1。
表1两种存储管理方法比较
本发明的目的是提供一种针对多机系统中分布式存储体系的介于全局共享存储管理和分布共享存储管理之间的存储管理方法;称之为存储器共享窗(Memomry Shared Window),简称MSW。它是一种用于在以总线桥网为基础的多计算机系统上构成分布式共享存储体系的存储器管理方法。MSW充分利用总线并行通讯所提供的条件,一方面支持类似于松散耦合计算机系统上的DSM的管理,另一方面能够在系统的局部实现真正的暂时存在的共享存储区域,所谓存储器共享窗映象区。
本发明的技术方案是一种分布式存储器共享管理方法,其特征在于,
(1)、以总线桥网为基础将若干台异构或者同构的独立的计算机连接成具有分布式共享存储体系的并行多计算机群系统,其连接方法是由安装在终端结点计算机TN内的结点互连适配器XBH将该TN的机内总线协议转换成一种中间协议——总线桥协议;由若干个具有多端口的互连开关SN和在不同SN端口间构成通路的电缆或者光缆相互连接构成总线桥网,每台终端计算机TN通过其上安装的结点互连适配器XBH上的BBP端口与一个SN上的一个端口连接,构成并行的多计算机系统;(2)、利用总线桥并行通讯协议所提供的条件,支持基于软件实现的分布式存储器的虚拟共享管理,即通过软件支持,形成系统中所有计算机共享的一个唯一的地址空间即共享虚拟存储器,任何一个位于系统中的计算机都可以直接存取这个唯一的地址空间中任意的存储位置,每个计算机通过虚拟共享存储器的映象可以实现对其他计算机内存的访问;(3)、在总线桥网连接的基础上能够根据进程的需要在已经建立起总线桥链路的两两终端结点TN之间建立、维持或撤消位于一个TN的内存中的共享存储器窗映象区MSW,在并行多计算机群系统的局部实现真正的、暂时存在的共享存储区域;MSW在空间上由两个部分组成第一部分是在创建MSW的计算机上的物理地址空间中有一个通过虚拟映象建立的子集,但该计算机中并没有与该子集对应的物理存储器件,第二部分由系统的互连网络和映象机构在其他计算机的局部存储空间中选取;创建MSW的计算机可以将对MSW的访问映象到系统中所有其它计算机结点中允许共享的局部存储器中;(4)、MSW的关闭方法可以是完成批量的数据存取后立即关闭;也可以采用下述方法关闭在存取个别共享数据后继续存在一个小的固定时间Δt,若在此时间内没有对MSW的再次访问则关闭MSW;若MSW被再次访问,则它在该次访问后再延续一个Δt;(5)、通过软件程序实现页面定位,存储一致性的协同和页面活动时机的控制。
按表1所列的各项比较内容考查本发明的方法,其结果列于表2。
表2、本发明方法与表1中方法的比较结果
表3将本发明与DSM管理方法在软件结构方面进一步比较。
表3、在软件结构上本发明与DSM的比较
通过上面的比较可知本发明在存取速度上比DSM高,但低于全局共享存储器管理。本发明通过临时建立的共享窗口实现了局部的共享物理存储器,可抑制进程中的数据振荡,提高系统的性能。本发明通过设置参数调节共享信息的活动强度可以实现对多机系统耦合度的调节。



图1是存储器共享窗的概念示意。图2是MSW地址变换过程。图3是MSW软件功能模块及其相互关系。图4是系统结点机TN物理地址空间的划分。图5是耦合度可调并行计算机系统的虚拟存储器结构。图6是耦合度可调并行计算机系统中结点机TN存储器的物理组织。图7是MSW工作过程。图8是URLU算法的单页面转移仿真计算结果。图9是单页面仿真另一组结果。图10是多页面转移仿真计算值。
下面结合附图和实施例详细说明本发明的内容。
存储器共享窗的概念。
存储器共享窗MSW的基本思想是多计算机系统中的结点处理机通过本地存储空间的一个子集(窗口)能够直接访问多计算机系统中其他结点的局部存储器。它在空间上由两个部分组成一部分是创建MSW的计算机上物理地址空间的一个子集,没有与该子集对应的存储器件;第二部分由系统的互连网络和映象机构在其他计算机的局部存储空间中选取。通过改变网络路径和映象机构参数,创建MSW的计算机可以将对MSW的访问映象到系统中所有允许共享的局部存储区域中。同时,系统中的每个成员都可以创建MSW,因此系统具有较强的存储器共享的能力。参见图1。M为系统中各终端结点TN的物理地址空间,其中的MSW是作为映象窗口的子集1,在该TN上并没有与子集1对应的存储器件,通过这个窗口与系统虚拟共享存储器的映象,使某个TN能够访问其他TN的内存。当两个TN之间建立了真正的物理共享存储区后,将该共享存储区称为存储器共享窗映象区,仍然简称为MSW。此时称要求建立MSW的TN为MSW建立方,简称为MSW-Client,而将提供MSW的TN称为提供方,简称MSW-Server。
MSW的结构与建立。
构造MSW需要解决如下问题·创建MSW的结点机与目标结点机的连接;·存储器访问信息(地址、读/写讯号)的快速传递;·支持MSW存储管理方法的地址变换;·冲突的检测与解除;·死锁预防和解除;·存储一致性的保证。
MSW是建立在总线桥并行通讯方法的基础上,需要有总线桥网络系统的支持。关于以总线桥为基础的并行计算机群系统及其构造方法,申请入在本申请的同时也向中国专利局提出了名称为“耦合度可调并行计算机群及其构造方法”的发明专利申请,可供理解本发明时参考。因此,在本申请涉及“耦合度可调并行计算机系统”的有关概念和结构,例如总线桥、结点互连适配器XBH、总线桥协议等概念时,为节省篇幅就不再详细介绍。MSW的支持硬件应完成如下的功能·按目标结点的标号建立总线桥连接;·完成两级地址变换;·共享区域的保护。
参见图2。MSW的建立过程包括·由源终端结点机内的存储管理单元3(STN MMU)完成所需页面地址的第一次地址变换,将该页面的虚页号2变换为本地存储器的物理页号4,若该页面命中,则直接访存;若不命中,交给映象管理单元5处理,该单元位于安装在该终端结点TN内的结点互连适配器XBH内,若该页面在本地机外存中,则从外存调页;若所需页面在MSW中,则引发MSW创建进程,即建立与所需页面拥有者的总线桥,创建MSW。
·存放在系统各终端结点TN的局部存储器中的页面状态包括只读、读/写、执行、无效和MSW五种状态,由存储管理服务程序对允许进行MSW访问的页面进行MSW标识,由此划定可以建立MSW的区域,MSW的建立方MSW-Client可以通过与MSW的提供方MSW-Server之间建立的总线桥,对MSW-Server的局部存储器中有MSW状态标识的页面进行存取操作,直接影响其内容。
·在MSW-Server方的XBH中的协议转换单元内,有两个页号寄存器用于支持MSW地址变换,一个是虚页号寄存器VPNReg(未画出),另一个是MSW-Server的实页号寄存器9(PPNReg),MSW-Client通过总线桥将所需页面的虚页号填入VPNReg,由页面定位机构和方法保证该寄存器所指示的页面一定由该寄存器所在的MSW-Server所拥有,同时经总线桥7将所需页面的页内偏移6传输到MSW-Server的地址总线寄存器8,MSW-Server的存储管理单元10(OTN MMU)完成存放在虚页号寄存器VPNReg内的所需页面的虚地址与该页面在本地存储器中物理页号的转换。
·建立MSW过程中,由MSW-Client到MSW-Server的总线桥建立后,获胜的MSW-Client与MSW-Server的处理机对MSW-Serv-er的局部存储器的访问冲突由下述方法解决在MSW的存续期间,MSW-Server内的结点互连适配器XBH-S是该TN内部总线上与该TN的处理器地位相同的主设备,按照内部总线所允许的方法首先申请占用该TN的内部总线,然后再访问存储器。
从图2可以看出MSW-Client方的地址变换硬件机构主要沿用结点机原有的存储管理单元。需要增加的是在存储管理服务程序中要在原有的页面状态中增加一个MSW状态;在MSW状态页面的物理页号项中须填入本结点总线桥互连适配器XBH中MSW所对应的物理地址区域;同时要增加对MSW存在时间的管理模块。
下面通过一个实施例说明MSW-Server上的结点互连适配器BBH-S与MSW-Server的协作过程。设MSW-Server和MSW-Client是基于ISA总线的80386个人计算机。80386处理机芯片具有总线仲裁信号HOLD和HLDA、用于同步外部慢速系统的READY信号。ISA总线拥有MASTER、IOCHRDY、DRQx和DACKx等信号。总线上的IOCHRDY信号经过80386主板上的一些逻辑电路产生80386芯片的READY控制信号。DRQx被用于产生80386的HOLD信号,而HLDA信号产生总线上的DACKx信号。MASTER允许ISA总线上的外部处理机控制主板的系统地址、数据和控制总线。当MSW-Cli-ent上的BBH-C检测到存储器访问地址落入MSW内时,它立即驱动MSW-Client的IOCHRDY为无效,使MSW-Client的CPU的访存周期延长,同时,总线桥将MSW地址的页内偏移送到MSW-Server的BBH-S,与BBH-S的PPNReg的内容合成访问MSW-Server存储器的地址。同样经由总线桥到达的存储器存取讯号在BBH-S中产生DRQx,MSW-Server的80386在当前总线周期结束以后给出HLDA,并放弃对系统数据、地址和控制总线的使用权;BBH-S在收到由HLDA引起的DACKx信号后,驱动MASTER,获取对MSW-Server系统地址、数据和控制总线的使用权;这时,BBH-S将锁存的MSW地址送入地址总线,存取讯号送入控制总线,将写入MSW的内容送入数据总线(或从数据总线中读取内容,直接返回MSW-Client)。上述过程可以在完成一次MSW读写后立即结束,也可以反复多次,完成一个页面的更新或传送。结束过程包括在BBH-S一侧撤消DRQx和MASTER,在BBH-C一侧撤消IOCHRDY。更进一步还可以将MSW也关闭。上述过程说明MSW-Server存储器访问的冲突是借助MSW-Server内部的硬件控制和总线讯号来进行调解的,这有助于将各种不同总线的个人计算机或工作站尽可能不加改动地引入申请人发明的耦合度可调并行计算机系统。为了保持MSW-Server结点机的完整性,同时也为了使耦合度可调并行计算机群系统易于实现,对MSW所映象存储区域的更进一步的管理,如访问双方的互斥,双方对共享区域的锁定与解锁,共享区域的使用历史和活动的许可的修改等等,将借助于软件方法完成。
MSW的软件组织。
由于强调系统中各终端结点TN结构的完整性,使软件在MSW的实现中起到十分重要的作用。支持MSW工作的软件分布在MSW-Cli-ent结点、MSW-Server结点和构成总线桥的开关结点以及接口部件中。因为系统中每个终端结点TN都能创建MSW,同时都有可能成为MSW的提供方,所以每个终端结点TN中的与MSW有关的软件应既支持MSW-Client方式,又支持MSW-Server方式。软件主要在MSW创建和关闭阶段起作用,而在MSW的访问过程中,主要由硬件来支持存取请求的快速响应。在系统的每个终端结点中,与MSW有关的软件应实现如下功能·失效页面的有效副本的定位。在发生页面错时,MSW的创建方应有一定的办法确认失效页的有效副本所在结点,并以之作为当前MSW-Server,为总线桥设置提供目标。
·总线桥设置。在MSW-Client和MSW-Server间建立总线桥连接。总线桥在MSW创建阶段传送供地址变换的信息,在MSW访问阶段以较小的线路延迟(相对于包交换即“packet switching”方式而言)传送地址、数据和有关的控制信息。
·具有MSW状态页面的设置与判别。在结点的虚拟存储管理系统中,要嵌入对MSW页面的设置、判别和存取控制的管理方法。
·MSW-Server的地址变换和装配。MSW-Server在身份确认后,即作为MSW-Server的TN一方面同意提供MSW的映象区域,另一方面知道了本次映象区域的申请者,应MSW-Client所要求,将BBH-S的PPNReg填入相应的页号,并与来自总线桥地址总线的页内偏移组成MSW-Server的映象区域访问地址。
·存储器一致性的维护。由于MSW-Server所提供的映象区域——共享页可能有其他副本存在于系统的其他结点内,MSW的管理软件必须保持系统中存储器映象的一致性。
·页面活动的控制。系统中存储页面的活动包括页面复制、页面迁移和页面失效。对页面活动时机的恰当选择将减少系统内信息冗余的流动,缩小系统的访问时延,从而提高系统的整体性能。
MSW的存在一方面意味着MSW-Client和MSW-Server间有快速有效的存储器共享途径,另一方面意味着包括BBH-C、BBH-S和总线桥沿线端口和链路的占用。对MSW的有效管理意味着在这两者之间取得平衡,以从整体上获得性能改善。
MSW软件模块的划分及其相互关系参见图3。从服务对象的角度看所有的模块被划分为两组,一组为MSW-Client的服务模块,另一组为MSW-Server的服务模块。从服务阶段的角度看,模块也分为两组,一组为MSW的创建阶段服务组,另一组为MSW的访问阶段服务组。在创建阶段服务的流程为页面错11→页面定位12→设置总线桥13→一致性检查和存储器协同动作14→地址变换和装配15→MSW控制16→页面错11。在访问阶段的流程为MSW页面识别与存取17→页面活动控制18→MSW控制19。MSW的关闭阶段隐含在MSW的控制模块中,且与页面活动情况密切相关。
页面定位。
·系统采用全局虚拟地址空间和局部私有空间相结合的地址空间组织,每个终端结点TN内的物理地址空间由三部分组成结点私有子空间,共享信息存储空间和存储器共享窗映象区MSW,但并没有实际存储器件与MSW所占用的物理地址区域对应,通过各个终端结点TN内地址空间中的MSW,在结点机中的存储管理单元MMU参与下实现各自独立的局部物理存储器与共享的全局虚拟存储器GVM地址空间之间的映象。
·采用分布的页面拥有者的前溯算法进行页面定位,即在局部页表中设立一个由页面可能拥有者组成的前溯链的入口,然后在运行过程中按照实际运行的结果修改入口和前溯链。
位于说明书附图第2页的图4显示出系统终端结点TN中物理地址空间的划分。其中20为结点私有子空间,存放结点启动、内部管理和一些属于不允许共享的内容。21为本结点占用的系统虚拟存储区域,其他结点通过存储器共享窗口可以访问映象到该空间的系统的虚拟存储区。22为MSW,该结点通过此窗口可以访问其他结点的21区域。MSW所占用的区域22要求没有与之对应的实际存储器件。
图5给出耦合度可调并行计算机系统的虚拟存储器结构。图6给出系统存储器的物理组织。其中P1-n为处理机,W1-n为分别属于各处理机的存储器,GVM为全局虚拟存储器。LM1-n是分别属于P1-n的局部私有存储器,Disk1-n是分别属于P1-n的外部磁盘存储器。从图中可以看出LMi不是∑LMj(j≠i)的Cache,但 是GVM的Cache。通过MSW可以使由总线桥连接的耦合度可调的并行计算机群系统具有和多处理机系统相似的存储器结构,同时又采用了全局虚拟存储体系,更增强了系统终端结点的协作能力。
在耦合度可调并行计算机群系统中,页面定位被用于确认MSW-Server,为建立总线桥模块提供目标结点。共享虚拟存储器(简称SVM)中页面定位问题的解决请参阅文献Li,K.,Hudak,P.,共享虚拟内存系统的内存一致性。(MemoryCoherence of Shared VirtualMemory System.ACM Trans.on Computer Systems),vol.7,1989年7月,第321-359页。本发明的MSW管理机构采用与SVM和Mach O.S.所使用的页面定位类似的方法,即在局部页表中设立一个由页面可能拥有者组成的前溯链的入口,然后在运行过程中按照实际运行的结果修改入口和前溯链。有关MachO.S.可参见文献Rashid,R.,Tevanian,A.,Jr.,etal.,独立计算机对单页和多页结构的虚拟内存管理。(Machine-Indepen-dent Virtual Memory Management forPaged Uniprocessor andMultiprocessor Architectures.)工程索引(IEEE)Trans.onComp.vol.C-37,No.3,1989年8月,第896-907页。
MSW-Client页面定位算法输入a每个终端结点拥有所有页面入口组成的局部页表LPT(Local Page Table)b每个页面在系统初始化时,有一个约定的初始位置。这一位置在LPT.owner域中指明c访局部存储器i不命中的页号P输出P有效副本的当前拥有者O<pre listing-type="program-listing"><![CDATA[Begin j=LPTi[P].owner; While LPTi[P].owner≠j Begin FWD=LPTi[P].owner; LPTi[P].owner=i j=FWD;end O=jEND]]></pre>分布的页面拥有者前溯算法避免了DSM系统中对页面拥有处理机的集中的访问,减少了冲突的概率和存储访问的时延。
MSW的操作有三个阶段创建、维持和关闭,参见位于附图第一页中的图7。创建MSW的时机S0是访问局部存储器发生缺页错,且已知所需要页面有效副本的拥有者。图7中T1表示发生缺页, S1为MSW创建阶段,T2表示MSW-Server的响应,S3为MSW维持阶段。本发明采用一定的页面活动控制策略降低系统整体的访存时延,减少不必要的信息流动。MSW关闭时机的选择与页面活动控制策略密切相关。MSW的维持也与页面活动控制策略相关,当强调双机间频繁的共享数据交互时,维持MSW将十分有效地提高交互的效率,而当强调全系统内降低资源占用率,以应付较大的网络负载时,MSW的维持应慎重。图7中T3表示关闭条件满足,S3为MSW关闭阶段,T4表示关闭成功,T5表示MSW的读写操作。通过对MSW的操作管理,使系统每个结点都能以构成局部的、按需存在的共享存储器的方法,有效地进行共享信息的传递和处理,在相当大的程度上克服了一般共享存储器系统扩展性差的缺点;同时又比通常的DSM系统具有更为灵活和快捷的信息共享方式。
存储器页面活动控制。
本发明控制存储器页面在终端结点TN间的活动强度,从系统整体的角度减少缺页率的方法是·当系统的某个终端结点TN访存不命中时,它就成为页面申请者PR,它将向页面提供者PO申请页面副本或者是页面所有权,采用一个称为联合LRU算法即ULRU算法的存储管理模块确定页面活动和MSW关闭的时机,ULRU算法将PR对远程页面的各种不同组合的共享情况加以简化,从中得到一个最先得知页面能够活动的优胜者,从PO处获得共享页面的副本或所有权。
·ULRU算法要在页面活动发生前预计这些活动的后果,其方法是本地存储器中页面的访问按照如下方法修改Countl的值即把本地处理机刚访问过的页面的VLRU值置为1,将原VLRU值页面与最小VLRU值间所有页面的VLRU值加1,每次远程访问则将被访问页面的VLRU值加上β,当VLRU+β>VMax时,Countl的值=VMax。
·ULRU算法通过软件编程调节页面活动性值α和远程访问值β两个可调参数,其中α≥1,β≤VMax,VMax是最大的LRU计数值,形成对系统中页面活动的控制机制。
·ULRU算法嵌入MSW-Server的缺页服务模块中。
本发明与DSM的明显区别在于它具有建立局部真正共享存储区域的能力。一般DSM系统在发生缺页错时,必须无条件地从页面拥有者处获得页面副本甚至进行页面迁移,否则发生缺页错的进程将一直被阻塞。在DSM系统稳定运行阶段,局部存储器中所包含的页面很大可能是本地处理机最近还会再次使用的,即局部存储器保存的是当前工作集。当一个远端处理机因发生缺页错而试图从本地的工作集中抽取一个页面的所有权时,该页面也将成为新获得此页面处理机的工作集的一部分。由于工作集的重叠,不可避免地会发生页面振荡的情况,使系统处理能力的很大一部分浪费在来回争用工作集的重叠部分上。同时由于DSM通讯开销的不可忽视,页面振荡将使访问共享数据的时延大大增加,DSM系统只能从用户编程的程度来减少这种情况发生的可能性,而难以从系统内部来克服这种问题。
本发明的MSW方法在总线桥的支持下拥有支持页面活动控制的能力,保证在不进行页面活动(复制、迁移、废止)的情况下,发生缺页错的进程也能执行下去。同时其存储管理策略要兼顾终端结点内部和结点之间两个方面存储器使用的要求。根据协同算法,耦合度可调并行计算机群系统的页面活动有如下几种情况a结点处理机读一个“读”属性页面不命中,需要从该页面拥有者处申请一个副本;b结点处理机读一个“可写”属性的页面不命中,需要申请一个副本,且改变该页面原有的属性;c结点处理机写一个“可写”属性的页面不命中,需要获得该页面的所有权,即进行页面迁移;d结点处理机写一个“读”属性的页面不命中,需废止该页面的所有副本,然后进行页面迁移;e进程迁移。
当发生进程迁移时,该进程所属页面的活动应以尽量满足进程运行结点的需要为原则,不必因考虑提供这些页面的结点对它们的需求而在结点间进行页面活动平衡。本发明页面活动的控制策略主要施用于a、b、c、d四种情况,尤其是b、c、d三种情况。为说明页面的活动控制,将终端结点视为两种类型页面申请者PR(与MSW-Client对应)和页面提供者PO(与MSW-Server对应)。当某个终端结点访存不命中时,它就成为PR,向页面提供者PO申请页面副本或是页面所有权。
本发明使用一个称为联合LRU算法(简称ULRU)的存储管理模块确定页面活动和MSW关闭的时机。ULRU算法将PR对远程页面的各种不同组合的共享情况加以简化,从中得到一个最先得知页面能够活动的优胜者,从PO处获得共享页面的副本或所有权。ULRU有关的数据结构包括局部LRU计数值VLRUVLRU存放在CountL中,其值越大,被换出LM或发生页面活动的可能性越大,对页面的本地访问将使VLRU减小到最小值,设1≤VLRU≤VMax。
远程访问处理机标记R-P记录最近一次访问本页面且没有引起页面活动的远程处理机。
ULRU给出两个可调参数α、β(1≤α,β≤VMax),用于调节算法的性能。其中α称为页面活性值,α越大,与之相联的页面活性越小,当VLRU>α时,允许页面活动发生。β为远程访问效应值,其值越大,远程访问的效应越大。ULRU算法嵌入MSW-Server的缺页服务模块中。
ULRU算法(MSW-Server用)<pre listing-type="program-listing"><![CDATA[Begin 局部存储器访问按LRU方法记录各页面的VLRU值; IF PRi申请页面ix活动THEN BEGIN POj修改LPTpoj[ix].R-P LPTpoi[ik].Cont Rj; POj计算CountL IF(CountL)>α THEN BEGIN ik可以按PRi要求活动; END EXIT ELSE PRi仅能通过MSW访问ik;EXITEND END]]></pre>在修改远程访问记录的同时,还要计算CountL的值。ULRU算法的一个重要目的是稳定系统内的页面活动,因此必须在页面活动发生前预计这些活动的后果。ULRU算法规定本地处理机对一个本地存储器中页面的访问按照通常LRU方法修改CountL的值,即把本地处理机刚访问过的页面的VLRU值置为1,将原VLRU值页面与最小VLRU值间所有页面的VLRU值加1,每次远程访问则将被访问页面的VLRU值加上β,当VLRU+β>VMax时,Countl的值=VMax。通常的LRU方法可参见文献Hwang,K.,Briggs,F.A.,计算机结构和并行处理。(Computer Ar-chitecture and Parallel Processing.)Mc Gtaw-HillBookCompany,1984。
在现有的DSM系统中,页面活动因缺乏对共享的硬件支持而无法进行干预,其效果相当于在ULRU算法中α取1,或者α≠1但VLRU+β>α总是成立。在本发明的方法中,通过调节α、β的值就可以有效地抑止结点间的页面颠簸现象。
设M、N为系统中的两个终端结点处理机,页面P内存有M、N和系统中其他结点共享的数据。当前页面P的所有权归M,LPTm[P].CountL=VLRU且1≤VLRU<α,当β=0时,远程访问对VLRU值没有影响;当β=α时,远程访问总能使VLRU+β>α成立,即远程访问总使VLRU值满足页面活动条件。
由于希望在访存时延、MSW占用网络时间和网络页面活动总量三者之间取得平衡,β的取值范围为0<β<α。而α值除了标称页面活性外,还有助于确定受页面活动控制保护的本地工作集的大小。假设M以概率ρL访问页面P,而N以概率ρR访问P。为便于求解,修改M访问P时对VLRU值的计算方法为访问一次P且VLRU<α时,VLRU←(VLRU-β),而N对P的访问导致VLRU←(VLRU+β),这时,形成带有一个反射壁和一个吸收壁的一维随机游动问题,状态VLRU=1为反射壁,状态VLRU≥α为吸收壁。当忽略由于M对本地存储器其他页面的访问而造成页面P的VLRU值变化,尤其是在β>1时,这种一维随机游动过程是一个齐次马尔可夫链。经推导(过程从略)可以得出页面转移的概率,如下式称为I式PVLRU=1-(&rho;L&rho;R)[VLRU&beta;]1-(&rho;L&rho;R)[&alpha;&beta;]]]>从式(I)可以看出,当ρL≠ρR,且α增加时,ρvLRU下降,这意味着α对页面活动概率的影响,即α可以成为耦合度调节的手段。
由于在建模时修改了M处理机访问页面P时,计算VLRU的方法,β取值的效果在(I)式中不够直观。
当ρL=ρR时,(I)式可改为下面的(II)式&rho;VLRU=[VLRU&beta;][&alpha;&beta;]&ap;VLRU&alpha;]]>(II)式说明当对P页面的本地访问和远程访问的概率相同时,页面活动的概率仅与P当前VLRU值和α取值有关。
在实际系统中,由于远程访问的费用大大超过本地访问的费用,因此,即使在ρR≈ρL的情况下,也应通过调节α值,使得ρLRU能够平衡远程访问费用和本地工作集稳定的开销。
页面活动的内在动力是由于数据在处理机间共享以及保证这种共享正确性的存储器协同,潜在的存储模块间页面活动量f与具体的负载情况密切相关。经过一定的页面活动控制策略C后所实际发生的页间活动的数量称为活性m,则有f→m即分布式共享存储器系统各处理单元间客观存在的数据活动特性在系统存储模块间的体现m受到C的影响。换一个角度看,可以认为C是具有分布式存储器多计算机系统的耦合程度,当C最强时,有f→0称之为紧密耦合;当C最弱时,有f→f称之为松散耦合。在系统中有f→m(0<m<f)可称之为半紧密耦合,或耦合可调,使耦合度C有了一种可行的调节手段。
为了验证调节参数α、β对系统耦合度的影响,进行了单页面和多页面的仿真计算。图8和图9都是单页面仿真结果,图10是多页面仿真的数据。通过对仿真结果的分析可以得出如下结论1、α最小时,即α≤β时,发生转移的页面数和总的转移次数总多;2、当α最大时,没有任何页面发生转移;3、当α逐步增大时,TM与PM的差值减小;4、TM较PM对α的变化更为敏感。
TM是页面活动总次数。PM是发生转移的页面数。
实施例。在上面的详细说明中,已经包括了实现本发明各个要点的实施例。在这里列举两个将本发明的方法实际应用于计算机系统的实施例。其一是在由4台80386微机作为结点机、由总线桥连接的并行计算机系统中,应用本发明的方法进行存储管理,实现了该系统在MIMD方式下耦合度的调节。其二是采用6台Sun工作站为结点机由总线桥连接成为并行计算机系统,应用本发明方法进行存储管理,实现了系统耦合度的调节。链路的设计速度为80MB/Sec。
权利要求
1.一种分布式存储器共享管理方法,其特征在于,(1)、以总线桥网为基础将若干台异构或者同构的独立的计算机连接成具有分布式共享存储体系的并行多计算机群系统,其连接方法是由安装在终端结点计算机TN内的结点互连适配器XBH将该TN的机内总线协议转换成一种中间协议—总线桥协议;由若干个具有多端口的互连开关SN和在不同SN端口间构成通路的电缆或者光缆相互连接构成总线桥网,每台终端计算机TN通过其上安装的结点互连适配器XBH上的BBP端口与一个SN上的一个端口连接,构成并行的多计算机系统;(2)、利用总线桥并行通讯协议所提供的条件,支持基于软件实现的分布式存储器的虚拟共享管理,即通过软件支持,形成系统中所有计算机共享的一个唯一的地址空间即共享虚拟存储器,任何一个位于系统中的计算机都可以直接存取这个唯一的地址空间中任意的存储位置,每个计算机通过虚拟共享存储器的映象可以实现对其他计算机内存的访问;(3)、在总线桥网连接的基础上能够根据进程的需要在已经建立起总线桥链路的两两终端结点TN之间建立、维持或撤消位于一个TN的内存中的共享存储器窗映象区MSW,在并行多计算机群系统的局部实现真正的、暂时存在的共享存储区域;MSW在空间上由两个部分组成第一部分是在创建MSW的计算机上的物理地址空间中有一个通过虚拟映象建立的子集,但该计算机中并没有与该子集对应的物理存储器件,第二部分由系统的互连网络和映象机构在其他计算机的局部存储空间中选取;创建MSW的计算机可以将对MSW的访问映象到系统中所有其它计算机结点中允许共享的局部存储器中;(4)、MSW的关闭方法可以是完成批量的数据存取后立即关闭;也可以采用下述方法关闭在存取个别共享数据后继续存在一个小的固定时间Δt,若在此时间内没有对MSW的再次访问则关闭MSW;若MSW被再次访问,则它在该次访问后再延续一个Δt;(5)、通过软件程序实现页面定位,存储一致性的协同和页面活动时机的控制。
2.根据权利要求1所述的方法,其特征在于,MSW的建立过程包括(1)、由源终端结点机内的存储管理单元(3)完成所需页面地址的第一次地址变换,将该页面的虚页号(2)变换为本地存储器的物理页号(4),若所需页面在MSW中,由映象管理单元(5)引发MSW创建进程,(2)、存放在系统各终端结点TN的局部存储器中的页面状态包括只读、读/写、执行、无效和MSW五种状态,由存储管理服务程序对允许进行MSW访问的页面进行MSW标识,由此划定可以建立MSW的区域,MSW的建立方MSW-Client可以通过与MSW的提供方MSW-Server之间建立的总线桥,对MSW-Server的局部存储器中有MSW状态标识的页面进行存取操作,直接影响其内容,(3)、在MSW-Server方的XBH中的协议转换单元内,有两个页号寄存器用于支持MSW地址变换,一个是虚页号寄存器VPNReg,另一个是MSW-Server的实页号寄存器PPNReg,MSW-Client通过总线桥将所需页面的虚页号填入VPNReg,由页面定位机构和方法保证该寄存器所指示的页面一定由该寄存器所在的MSW-Server所拥有,同时经总线桥将所需页面的页内偏移传输到MSW-Server,MSW-Server的存储管理单元OTN MMU完成所需页面的虚地址与该页面在本地存储器中物理页号的转换,(4)、建立MSW过程中,由MSW-Client到MSW-Server的总线桥建立后,获胜的MSW-Client与MSW-Server的处理机对MSW-Server的局部存储器的访问冲突由下述方法解决在MSW的存续期间,MSW-Server内的结点互连适配器XBH-S是该TN内部总线上与该TN的处理器地位相同的主设备,按照内部总线所允许的方法首先申请占用该TN的内部总线,然后再访问存储器。
3.根据权利要求2所述的方法,其特征在于,所说的页面定位机构和方法包括(1)、系统采用全局虚拟地址空间和局部私有空间相结合的地址空间组织,每个终端结点TN内的物理地址空间由三部分组成结点私有子空间,共享信息存储空间和存储器共享窗映象区MSW,但并没有实际存储器件与MSW所占用的物理地址区域对应,通过各个终端结点TN内地址空间中的MSW,在结点机中的存储管理单元MMU参与下实现各自独立的局部物理存储器与共享的全局虚拟存储器GVM地址空间之间的映象,(2)、采用分布的页面拥有者的前溯算法进行页面定位,即在局部页表中设立一个由页面可能拥有者组成的前溯链的入口,然后在运行过程中按照实际运行的结果修改入口和前溯链。
4.根据权利要求1、2或3其中之一所述的方法,其特征在于,控制存储器页面在终端结点TN间的活动强度,从系统整体的角度减少缺页率的方法是(1)、当系统的某个终端结点TN访存不命中时,它就成为页面申请者PR,它将向页面提供者PO申请页面副本或者是页面所有权,采用一个称为联合LRU算法即ULRU算法的存储管理模块确定页面活动和MSW关闭的时机,ULRU算法将PR对远程页面的各种不同组合的共享情况加以简化,从中得到一个最先得知页面能够活动的优胜者,从PO处获得共享页面的副本或所有权,(2)、ULRU算法要在页面活动发生前预计这些活动的后果,其方法是本地存储器中页面的访问按照如下方法修改Countl的值即把本地处理机刚访问过的页面的VLRU值置为1,将原VLRU值页面与最小VLRU值间所有页面的VLRU值加1,每次远程访问则将被访问页面的VLRU值加上β,当VLRU+β>VMax时,Countl的值=VMax,(3)、ULRU算法通过软件编程调节页面活动性值α和远程访问值β两个可调参数,其中α≥1,β≤VMax,VMax是最大的LRU计数值,形成对系统中页面活动的控制机制,(4)、ULRU算法嵌入MSW-Server的缺页服务模块中。
全文摘要
本发明涉及计算机体系结构、分布式计算机系统、并行处理和计算机操作系统,特别涉及对以MIMD方式工作的多计算机系统分布式存储管理方法,本发明基于由总线桥连接构成的并行计算机系统的硬件基础,采用既不同于全局共享存储器,也不同于通常DSM的存储管理方法,形成一个称为存储器共享窗的新的存储管理方法,使由多计算机系统的耦合度可以通过设置参数α、β的方法进行调节,提高系统的整体性能。
文档编号G06F15/16GK1149736SQ9510607
公开日1997年5月14日 申请日期1995年6月5日 优先权日1995年6月5日
发明者金利杰, 李未 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1