分布式计算课程补充笔记 part 1

▶ 高性能计算机发展历程

  真空管电子计算机,向量机(Vector Machine),并行向量处理机(Parallel Vector Processors,PVP),分布式并行机(Parallel Processors,PP),对称多处理机(Symmetric Multiprocessors,SMP),分布式共享并行机(Distributed Share Memory,DSM),大规模并行机(Massively Parallel Processors, MPP),大规模加速并行机(Massively Parallel Processors with Accelerators, MPPA)

▶ 计算机体系架构

● 指令集架构 (Instruction Set Architecture, ISA):主要指处理器所支持的机器语言、数据类型、字长、内存与寄存器类型等,例子:x86, alpha, MIPS, RISC-V

● 微架构 (Micro-architecture, µarch):主要指 ISA 的一种具体的处理器实现,比如处理器核数、缓存大小、流水线长度等,例子:Intel Xeon E5 处理器

● 系统架构 (System Architecture):主要指与处理器不直接相关的其他部分,比如访存、I/O、网络、软件等

  ■ Harvard 架构:将指令 (即程序) 与数据存储在不同的内存中。

  ■ Princeton 架构:将指令 (即程序) 与数据共同存储在内存。仅具有单一的线性内存,指令与数据仅在使用时才隐式区分;总性能往往受限于内存的读写总线所能提供的延迟和带宽。

● 提高处理器性能的其他重要手段

  ■ 简化指令 (Simplified Instruction):复杂指令集计算机 (Complex Instruction Set Computer, CISC);精简指令集计算机 (Reduced Instruction Set Computer, RISC);

  ■ 指令级并行 (Instruction Level Parallelism, ILP):超标量 (superscalar):同时译码多个指令;流水线 (pipeline):多个指令流水执行 (流水线宽度、深度);乱序执行 (out-of-order execution):设法改变指令执行顺序。

  ■ 数据级并行 (Data Level Parallelism, DLP):向量化 (vectorization):单指令多数据 (如:乘加指令)。

● 福林分类。从两个正交的维度:指令流(Intruction Stream)和数据流(Data Stream),其中每个维度有 Single 和 Multiple 两种可能选择。产生SISD,SIMD,MISD,MIMD

● UMA ( Uniform Memory Access) :一致内存访问架构

● ccNUMA (cache-coherent Nonuniform Memory Access) :缓存一致性的非一致内存访问架构

● 集群 (cluster):计算节点 (compute node) 之间通过高速网络互联,计算节点内部可以是任意类型的单核或共享内存架构

 
▶ 阿姆达尔定律:记 α ∈ [0,1] 是某任务无法并行处理部分所占的比例. 假设该任务的工作量固定,则对任意 n 个处理器,相比于 1 个处理器,能够取得的加速比满足:S(n) < 1/α

▶ 古斯塔夫定律:记 α ∈ [0,1] 是某任务无法并行处理部分所占的比例. 假设该任务的工作量可以随着处理器个数缩放,从而保持处理时间固定. 则对任意 n 个处理器,相比于 1 个处理器,能够取得的加速比 S ′ (n) 不存在上界

▶ 孙-倪定律 (Sun-Ni’s Law):记 α ∈ [0,1] 是某任务无法并行处理部分所占的比例. 假设该任务的可并行部分随着处理器个数 n 按照因子 G(n) 缩放,则对任意 n,相比于 1 个处理器,能够取得的加速比 S ∗ (n) 满足

● 孙-倪定律的应用

猜你喜欢

转载自www.cnblogs.com/cuancuancuanhao/p/10220053.html
今日推荐