ScholarGate
助手

并行和多核架构

并行和多核架构涉及同时执行多项操作的硬件——芯片上的多个核心、向量和SIMD单元以及大规模并行GPU——以及使并行工作正确高效进行的内存和通信结构。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

并行和多核架构是计算机硬件的设计,通过复制的核心、宽数据并行单元或专用加速器,以及协调它们的互连和内存机制,同时执行多个计算。

Scope

该领域涵盖并行性的硬件组织:芯片多处理器和多核设计、共享内存系统及其所需的连贯性和一致性、用于数据级并行性的SIMD和向量处理器以及GPU架构。它探讨了并行硬件的构建方式及其性能扩展。它不包括并行和分布式编程的软件方面以及集群规模的分布式系统(这些在分布式和并行计算中涵盖),以及在处理器微架构中涵盖的单核执行引擎。

Sub-topics

Core questions

  • 并行硬件如何扩展性能,以及限制这种扩展的因素是什么?
  • 多个核心如何在芯片上集成并连接到共享内存?
  • 共享内存硬件必须提供哪些内存一致性和连贯性保证?
  • SIMD、向量和GPU设计如何利用数据级并行性?
  • 如何将并行架构与工作负载匹配以最大化每瓦特的有效吞吐量?

Key concepts

  • 芯片多处理器
  • 线程级并行性
  • 数据级并行性
  • SIMD和向量处理
  • GPU和多核
  • 共享内存和一致性
  • 内存一致性
  • 互连网络
  • 阿姆达尔定律和可伸缩性
  • 同步硬件

Key theories

阿姆达尔定律
并行化计算带来的加速受限于必须顺序运行的部分:即使处理器数量无限,串行部分也会限制整体加速,这影响了并行架构的设计和评估方式。
弗林式并行分类法
并行硬件根据指令流和数据流的组合方式进行组织——例如用于数据并行性的单指令多数据(SIMD)和用于多核和多处理器系统的多指令多数据(MIMD)——这种分类构成了架构选择的框架。

Mechanisms

多核处理器将多个核心放置在一个芯片上,共享一个或多个缓存级别和一个内存接口,并通过片上互连连接。一致性协议保持其缓存的一致性,内存一致性模型定义了跨核心看到的内存操作的顺序。数据并行硬件——向量单元、SIMD通道和具有许多轻量级核心的GPU——对许多数据元素应用一个操作,而同步原语协调并行线程。

Clinical relevance

在单核时钟频率扩展停滞之后,并行和多核架构成为提高性能的主要途径,因此几乎所有现代处理器都是多核的。GPU和SIMD单元现在为图形、科学计算以及深度学习核心的矩阵运算提供动力,使并行硬件成为高性能和人工智能工作负载的核心。

History

并行机器的历史可以追溯到20世纪70年代的向量超级计算机(如Cray-1)以及20世纪80年代和90年代的研究多处理器。21世纪中期左右频率扩展的终结推动了行业将多核芯片作为默认选择。GPU从固定功能图形流水线演变为可编程多核加速器,数据并行架构成为现代机器学习的基础。

Debates

通用多核与专用加速器之争
随着同构多核的收益递减,关于在多大程度上偏向领域专用加速器(GPU、张量单元)而非通用核心存在争议,这需要在可编程性和灵活性与特定工作负载的效率之间进行权衡。

Key figures

  • Gene Amdahl
  • Michael J. Flynn
  • John L. Hennessy
  • David A. Patterson
  • David E. Culler

Related topics

Seminal works

  • hennessy2019
  • amdahl1967
  • patterson2020

Frequently asked questions

为什么处理器转向多核?
在21世纪中期,增加单个核心的时钟频率达到了功耗和散热的极限。增加更多核心可以在相同的功耗预算内提高总吞吐量,因此多核成为保持性能增长的主要方式——尽管它将加速的负担转移到了并行软件上。
GPU与多核CPU有何不同?
CPU拥有少量强大的核心,针对低延迟、通用执行进行了优化。GPU拥有许多更简单的核心,针对高吞吐量的数据并行工作进行了优化,对许多数据元素执行相同的操作,这适用于图形和密集数值计算,但不适用于所有工作负载。

Methods for this concept

Related concepts