并行分布式计算 并行计算机体系结构

news2024/10/7 8:25:18

文章目录

  • 并行分布式计算 并行计算机体系结构
    • 并行计算机结构模型
      • SIMD 单指令多数据流
      • PVP 并行向量处理机
      • SMP 对称多处理机
      • MPP 大规模并行处理机
      • DSM 分布式共享存储多处理机
      • COW 工作站集群
      • 总结
    • 并行计算机访存模型
      • UMA 均匀存储访问模型
      • NUMA 非均匀存储访问模型
        • COMA 全高速缓存存储
        • CC NUMA 高速缓存一致性非均匀存储访问
      • NORMA 非远程存储访问
      • 总结
    • 并行计算机存储组织
      • 层次存储结构
      • 高速缓存一致性
      • 监听总线协议
      • 基于目录的协议

并行分布式计算 并行计算机体系结构

冯诺依曼体系存在的问题:运算器和存储器分离,导致运算器速度提升比存储器快得多,即“存储器墙”问题。

并行计算机结构模型

SIMD 单指令多数据流

CUDA 就是 SIMD 的形式,图形学中很多计算都是相同的计算形式、不同的数据流。

游戏图形计算中往往只需要单精度 SIMD,因为只需要算到屏幕中的某个像素的坐标(整数)。

PVP 并行向量处理机

定制高性能向量处理机,经由高带宽的交叉开关网络,连接共享存储器。

问题:交叉开关的成本高,适用于定制化的场景。

请添加图片描述

  • VP:向量处理机,vector processor
  • SM:共享存储器,shared memory

SMP 对称多处理机

商用处理器,经由高速总线(或交叉开关网络),连接共享存储器。

系统是对称的,每个处理器可以等同地访问共享存储器、IO 设备。(不同于 USMP 非对称处理机,只有部分处理器能够执行操作系统并能操作 I/O)

问题:共享存储器导致 P/C 之间的通信成本较高。

请添加图片描述

MPP 大规模并行处理机

处理节点为商用处理器,物理上的分布式存储器,专门设计和定制的高通信带宽低延迟网络。

扩展性好,能扩展到成千上万个处理器。

特点:异步 MIMD,多个进程,突破了共享内存的模式,每个处理器具有私有地址空间,所以进程间采用消息传递机制协同。

问题:改变了编程方式,一台机器上编程只能看到自己的地址空间,访问其他核和 LM 需要时钟同步。

请添加图片描述

  • LM:本地存储器,Local Memory

  • NIC:网卡,Network Interface Card

DSM 分布式共享存储多处理机

使用高速缓存目录(DIR)支持分布高速缓存一致性。

采用分布式共享存储器(逻辑上共享,由 DIR 实现),系统硬件和软件提供单一地址的编程空间。

特点:DIR 是一种硬件协议,使用 DIR 可以解决 MPP 中地址空间分隔的问题。

问题:DIR 是一种标准的协议,无法对具体的算法提供特殊优化点。

请添加图片描述

COW 工作站集群

每个节点是完整“无头工作站”(没有显示器、鼠标、键盘等),通过低成本商品网络互连。

每个节点有本地磁盘(MPP没有本地磁盘,只有本地内存),网络层耦合到 I/O 总线(MPP则是将网络层耦合到存储总线),每个节点驻留完整操作系统(MPP 的每个节点是微核)

特点:可以看作是低成本 MPP;

问题:标准以太网较慢,需要想办法降低网络负载,增加了开发难度;

请添加图片描述

总结

请添加图片描述

并行计算机系统
SIMD
MIMD
PVP
SMP
MPP
DSM
COW

并行计算机访存模型

UMA 均匀存储访问模型

特点:例如 SMP、PVP

  • 物理存储器被所有处理器均匀共享;
  • 所有处理器访问任何存储字是相同的时间;
  • 每台处理器可以带有私有高速缓存;
  • 外围设备 I/O 也可以以一定形式共享;

问题:处理器数量受限,否则交叉开关网络会变得很复杂

请添加图片描述

NUMA 非均匀存储访问模型

特点

  • 被共享的存储器在物理上是分布在所有的处理器中的,所有本地存储器的集合就组成的全局地址空间;
  • 处理器访问不同存储器的时间是不一样的,访问本地存储器 LM 或群内贡献存储器 CSM 较快,而访问外地的存储器或者全局共享存储器 GSM 较慢;
  • 每台处理器可带有私有高速缓存,外设也可以以某种形式共享。
  • 处理器数量相对于 UMA 来说可以扩展到更多,更常用;

问题:Cache 的同步协议复杂,会浪费带宽。

请添加图片描述

COMA 全高速缓存存储

Cache Only Memory Access

特点

  • 各处理器节点中没有存储器层次结构,而是由全部高速缓存组成了全局地址空间;

  • 利用分布的高速缓存目录 D 进行远程的高速缓存的访问

  • COMA 中的高速缓存容量一般都大于 2 级高速缓存容量;

  • 使用 COMA 时,数据开始时可以任意分布,因为在运行时它们最终会被迁移到要用到它们的地方

Tip:DIR 协议中就体现了 Cache

请添加图片描述

CC NUMA 高速缓存一致性非均匀存储访问

Coherent-Cache Nonuniform Memory

特点

  • 大多数使用基于目录的高速缓存一致性协议;
  • 保留 SMP 结构易于编程的特点,也改善了常规 SMP 对于处理器的可扩放性;
  • CC NUMA 实际上是一个分布共享存储的 DSM 多处理机系统
  • 最显著的优点是共享存储,程序员无需明确地在节点上分配数据,系统的 硬件和软件开始时自动在个节点分配数据。在运行期,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。

请添加图片描述

NORMA 非远程存储访问

特点:例如 MMP、COW

  • 所有存储器是私有的,仅能尤其处理器访问
  • 绝大多数 NORMA 都不支持远程存储器的访问
  • 最常用,对于计算特点明显的任务,可以对每个单独的处理器和存储器进行硬件选择和特殊优化,扩展性好

问题:编程难度高

请添加图片描述

总结

请添加图片描述

并行计算机存储组织

层次存储结构

跟之前计组学的差不多。

注意:一台机器内的存储一定要是同步的。

请添加图片描述请添加图片描述

高速缓存一致性

高速缓存策略有:

  • 写直达(WT):在某一层的存储器修改了一个字,下一层的存储器需要立即修改;尽最大可能保证一致性,但是慢;
  • 写回(WB):下一层存储器的修改延迟到上一层中修改的字被替换或者消除后才进行;节省带宽,速度快,但是容易发生共享可读写数据不一致的情况;

监听总线协议

监听协议:如果总线业务破坏了本地高速缓存中数据的一致性状态,那么高速缓存中的控制器就应采取相应的动作使本地的副本无效,采用此机制保证高速缓存一致性协议的协议称为监听协议。(想一下 SIS 里学的 MESI)

  • 写无效(WI):某一处高速缓存发生修改,通过总线是其他高速缓存无效;延迟高,总线不繁忙;
  • 写更新(WU):某一处高速缓存发生修改,通过总线广播新的数据给其他高速缓存;数据总是同步,总线繁忙;

请添加图片描述

基于目录的协议

使用一个目录来记录共享数据的所有高速缓存行的位置和状态,读取缓存就不需要经过 CPU 了,而是直接通过 DIR。

请添加图片描述

C 2 C_2 C2 读缺失时:

  • C 2 C_2 C2 产生一个请求给 D 1 D_1 D1
  • D 1 D_1 D1 指示在 C 1 C_1 C1 中有 C l e a n Clean Clean 副本;
  • 控制器将请求传递给 C 1 C_1 C1
  • C 1 C_1 C1 将内容传递给 M 1 M_1 M1 C 2 C_2 C2

C 1 C_1 C1 写命中时:

  • 控制器发送无效命令给 D 1 D_1 D1 中有标记的所有高速缓存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV实战之广角相机拍照算法

拍照是手机中的一项重要功能,目前常见的千元机中都包含数个相机模组,能够实现虚化拍照、美颜、广角拍照、夜景等功能。手机是一个拥有巨大销量的电子产品,因此成为图像处理算法的一个重要落地场景。很多AI公司聚焦于此,如虹软、旷…

Docker已经创建运行启动的容器,如何修改容器中的环境变量env使长期有效

1.查看Docker Root目录 docker info | grep Docker Root[rootjenkins ~]# docker info | grep ‘Docker Root’ Docker Root Dir: /data/docker 2.查到容器的长id(container id) 方式一: docker inspect pdmaas | grep "Id"方式…

scikit-learn决策树算法笔记总结

1. scikit-learn决策树算法类库介绍 scikit-learn决策树算法类库内部实现是使用了调优过的CART树算法,既可以做分类,又可以做回归。分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegressor。两者的参…

20230409英语学习

Dog Philosophy 101:What Dogs Teach Us About Life 狗狗教给我们的人生哲学 I recently was pleased to receive an honorary Doctor of Science Degree from the University of Guelph.As part of the ceremony I was asked to give a convocation address to the…

Openlayers(五)点位聚合Cluster

Openlayers(五)点位聚合Cluster 1.业务问题 由于点位在地图上显示过多,会造成页面卡顿、点位标注信息相互叠加导致看不清 优化后效果 不断放大层级 2.聚合类Cluster OpenLayers 中聚合是通过 ol.source.Cluster 实现,聚合的原…

如何写出10万+ Facebook 贴文?

想要创作一篇优秀的Facebook贴文,首先要考虑以下几个问题: 1.文案特点 一篇清晰简洁的文案有助于受众在有限的浏览时间内快速了解你想要展示的信息。根据以往经验,文案内容最好保持在20个汉字以内,加上链接描述最好也不要超过50…

学习Pycharm使用方法(一):Pycharm中Make available to all projects的含义是什么

Make available to all projects一、为什么要进行包管理二、怎么做1、命令行(情况一)第一步:先安装虚拟环境模块第二步 :激活虚拟 环境2、Pycharm(情况二)三、项目部署时批量导包一、为什么要进行包管理 Python中的第三方包提供了各种功能&a…

十五分钟带你学会 Docker

文章目录虚拟化与容器化什么是 DockerDocker 工作原理安装 DockerDocker 核心概念Docker fileImageContainerDocker 流程示例Docker 常用命令Dockerfile 常用指令Docker 网络通信Docker ComposeDocker Hub虚拟化与容器化 虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟…

【C++】类与对象(下)

系列文章 若想了解什么是类、封装的意义可以移步 【C】类与对象(引入) 若对六大成员函数或const成员函数有疑问的这篇文章可能可以帮到你 【C】类与对象(上) 目录 系列文章 前言 1.初始化列表 1.1概念 1.2特性 1.2.1必须使…

29考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略MATLAB程序-日前日内实时+需求响应+协调调度

资源地址: 29考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略MATLAB程序-日前日内实时需求响应协调调度-Matlab文档类资源-CSDN文库 参考文献: 考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略——金力 主要内容&…

Python入门教程+项目实战-9.3节: 字符串的操作方法

目录 9.3.1 字符串常用操作方法 9.3.2 获取字符串长度 9.3.3 字符串的大小写操作 9.3.4 删除字符串中的空白字符 9.3.5 字符串的子串查找 9.3.6 字符串的子串统计 9.3.7 字符串的子串替换 9.3.8 字符串的拆分函数 9.3.9 字符串的前缀与后缀9.3.10 知识要点 9.3.11 系…

一文教你认识分布式微服务开源框架

说到办公效率提质增效的问题,就需要了解分布式微服务开源框架了。因为这是助力企业做好数据管理、实现信息互通的得力助手和工具。在数字化发展进程越来越快的今天,实现办公自动化发展是不少用户的心愿和发展方向,采用分布式微服务开源框架可…

APK打包流程

(图是从别地儿抠过来的,所以不清晰 。) AAPT: 首先,安卓APP的资源这一块,会通过aapt进行一个编译,这个工具编译的时候,会首先会把我们的这个xml文件生成这一个R.java,然后再就是像m…

google账号注册流程升级了!2023年谷歌gmail邮箱帐号注册申请教程(完整版)

google账号注册升级了! 2023年4月份google账号注册流程升级了,升级之前的版本是完成验证手机号码后才填写用户资料,升级之后的版本是需要先填写用户资料才能注册谷歌gmail邮箱帐号; 2023年谷歌gmail邮箱帐号注册申请教程 1、打开…

ChatGPT扩展系列之解决ChatGPT 被大面积封号的终极方案

ChatGPT扩展系列之解决ChatGPT 被大面积封号的终极方案 本节介绍了一个解决ChatGPT在中国大陆无法使用和担心被封号的问题的方法。近期有很多亚洲用户被封号,原因是有人滥用API接口或者批量注册账号,不符合官方规定。对于这个问题,提出了一个解决方法,可以在中国大陆无需翻…

【NLP】pyltp工具介绍、安装和使用代码+示例

【NLP】pyltp工具介绍、安装和使用pyltp 文章目录【NLP】pyltp工具介绍、安装和使用pyltp1. 介绍2. 使用2.1 分句2.2 分词2.3 词性标注2.4 命名实体识别2.5 依存句法分析2.6 词义角色标注2.7 完整示例3. 参考1. 介绍 什么是pyltp pyltp 是LTP的 Python 封装,提供了…

uniapp - 全平台兼容的 “多图上传“ 功能,搭配 uview 组件库中的 upload 上传组件(附带详细的示例源码及注释,可直接复制使用或简单修改)

效果图 使用 uniapp 开发,多平台全端兼容的多图上传功能,支持限制个数及移除等。 组件库使用的是 uview 框架,上传组件基于 Upload组件,功能完美无bug。 准备阶段 Upload组件支持手动上传与

CMMI 3.0究竟有哪些变化?

新鲜出炉,CMMI 3.0究竟有哪些变化? 2023年4月6日,ISACA(国际信息系统审计协会)下属的CMMI研究院发布了CMMI 3.0版本。有哪些具体的变化呢?本文做了系统梳理,分为更名、新增、删除、实践域内的变…

代码随想录-67-450. 删除二叉搜索树中的节点

目录前言题目1.二叉搜索树特性递归找到要删除的节点2. 本题思路分析:3. 算法实现4. 算法坑点前言 我在刷卡哥的“代码随想录”,自己的总结笔记均会放在“算法刷题-代码随想录”该专栏下。 代码随想录此题链接 题目 1.二叉搜索树特性递归找到要删除的节…

【Python】Python中使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图

【Python】使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图 python数据可视化课程,实验二 Matplotlib 中文API:API 概览 | Matplotlib 一、实验任务的数据背景 提供的源数据(数据文件employee.csv)共拥有4个特征&…