首页 > 编程知识 正文

分布式并行计算(并行计算与分布式计算原理)

时间:2023-05-04 07:36:49 阅读:121767 作者:3326

云计算是更好地利用IT基础设施、服务和APP应用的新技术趋势。 云计算采用付费服务交付模式,用户不需要拥有自己的基础设施、平台或APP应用程序,只在需要时才可以使用这些服务。 串行和并行是两种基本的主要计算模型。 串联计算始于20世纪40年代,比并行(方差)计算早近10年。 当时,体系结构、编译器、APP应用程序和问题解决环境已成为计算发展的四个重要因素。

计算时代的兴起离不开硬件体系结构的发展,最终产生了系统软件,特别是在编译器和操作系统领域实现了系统管理和APP应用程序的开发。 研究和开发APP应用和系统最感兴趣的地方是,一旦设计了解决问题的环境,并能够为工程师们提供便利,这种研究开发就会逐渐集成。 这表明计算范式已经成熟并成为主流。 另外,计算时代的各个方面都经历了三个阶段; 研发(RD )、商业化、商品化。

并行计算与分布式计算

并行计算和分布式计算有细微的区别,但两个概念经常可以交换。 并行表示一种耦合系统,方差表示一种更广泛的系统,包括耦合系统。

更确切地说,并行计算是一种将计算任务分配给共享同一内存的多个处理器的计算模式。 并行计算系统的体系结构通常表现为组件的同构; 每个处理器都属于同一类型,具有相同的处理性能。 共享内存具有可由所有处理器访问的独立地址空间。 并行程序可以划分为多个执行单元,并分配给不同的处理器,它们之间经由共享存储器相互通信。 最初,只有具有共享相同物理内存的多处理器的体系结构才称为并行系统。 随着时间的推移,这些限制变得缓和,使得无论是基于共享存储器这一概念的架构、物理存储器系统还是由库、特定硬件和有效网络基础设施构成的系统例如,如果群集中的节点通过无限带宽的网络连接,并且配置了分布式共享内存系统,则将其称为并行系统。

分布式计算是指划分计算任务并在不同计算单元中同时执行的架构或系统,其中计算单元可以是不同节点上的处理器、同一计算机上的处理器或同一处理器中的核心因此,分布式计算比并行计算的系统和APP应用范围更广,是一个更常见的概念。 虽然没有规定,但术语分布式通常表示计算单元的位置不同,硬件和软件功能可能不同。 典型的分布式系统示例是计算网格或互联网计算系统,分布式系统在全球范围内集成了各种体系结构、系统和APP应用程序。

并行处理硬件架构

并行处理的核心要素是CPU。 根据可以同时处理的指令流和数据流的数量,计算机系统可以分为四类:

单指令流单数据流(SISD )系统。

单指令流多数据流(SIMD )系统。

多指令流单数据流(MISD )系统。

多指令流多数据流(MIMD )系统。

1、SISD系统

SISD计算系统是能够在单个数据流上执行单个指令的单处理器机器。 在SISD系统中,机器命令按顺序处理,因此采用该模式的计算机通常称为顺序计算机。 大多数传统计算机都是用SISD模型构建的。 需要处理的命令和数据都必须存储在主存储器中。 在SISD模型中,处理单元的速度受计算机内部信息传递速度的限制。 典型的SISD系统为32 IBM PC、MAC OS和工作站。

2. SIMD系统

SIMD计算系统是在不同数据流上操作并能够在多CPU上执行相同指令的多处理器机器。 由于包含大量的向量和矩阵运算,基于SIMD模型的机器适用于科学计算。 例如,字符Ci=AiBi可以传递给所有处理单元(PE ),其中向量a和b中的有组织数据元素可以分成多个组,一个PE处理一个数据集合,其中n组对应于n个PE系统

3、MISD 系统

MISD计算系统是在相同数据集上操作并能够在不同PE上执行不同指令的多处理器机器。 例如,语句33y=sin(x ) cos (x ) tan (x ) )对同一数据集执行不同的操作。 使用MISD模型构建的计算机不适用于大多数APP应用程序。 已经设计的一些机器没有商业化,更像是智能测试,而不是实用的配置。

4、MIMD系统

MIMD计算系统是能够在多个数据集上执行多个指令的多处理器机器。 由于MIMD模型中的每个PE都有各自的指令和数据流,因此使用该模型的计算机可以应用于任何类型的APP应用程序。 与SIMD和MISD机型不同,MIMD机器的PE异步工作。

MIMD机器根据PE和主存储器的结合方式,大致分为共享存储器MIMD和分布式存储器MIMD。

p>

 

(1)共享内存 MIMD计算机

 

在共享内存 MIMD 模型中,所有执行单元都连接到一个可供访问的单一全局内存上。基于这个模型的系统也称为紧耦合多处理器系统。模型中 PE 之间通过共享内存进行通信,一个 PE 修改存储在全局内存中的数据,对所有其他 PE都是可见的。共享内存 MIMD 模型的典型系统主要有 Silicon Graphics 计算机和 Sun/IBM SMP(对称多处理器)。

 

(2)分布式内存MIMD计算机

 

在分布式内存 MIMD 模型中,所有 PE都有一个本地内存。基于这种模型的系统也称为松耦合多处理器系统。模型中的 PE 之间通过内部互联网络进行通信(进程间通信通道/ IPC)。PE 之间的网络连接可配置成树状、网状、块状等。每一个 PE 进行异步操作,如果任务之间需要通信/ 同步,那么可以通过互相交换信息来实现。

 

共享内存 MIMD 架构与分布式内存 MIMD 模型相比,前者更易编程,但对故障的容忍度更低且更难扩展。共享内存 MIMD 中的故障会影响整个系统,但是分布式模型则不然,分布式模型的每一个 PE 都可以轻易地实现隔离。此外,共享内存 MIMD架构难以扩展,因为增加更多的 PE 会导致内存争用。在分布式内存 MIMD 模型中不会出现这种情况,因为每一个 PE 都有自己的内存。

 

分布式系统架构和组件

 

分布式系统是从硬件到软件的整个计算层次模型中多个组件交互的结果。许多组件协同工作,为用户呈现出一个单一的整体系统。下图描述了提供分布式系统服务的不同层的概况。

 

 

在底层,计算机和网络硬件构成了物理基础设施,这些组件由操作系统直接管理。操作系统负责提供基础服务,用于进程间通信、进程调度和管理、文件系统和本地设备的资源管理。将网络和计算机这两层合并为一个平台,在这个平台上配置特定软件,便可将联网计算机组成一个分布式系统。

 

把公认的标准应用到操作系统层甚至硬件网络层中,利用异构组件可以很容易地构造一个统一的集成系统。例如,不同设备之间的网络连接由协议进行控制,实现设备无缝交互。在操作系统层,进程间通信服务在标准化通信协议下执行,例如 TCP/IP协议、UDP 协议等。

 

中间件层利用这些服务构建了一个开发和部署分布式应用程序的统一环境。这一层支持分布式系统的编程范式。依靠操作系统提供的服务,中间件层可开发协议、数据格式以及用于开发分布式应用程序的编程语言或框架。这些为分布式应用程序开发人员提供了统一接口,完全独立于底层操作系统且屏蔽了底层的异构性。

 

分布式系统层次架构的顶层是利用中间件设计和开发的应用或服务。设计应用层可实现多个目的,并且具有通过本地或 Web 浏览器可访问的图形用户接口(GUI)。例如,在云计算系统中,不论是为终端用户提供分布式应用接口,还是为构建分布式系统提供平台服务,都强烈推荐采用 Web技术。laaS 的供应商给出了很好的实例,如亚马逊 Web 服务(AWS)便于创建虚拟机、将虚拟机组织成集群以及在集群中部署应用和系统。图 2-11说明了分布式系统的一般参考架构如何应用于云计算系统。

 

 

硬件和操作系统层组成了一个或多个数据中心的最基本结构,其中服务器通过高速网络部署和连接在一起。这些硬件由操作系统管理,操作系统提供了基本的管理计算机和网络的能力。核心业务逻辑在管理虚拟化层的中间件上实现,虚拟化部署在物理机上,以实现最大化资源利用。并目提供可定制的应用运行环培。按照为客户提供的服务类利。中间件为应用开发人员提供了不同的工具。这些工具通过 Web 2.0 兼容接口提供了—系列服务,包括电拟机创建、应用程序开发和运行环境部署。

 

今天的内容分享完毕,深入技术细节及解决方案,请参考:

详解DPDK和SPDK技术知识点

高性能计算技术、方案和行业全解(第二版)

InfiniBand架构和技术实战总结(第二版)

RDMA原理分析、对比和技术实现解析

 

推荐:全店资料打包(含现有、新增和内容更新)持续更新,微店留言免费获取持续更新。

全店铺技术资料打包(全)

 

 

转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。

 

推荐阅读

更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。

全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。

 

 

温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)”电子书资料详情。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。