分布式计算系统的互连——分布式计算系统原理(2)

大数据技术 潘老师 3年前 (2021-04-02) 1509 ℃ (0) 扫码查看

一、多处理机系统

本节简要介绍分布计算系统的互连,即多处理机系统的互连操作。多处理机系统模型主要有三类:

  • 共享存储器多处理机
  • 消息传递多计算机
  • 广域分布式系统

1)共享存储器多处理机:获得高速的一种处理方式就是使用并行处理机。这些机器使用许多CPU, 每一个都以“通常”的速度运行,但是总体上会比单个CPU强大得多的计算能力。
2)消息传递多处理机系统:许多CPU-存储器通过某种高速互联网络连接在一起。这种系统称为消息传递型多计算机。
3)广域分布式系统:所有计算机通过一个广域网连接起来,如因特网构成了一个分布式系统。
我们重点讲解第一种。
分布式计算系统的互连——分布式计算系统原理(2)

二、共享存储器的多处理机系统

共享存储器的多处理机系统找中所有CPU直接访问共享的存储器。
它们分为基于总线的多处理机基于交换的多处理机

1、基于总线的多处理机

基于总线的多处理机是用一条高速总线将多台CPU和一个共享存储模块连接在一起。这类总线有SCI、VME、Multibus II和Futurebus+等。如果CPU A将一个字写入存储器,稍后CPU B读取该字时,得到的内容是A刚写入的内容。具有这种性质的存储器称为连贯的(Coherence)。这种结构的缺点是处理机数量不能太多,如果超过5个CPU,总线就会不堪重负,效率急剧下降。解决的办法是在CPU和总线之间加装一个高速缓冲存储器(CacheMemory)。缓存中存放最近被访问的字,所有对存储器的请求都通过缓存。如果请求的字在缓存中,缓存便对CPU的请求作出响应,而不用经过总线访问共享存储器。当缓存容量足够大时,从缓存获得所需要的字的概率(命中率)会很高。这样CPU在总线上产生的通信量会显著下降,总线挂接的CPU数量可以增多。下图是带高速缓存的基于总线的多处理机系统。
分布式计算系统的互连——分布式计算系统原理(2)
引入高速缓存也带来了其他问题。如果CPU A和CPU B将同一个字读入自己的高速缓存,A改变了该字,而后B从自己的高速缓存读出的是该字的旧值,而不是A改写了的新值。这就是高速缓存的非连贯性(No-coherence)问题在分布式计算系统中,为了提高系统性能,客户端常常采用高速缓存,就会带来非连贯性问题,即非一致性问题。

2、基于交换的多处理机

尽管基于总线的多处理机系统采用了高速缓存,挂接CPU的数量还是有限。譬如说,CPU在256个以上,互连机制就要采用交叉开关或Omega交换网等高速互连机制,如图所示。这时需要将存储器分成多个模块,形成二维布局。如果CPU和存储器模块都是n个,最好情况是形成n个并行通路,n个CPU可同时访问各自的存储模块。图(a)的优点是速度快,但开关数目用得多,是nXn个(图中为4X4);图(b)的优点是开关数目少(图中为4个2X2开关),但信号传送级数增多,延时加大。
分布式计算系统的互连——分布式计算系统原理(2)

3、总结

(1)基于总线的多计算机系统
这种系统的规模较小,采用高速以太网或Myrinet网互连多个工作站,称为工作站集群COW(Cluster Of Workstations)。它没有专门措施来保证高速的I/O带宽,也没有专门的故障防护措施,使得COW价格低廉易于使用。

(2)基于交换的多计算机系统
这种系统规模很大,通常有几千个节点,称为大规模并处理机MPP系统。它是并行高性能计算机的主要结构

三、UMA与NUMA的区别

上述基于总线或基于交换的多处理机被称为一致性存储访问结构UMA(UniformMemoryAccess),因为所有处理机访问存储器的时间是相等的。如果每个处理机都有私有存储器,而这些私有存储器又声称可被其他处理机共享,则构成全局存储器。这种多处理机系统称为非一致性存储访问结构NUMA( Non-Uniform Memory Access Architecture)。因为在这种结构中,访问本节点存储器的时间远少于访问远程节点存储器的时间。

在UMA结构中,如果所有处理机都能执行操作系统和I/O操作,称为对称多处理机系统;只有特定的处理机执行操作系统和I/O操作,则为非对称多处理机系统。

UMA或NUMA多处理机都可以接人Internet,作为分布式计算系统的一个节点使用。
以下是UMA与NUMA之间的重要区别:
分布式计算系统的互连——分布式计算系统原理(2)

三、同构多计算机系统

与多处理机系统不同,组建同构多计算机系统相对容易些,因为每个节点是一台计算机,包含CPU和存储器。唯一要解决的问题是节点之间的通信问题。与共享存储器多处理器的CPU和存储器之间的通信相比,节点间的通信量要少几个数量级。同构多计算机系统的互连也有两种结构:基于总线的多计算机系统和基于交换的多计算机系统。

(1)基于总线的多计算机系统。这种系统的规模较小,采用高速以太网或Myrinet互连多个工作站,称为工作站集群COW(Cluster Of Workstations)。它没有专门措施来保证高速的I/O带宽,也没有专门的故障防护措施,使得COW价格低廉,易于使用。

(2)基于交换的多计算机系统。这种系统规模很大,通常有几千个节点,称为大规模并处理机(MPP)系统。它是并行高性能计算机的主要结构,其互连机制采用超立方体拓扑和二维或三维网状拓扑。主要代表有: Intel iPSC/1、nCUBE/2(8192个节点)和Mosaic C(16384个节点)。

无论是规模较小的工作站集群,还是规模很大的并行高性能计算机,都可以接入Internet,成为分布式计算系统的一个节点。

三、异构多计算机系统

目前,多数分布式计算系统是建立在异构多计算机系统之上。组成异构多计算机的节点可能有着很大的差异,表现在处理机类型.存储器容量大小、I/O带宽以及操作系统等方面。有的节点本身就可能是多处理机系统、集群或并行高性能计算机。异构多计算机系统节点间是通过互联网络如Internet连接起来的。计算机网络实际上是异构多计算机系统。许多大规模异构计算机系统没有一个整体的系统视图,即应用程序不能假定在系统中各处都能提供相同的性能和服务,不可能对应用程序隐藏不同节点之间的差异。为了使应用程序开发人员不必关注底层硬件和操作系统的差异,建立在异构多计算机系统上的分布式计算系统,有两种实现方法,即采用分布式操作系统和中间件软件层。Amoeba是运行在异构计算机上的分布式操作系统,为系统提供单一的视图。现在大多数分布计算系统是建立在校园网、城域网和互联网之上。例如,卡内基梅隆大学的Andrew分布式计算环境就是建立在校园网基础之上。网格计算工程I WAY(Information Wide Area Year)是将若干个国家计算中心的高性能计算机和其他科研仪器设备,通过Internet连接起来,构成一个分布式计算系统。这种分布计算系统是用中间件软件层屏蔽了底层硬件和操作系统差异,为应用程序开发者提供一个抽象统一的平台。

更多内容参考此篇博文


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/bigdata/2917.html
喜欢 (2)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】