并行计算综述

第一章 并行计算硬件平台:并行计算机


Ch1 并行计算与并行计算机结构模型

1.1多核处理器与线程级并行

1.何谓多核处理器?

将功能复杂的单一核处理器划分为若干个功能相对简单的多个处理器内核。这些多处理器集中在一块芯片上。最初称为单芯片多处理器CMP,Intel公司将其商用名定为多核处理器

2.多核处理器的意义:
  • 解决单处理器瓶颈:密集晶体管集成,功耗剧增。设计指令级并行体系结构来利用晶体管资源,但软件与硬件设计复杂
  • 具有自己的优势:CMP设计验证周期短、开发风险成本低,相对较低的主频功耗也相对较低、单处理器程序移植easy,通过布局可以改善多处理器内核之前延迟和带宽
3.微处理器中的并行方式
  • ILP:指令级并行。单处理器同一时候运行多条指令,包含乱序运行、分支预測、指令多发射、硬件预取等技术
  • TLP:线程级并行,多处理器多线程运行
  • 多任务OS:多进程多线程分时间片轮转或抢占式,OS管理
  • SMT:同一时候多线程技术,超标量与多线程的结合,同一时候发射多个线程中的多条不相关指令
  • CMP:单芯片多处理器
  • 虚拟计算技术:异构平台,剥离指令集结构和处理器依赖关系(运行时虚拟化JVM、系统虚拟化)
  • Intel超线程技术:单核心模拟双核心环境运行多线程,是一种SMT

1.2 并行计算机体系结构

1.并行计算机结构模型

(1)结构类型

  • SISD:单指令流单数据流计算机(冯诺依曼机)
  • SIMD:单指令流多数据流计算机
  • MISD:多指令流单数据流计算机
  • MIMD:多指令流多数据流计算机

(2)几种MIMD

  • PVP并行向量处理机:多VP(向量处理器)通过交叉开关和多个SM(共享内存)相连
  • SMP对称多处理机:多P/C(商品微处理器)通过交叉开关/总线和多个SM(共享内存)相连
  • MPP大规模并行处理机:处理节点有商品微处理器+LM(分布式本地内存)。节点间通过高带宽低延迟定制网络互联,异步MIMD,多个进程有自己的地址空间,通过消息传递机制通信
  • COW工作站机群:节点是完整操作系统的工作站,且有磁盘
  • DSM分布共享存储处理机:快速缓存文件夹DIR确保缓存一致性。将物理分布式LM组成逻辑共享SM从而提供统一地址的编程空间

注:对称指全部处理器都能同等地訪问I/O非常相同的运行程序(如OS和I/O服务程序)。而非对称主从式是仅有主处理器运行OS和控制訪问I/O并监控从处理器运行

2.并行计算机訪存模型
  • UMA(Uniform Memory Access)均匀存储訪问:物理存储器被全部处理器均匀共享,全部处理器对全部SM訪存时间相同,每台处理器可带有快速私有缓存,外围设备共享。
  • NUMA非均匀存储訪问:共享的SM是由物理分布式的LM逻辑构成,处理器訪存时间不一样,訪问LM或CSM(群内共享存储器)内存储器比訪问GSM(群间共享存储器)快
  • COMA(Cache-Only MA)全快速缓存存储訪问:NUMA的特例、全快速缓存实现
  • CC-NUMA(Coherent-Cache NUMA)快速缓存一致性NUMA:NUMA+快速缓存一致性协议
  • NORMA(No-Remote MA)非远程存储訪问:无SM,全部LM私有。通过消息传递通信
3.Cache一致性协议
  • 监听总线协议:总线连接通信。写无效和写更新策略
  • 基于文件夹的协议:文件夹记录共享数据缓存状态,读缺失时查看文件夹D,写更新时通知文件夹D
4.其它并行计算概念

衡量并行计算机性能单位:

  • PFLOPS:每秒1千万亿 (=10^15) 次的浮点运算
  • TFLOPS:每秒1万亿 (=10^12) 次的浮点运算
  • GFLOPS:每秒10亿 (=10^9) 次的浮点运算

TOP500前500名超级计算机排名指标(GFLOPS):

  • Rmax:Maximal LINPACK(Linear system package) performance achieved
  • Rpeak:Theoretical peak performance

Ch2 并行计算机系统互连与基本通信操作

2.1 并行计算机互连网络

互连网络是并行计算机系统中各处理器与内存模块等之间传输的机制

1.静态互连

处理单元间有固定连接的网络。程序运行期间这样的点到点的连接不变

  • 一维线性阵列LA/LC:二邻近串联
  • 二维网孔MC:四邻近连接(Illiac连接、2D围绕)
  • 树连接TC:二叉树、星型网络、二叉胖树(节点通路向根节点方向逐渐变宽,解决通信瓶颈)
  • 超立方HC:3立方、4立方
  • 立方环:3立方顶点用环取代
2.动态互连

交换开关构成的,可按应用程序要求动态改变连接组态

  • 总线:连接处理器、存储模块、I/O外围设备等的一组导线和插座,分时工作、多请求总线仲裁,多总线(本地、存储、数据、系统)和多层总线(板级、底板级、I/O级)
  • 交叉开关:高带宽的开关控制的专用连接通路网络。NxN的开关网络同一时候仅仅能接通N对源目的通信
  • 多级互联网络MIN:每一级用多个开关单元,各级之间有固定的级联拓扑
3.标准网络互连
  • FDDI光纤分布式数据接口
  • 快速以太网
  • Myrinet:商用千兆位包开关网
  • InfiniBand:交换式通信结构

2.2-2.5 通信代价公式

1.选路

(1)消息格式

消息是由一些定长的信包组成,信包包含了

  • 选路信息R
  • 顺序号S
  • 多个数据片D

(2)存储转发选路SF

SF中信包是基本传输单位,中间节点必须收齐信包中全部分片且存储在缓冲器后才可能传向下一节点

长度为m的信包,穿越l条链路,SF基本通信时间公式:

tcomm(SF)=ts+(mtw+th)l

当中ts是启动时间,th是节点延迟时间。tw是传输每一个字节的时间(带宽倒数)

(3)切通选路CT

CT中信包切片传输(包头和数据片),相似流水线

长度为m的信包。穿越l条链路。CT基本通信时间公式:

tcomm(CT)=ts+mtw+lth
2.SF一到多播送

(1)一维环

最远的节点是瓶颈:

tone−to−all(SF)=(ts+mtw)⌈p/2⌉

(2)带围绕的Mesh

先完毕行SF围绕播送,再完毕列的SF围绕播送(即两次节点个数为p‾‾√的一维环SF):

tone−to−all(SF)=2(ts+mtw)⌈p‾‾√/2⌉

(3)超立方
同理带围绕的Mesh,可推知:

tone−to−all(SF)=3(ts+mtw)⌈p13/2⌉
3.CT一到多播送

(1)一维环

CT通信时间与中继节点无关。採取先按高维播送,再按中维播送,最后按低维播送:

tone−to−all(CT)=∑i=1log(p)(ts+mtw+th×p/2i)=(ts+mtw)log(p)+th(p−1)

(2)带围绕的Mesh

tone−to−all(CT)=(ts+mtw)log(p)+2th(p‾‾√−1)

(3)超立方

tone−to−all(CT)=(ts+mtw)log(p)
2.SF多到多播送

(1)一维环

p-1次环路传播:

tall−to−all(SF)=(ts+mtw)(p−1)

(2)带围绕的Mesh

先行环路多播,再列环路多播

tall−to−all(SF)=(ts+mtw)(p‾‾√−1)+(ts+mp‾‾√tw)(p‾‾√−1)=2ts(p‾‾√−1)+mtw(p−1)

(3)超立方

tall−to−all(SF)=tslog(p)+mtw(p−1)

Ch4 并行计算性能评測

4.1 基本性能指标(见书)

4.2 加速比性能定律

约定:

  • p是处理器数
  • 问题规模W=程序中串行分量Ws+可并行部分Wh
  • f为串行部分比例,f=Ws/W
  • S为加速比
1.Amdahl加速定律

固定负载加速比公式:

Slimp→∞S=Ws+WpWs+Wpp=1f+1−fp=1f

若考虑并行额外开销W0:

Slimp→∞S=Ws+WpWs+Wpp+W0=1f+1−fp+W0W=1f+W0W
2.Gustafson

实际应用中增多了处理器不会固定问题规模,而是保持总时间不变的情况下去增大问题规模:

S=Ws+pWpWs+pWpp=Ws+pWpWs+Wp=f+p(1−f)

若考虑并行额外开销W0:

S=Ws+pWpWs+pWpp+W0=Ws+pWpWs+Wp+W0=f+p(1−f)1+W0/W
3.Sun&Ni定律

问题规模添加了,对应的存储容量也要添加p倍,令因子G(p)为存储容量添加到p倍时工作负载的添加,则有加速比:

S=Ws+G(p)WpWs+G(p)Wpp=f+(1−f)G(p)f+(1−f)G(p)/p

若考虑并行额外开销W0:

S=Ws+G(p)WpWs+G(p)Wp+W0p=f+(1−f)G(p)f+(1−f)G(p)/p+W0/W

版权声明:本文博主原创文章。博客,未经同意不得转载。

并行计算综述————第一章 并行计算硬件平台:并行计算机相关推荐

  1. 并行计算复习————第一篇 并行计算硬件平台:并行计算机

    并行计算复习 第一篇 并行计算硬件平台:并行计算机 Ch1 并行计算与并行计算机结构模型 1.1多核处理器与线程级并行 1.何谓多核处理器? 将功能复杂的单一核处理器划分为若干个功能相对简单的多个处理 ...

  2. STM32单片机开发应用教程 (HAL库版) ---基于国信长天嵌入式竞赛实训平台(CT117E-M4)教程汇总 与第一章 硬件平台简介

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>教程汇总,第一章将介绍国信长天嵌入式竞赛实训平台(CT117E-M4) ...

  3. Java Web:开篇综述与第一章

    前言 翻开这本书,又是一段新的学习路线,在学习的道路上是枯燥的,是乏味的,难免有放弃的想法.但回看曾经的学习笔记,自己也一步一步走过来了,即使会自我怀疑自我否定,但不坚持不努力是永远没有结果的,请铭记 ...

  4. 第一章:赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)入门综述

    第一章:赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)入门综述 引言 Zynq的多处理器片上系统(MPSoC)简介 Xilinx 片上系统(SoCs)发展简介 设计方法 引言 本专栏 ...

  5. Cyclone V SoC FPGA学习之路第一章:综述

    Cyclone V SoC FPGA学习之路第一章:总体了解 关键词: adaptive logic modules – ALM 自适应逻辑模块 logic array block --LAB 逻辑阵 ...

  6. 虚拟机--第一章走进java--(抄书)

    这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第一章走近java 世界上并没有 ...

  7. [深入理解Java虚拟机]第一章 走进Java

    第一章 概述 世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的程. 1.1 概述 Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这 个 ...

  8. 第一章 Spark系统概述

    第一章 Spark系统概述 目录 大数据处理框架 Spark大数据处理框架 RDD表达能力 Spark子系统 注:学习<Spark大数据处理技术>笔记 1. 大数据处理框架 1. 集群环境 ...

  9. Deep learning with python notebooks 笔记 第一章 深度学习基础

    第一章 深度学习基础 好的图表比文字传达的信息量多 图1-1帮助理清了人工智能.机器学习和深度学习之间的关系. 图1-2 清晰的阐述了经典程序设计范式和机器学习一种新的编程范式的不同.两种范式引出了两 ...

最新文章

  1. 愤怒!GitHub开始限制“受美国制裁”国家账号!
  2. Boost::context模块fiber的circle测试程序
  3. java security 详解_Spring Security入门教程 通俗易懂 超详细 【内含案例】
  4. Jackson用法详解
  5. Linux配置防火墙
  6. 大屏数据可视化效果如何提升
  7. Mybatis 延迟加载策略
  8. 190407每日一句
  9. python MAC地址查询
  10. 课题:交通标志识别——设计思路与实现步骤记录
  11. (已解决)ubuntu下网易云音乐无法打开
  12. 彻底清除 mplay.com与mplay.exe病毒
  13. 千村示范、万村整治 浙江
  14. Visual Studio的“解决方案管理器“乱跑的解决方法,把“解决方案管理器“调到左边
  15. AutoCAD2014一些遇到的问题
  16. 一个出轨带来的家庭悲剧
  17. sin30的c语言表达式,c语言sin30怎么写
  18. Python开发【Django】:组合搜索、JSONP、XSS过滤
  19. 科技培训专业委员会成立,乐博乐博正式成为会员单位
  20. 全球及中国货物围护系统(CCS)行业发展规模及投资动态预测报告2022-2027

热门文章

  1. 爬虫(python)—下载技巧
  2. NKOJ 2703 (WC 2014)紫荆花之恋 (点分治+平衡树+替罪羊)
  3. css 矩形切角,特殊border的样式 -- CSS3实现三种切角效果
  4. 深耕技术,与实践赛跑:一文告诉你如何稳妥快速完善区块链技术并有序推动商用​?...
  5. Proteus+VSPD实现仿真stm32虚拟串口
  6. Echarts + Web实现大屏展示效果
  7. 关于更新windows10 软件乱码
  8. 某广告SDK流量加解密-请求
  9. 瘦臀瘦腿的最快方法是什么?
  10. 阿里云服务器部署StreamX