文档详情

高等计算机系统结构.ppt

发布:2017-02-14约7.57千字共59页下载文档
文本预览下载声明
分布存储的两种编程方法: (1)message-passing,用send,receive原语实现通信,要求程序员在进程的整个运行期间对数据的移动都很清楚; (2)romote procedure call,语言一级传送控制与数据,可以看作是本地调用,但透明度有限。 缺点: 这两种方法都是用来解决不同地址空间的问题,在接点间传递复杂数据结构时都比较困难,需要打包,传递指针也不可能实现。由于个处理机拥有不同的地址空间,使得进程迁移时,该进程所分配到的操作系统资源也得一起移动(打开得文件、文件存取控制块等),这很费时。 5.4.2 DSM与SVM 1.DSM和SVM的提出 如何把共享和分布的优点结合起来,取长补短? 共享分布存储器(Distributed shared Memory,DSM) 虚拟共享存储器(Shared Virtual Memory,SVM) ——基于分布存储器的多处理机上,实现物理上分布但逻辑上共享的存储器系统。 虚拟共享存储器的逻辑结构: CPU1 …… 虚拟共享存储器 LM1 CPU2 LM2 CPUn LMn 地址映射 部件 地址映射 部件 …… 地址映射 部件 MIMD机器存储系统的发展方向: 共享存储器 分布存储器 共享分布存储器 2.DSM系统的特点 在DSM系统中,每一台处理机都可以访问全局存储器的任一位置,用户可以把它当成全局共享存储器系统。 优点: 编程容易 系统结构灵活 可扩展性好 系统价格低 有较好的软件移植性 DSM系统编制的程序比用消息传递方式编制的程序效率高: (1)在DSM系统中,数据都是以块的方式进行传送,如果一个程序具有较高的局部性,则当把一个数据块传送到一个结点后,该结点对它的访问就成为本地访问,而消息传递方式的每次访问都需要通讯。 (2)许多并行应用程序都是分阶段执行的,每次执行前,都有一个数据交换阶段,其时间受通讯限制。在DSM系统中,数据只有用到的时候才传送,取消了数据交换阶段,把通讯时间加以分散,提高了并行性。 (3)DSM提供的虚存空间比单个结点的存储空间大得多,减少了换页操作。 3.实现DSM的途径 主要有三种: (1)硬件实现:将传统的cache技术扩展应用到松耦合分布式存储多处理机。要增加专用部件以取得高效的实现。 (2)操作系统和库实现:利用虚拟存储管理机制取得共享(sharing)和一致(coherence)。 (3)编译实现:自动将共享访问转换成同步和一致原语。用户需要显式控制全局数据,当传递大量数据时或试图进行进程迁移时极其复杂。 4.主要技术 结构(structure) 粒度(granularity) 数据访问与一致性(access and cosistency) 一致性语义(coherence semantics) 可扩展性(scalability) 异构性(heterogeneity) 结构——指共享数据在存储器中的框架(如对象和语言的类型); 粒度——指基本共享单位长度(如字节、字、页或复杂数据结构)。 第五章 并行存储器系统 5.1 存储器系统的层次结构 5.2 包含性、一致性和局部性 5.3 存储器容量的规划 5.4 虚拟存储器技术 5.5 交叉访问的存储器 5.5.1 两种组织方式 5.5.2 两种方式的比较 5.3.3 带宽和容错 5.5 交叉访问的存储器 主存储器由多个模块构成。 假设主存储器包含m=2a个存储器模块,每个模块包含w=2b个存储单元(字),则总存储容量为 5.5.1 两种组织方式 交叉访问的存储器可以分为两种: (1)低位交叉方式 (2)高位交叉方式 1.低位交叉方式 存储器地址的低a位用来指明存储器模块,高b位是每个模块内的字地址。 低位m路交叉存取如下图: 地址译码器 MAB 0 m …… m(w-1) MDB M0 MAB 1 m+1 …… mw-m+1 MDB M1 …… MAB m-1 2m-1 …… mw-1 MDB Mm-1 M D B 字 模块 …… 地址 a b 数据总线 存储器数据缓冲器 模块地址缓冲器 字地址缓冲器 2.高位交叉方式 存储器地址的高a位作为存储器模块地址,邻接的存储器单元被分配在同一个存储器模块中,在每个存储器周期内,只能对各模块存取一个字。所以不支持邻接单元的成块存取。 高位m路交叉存取如下图: 地址译码器 MAB 0 1 …… w-1 MDB M0 MAB w w+1 …… 2w-1 MDB M1 …… MAB (m-1)w mw-w
显示全部
相似文档