Files
final-exam/计算机系统结构/重点复习/小题10-并行计算机系统结构分类.md

5.8 KiB
Raw Permalink Blame History

tags, create time
tags create time
计算机系统结构
重点复习
并行处理
多处理机
2026-06-16 21:21

小题 10 — 并行计算机系统结构的分类

概述

本题考查并行计算机系统结构的两大类型:集中式共享存储结构(Centralized Shared-Memory)和分布式存储器多处理机(Distributed-Memory Multiprocessor)的特点、区别及代表架构。

[!tip] 考试重点 重点掌握两种架构的存储访问方式、可扩展性和典型代表。SMP vs NUMA vs MPP vs Cluster 的对比是高频考点。

正文

一、并行计算机系统的基本分类

按照存储器的组织方式和处理器间的通信方式,并行计算机系统可分为两大类:

graph TD
    ROOT["Parallel Computer Systems"] --> CS["Centralized Shared Memory"]
    ROOT --> DD["Distributed Memory"]

    CS --> SMP["SMP: Symmetric Multiprocessor"]
    CS --> NUMA["NUMA: Non-Uniform Memory Access"]

    DD --> MPP["MPP: Massively Parallel Processor"]
    DD --> Cluster["Cluster / MPP"]

二、集中式共享存储结构

核心特征:所有处理器共享一个统一的物理内存,通过系统总线或交叉开关连接。

2.1 SMP(对称多处理器)

特征 说明
存储视图 所有处理器看到统一的地址空间,访问任何内存单元的延迟相同
通信方式 通过 Load/Store 指令直接读写共享变量
处理器数量 通常 2~8 个(受总线带宽限制)
一致性维护 监听协议(Snooping Protocol),如 MSI、MESI
缓存一致性 硬件自动维护,程序员无感
graph TD
    P1["CPU 1 + Cache"] --> BUS["System Bus"]
    P2["CPU 2 + Cache"] --> BUS
    P3["CPU 3 + Cache"] --> BUS
    P4["CPU 4 + Cache"] --> BUS
    BUS --> MEM["Shared Memory"]

2.2 NUMA(非统一内存访问)

特征 说明
存储视图 统一地址空间,但本地内存访问快,远程内存访问慢
通信方式 同样通过 Load/Store,但远程访问延迟更高
处理器数量 可扩展到 数十个
一致性维护 目录协议(Directory Protocol)或增强型监听协议
拓扑结构 每个处理器有本地内存,通过互连网络连接
graph LR
    subgraph Node1["Node 1"]
        CPU1["CPU"] --- LM1["Local Memory"]
    end
    subgraph Node2["Node 2"]
        CPU2["CPU"] --- LM2["Local Memory"]
    end
    subgraph Node3["Node 3"]
        CPU3["CPU"] --- LM3["Local Memory"]
    end
    Node1 <-->|"Interconnect"| Node2
    Node2 <-->|"Interconnect"| Node3

[!question] SMP 和 NUMA 都是共享内存,区别是什么? SMP 中所有内存的访问延迟完全相同(Uniform),适合小规模系统。NUMA 中本地内存访问快、远程访问慢(Non-Uniform),适合更大规模系统。NUMA 是 SMP 的扩展——当处理器数量增加到总线无法承载时,就需要将内存分布到各处理器附近。

三、分布式存储器多处理机

核心特征:每个处理器有独立的本地内存,处理器之间通过消息传递(Message Passing)通信。

3.1 MPP(大规模并行处理器)

特征 说明
存储视图 每个节点有独立的地址空间
通信方式 通过 MPI 等消息传递库发送/接收数据
处理器数量 数千到数万
一致性维护 无需——程序员显式管理数据分布和一致性
典型代表 超级计算机(如 Summit、Fugaku)

3.2 Cluster(集群)

特征 说明
存储视图 每个节点是独立的计算机,有独立的 OS
通信方式 通过高速网络(如 InfiniBand)和消息传递
处理器数量 数千到数万
一致性维护 无需——完全由程序员管理
典型代表 Google 集群、HPC 集群

四、两种架构的全面对比

[!abstract]- 答案

对比维度 集中式共享存储 分布式存储器多处理机
存储视图 统一地址空间 独立地址空间
通信方式 Load/Store(隐式) 消息传递 MPI(显式)
一致性 硬件维护(监听/目录协议) 程序员管理
可扩展性 差(< 64 处理器) 好(数千处理器)
编程难度 低(共享变量编程) 高(需显式通信)
典型规模 2~64 处理器 数百~数万处理器
代表架构 SMP、NUMA MPP、Cluster
对比维度 集中式共享存储 分布式存储器多处理机
数据访问 透明——直接访问内存地址 非透明——需 Send/Receive
网络延迟 低(总线/交叉开关) 高(需经过多级互连)
硬件成本 低~中 高(需高速互连网络)
适用场景 通用服务器、小型数据中心 超算、大规模数据分析

五、设计权衡

graph TD
    SCALABILITY["Scalability"] -->|"SMP/NUMA"| SHARED["Shared Memory: Easy to Program"]
    SCALABILITY -->|"MPP/Cluster"| DISTRIBUTED["Distributed: Scales Better"]

    SHARED --> SHARED_COST["Cost: Cache Coherence Hardware"]
    DISTRIBUTED --> DIST_COST["Cost: Programmer Effort"]

[!question] 未来的趋势是什么? 现代超算普遍采用混合架构:节点内是 NUMA(共享内存),节点间是消息传递(分布式)。这样既利用了共享内存的编程便利性,又利用了分布式架构的可扩展性。

关联笔记