10

AI学习者 · 6月24日 · 广东

单处理器实现大规模计算能力的有效性

image.png

Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities

编者说:这篇文章是Gene Amdahl首次发表的关于后来被称为阿姆达尔定律(Amdahl's Law)的文章。有趣的是,它没有方程式,而且只有一个图表。对于SSCS新闻的这一期,阿姆达尔博士同意重新绘制这张图表。在现有的纸质副本中它是难以辨认的。我们刊登这篇历史性的文章,让会员们能够阅读大约40年前的原始资料

注:这篇已不再是原文,NeuralTalk 做了内容上的补充和大量的修改。目录:

1.引2.并行性能 vs. 顺序性能 3.复杂的物理特性对性能的影响 4.并行处理能力的比例对性能的影响 5.进一步解释“阿姆达尔定律”(Amdahl's Law) 6.性能 vs. 成本 7.增加硬件对提升性能的挑战与限制 8.专用处理器 vs. 通用处理器

1.引

十多年来,对计算机科学和技术发展有远见的研究者和工程师们一直在主张一个观点,即单个计算机的组织已经达到了它的极限,真正重大的进步只能通过以某种方式互连多个计算机来实现,以允许协作解决问题

image.png
图 本文主要内容来自Gene Amdahl 1967年发表的文章

一些不同方向被指出为正确的,包括:

  • 具有通用连接记忆的通用计算机
  • 由一个或多个指令流控制的
  • 具有几何相关记忆互连的专用计算机

文章论证了单处理器方法(Single processor approach)的持续有效性以及多处理器方法(Multiple processor approach)在应用于真实问题及其伴随的不规则性方面的弱点。所提出的论点基于过去十年计算机计算的统计特性,以及物理问题中操作要求的实际需求

image.png
图 《Changes in Computer Performance》,这篇文章提供了对早期计算机行业发展和计算机性能提升的深入分析

另一个参考资料将是当前发表的最彻底的相对计算机能力分析之一——"计算机性能的变化"(Changes in Computer Performance),《Datamation》杂志,1966年9月,斯坦福商学院教授Kenneth E. Knight。他提出了一种性能描述方法,用于估计从1944年到1963年间引入的225种通用计算机系统的整体能力。性能描述基于硬件特性和基本操作来评估每台计算机系统。并且,他利用年度引入的计算机的性能描述生成了当年的技术曲线,展示了不同月租费用下可购买的理论性能。

image.png
图 技术曲线的平均年度变化:该折线图描述了计算机性能随时间提高的趋势

2.并行性能 vs. 顺序性能

第一个有趣的特性是与数据管理维护(Data Management Housekeeping,指在计算机系统中,与数据存储、检索、更新和维护相关的操作和管理任务)相关的计算负载的比例。

  • 这一比例在过去大约十年中几乎保持不变,并占生产运行中执行指令的40%。
  • 在一个完全专用的特殊环境中,这个比例可能会减少一半,但几乎不可能减少到原来的三分之一。
  • 这种开销的性质似乎是顺序的,因此不太可能适用于并行处理技术。即使维护工作在单独的处理器中完成,仅仅开销本身就会在吞吐量上设置一个上限,即顺序处理(Sequential Processing,按照一定顺序逐步执行任务的处理方式,与并行处理相对)速率的五到七倍。
  • 问题的非维护部分最多可以利用性能是维护处理器性能三到四倍的处理器。从这一点可以得出一个相当明显的结论,即除非几乎同样程度地提高顺序处理速率的成就,否则花费在实现高并行处理速率上的努力是徒劳的。

总得来说,在提高计算系统性能时,不仅要关注并行处理能力的提升,同时也要注意到顺序处理能力的重要性。如果数据管理维护的开销部分不能有效减少或优化,那么系统的整体性能提升将受到限制。

3.复杂的物理特性对性能的影响

数据管理维护并不是唯一困扰简化高速计算方法的问题。实际上,有趣的物理问题往往有相当大的复杂性。这些复杂性的例子如下:

  • 边界可能是不规则的;
  • 内部可能是不均匀的;
  • 所需的计算可能依赖于每个点上的变量状态;
  • 不同物理效应的传播速率可能大不相同;
  • 收敛速率,或是否收敛,可能强烈依赖于沿不同轴在连续传递中扫过数组的方式等等。

这些复杂性对任何基于几何相关处理器的并行处理系统中的计算机组织影响非常严重。即使是规则矩形边界的存在也有一个有趣的特性,即:

  • 对于N维空间,有3^N种不同的点几何形态需要在最近邻计算中处理。如果还涉及到第二近邻,那么将有5^N种不同的点几何形态需要应对。
  • 不规则边界(Irregular Boundaries,在计算域的边缘,形状不规则,不像矩形或圆形那样规则)使这个问题更加复杂,不均匀的内部(Inhomogeneous Interiors,指计算域内部的属性或特征在空间上变化,不是统一或一致的)也是如此。
  • 依赖于变量状态的计算将要求每个点的处理消耗大约与一个大区域内所有物理效应计算的总和相同的计算时间。传播速率(Propagation Rates,指物理效应或信息在空间或介质中传播的速度)的差异或变化可能影响网格点(Mesh Points,在数值模拟中,用来表示物理空间离散化的点,常用于有限元分析等)之间的关系。

在高速计算中,物理问题的复杂性对并行处理系统是有影响的,这些复杂性会带来对实际性能与理想性能之间的差异。

理想情况下,计算邻近点对被考虑点的作用涉及它们在以前时间的比例值,这个比例与网格间距成正比,与传播速率(Propagation Rate,这里特指波或信息在介质中传播的速度)成反比。由于时间步长(Time Step,在数值计算中,用于时间域离散化的间隔,是计算过程中使用的时间增量)通常保持不变,某些效应的更快传播速率将意味着与更远点的相互作用。最后,通过不同轴在连续传递中扫过网格(Sweeping Through the Mesh,指在数值模拟中,按顺序处理网格点的数据,通常沿着特定的轴或方向)的相当普遍的做法,带来了数据管理的问题,这影响了所有处理器;然而,它通过要求除了修订输入输出调度之外,还需要转置所有存储点,对几何相关处理器(Geometrically Related Processors,指在并行计算系统中,按照几何关系排列或工作的处理器,它们可能需要协同处理数据)的影响更为严重。对单处理器方法实现大规模计算能力的现实评估,其有效性受到了这些问题的严重影响,与在简化和规范化的问题抽象上的性能相比,实际并行处理设备的性能下降了大约一半到一个数量级

4.并行处理能力的比例对性能的影响

总结数据管理维护和问题不规则性(Problem Irregularities,指计算问题中的复杂性或不可预测性,可能导致计算模式的不一致)的影响。

image.png

图 机器A、B、C的性能函数对比图:展示并行处理能力的比例对性能的影响**

作者比较了三种不同的机器组织,它们涉及的硬件数量大致相等。

  • 机器A有32个算术执行单元,由单一指令流控制。
  • 机器B有流水线化的算术执行单元,能够在八个元素的向量上进行多达三个重叠的操作(Overlapped Operations,指同时进行的多个操作,这些操作可能在不同的数据集上执行或在不同的处理阶段)
  • 机器C拥有相同的流水线执行单元,但允许以与机器B相同的速率启动个别操作,允许向量元素操作。

这三种机器的性能在上图中被绘制成函数,该函数是允许并行性的指令数量的比例。可能的操作区域围绕一个点为中心,该点对应于25%的数据管理开销和10%的问题操作被迫顺序执行。

5.进一步解释“阿姆达尔定律”(Amdahl's Law)

进一步解释图表展示的“阿姆达尔定律”(Amdahl's Law)来说,它表明一台高度并行的机器由于给定计算的顺序组成部分以及处理器之间的协调(例如同步)开销,更难以提供其峰值性能的公平分数

假设问题的大小是固定的,阿姆达尔推测大多数程序至少需要25%的计算是顺序的(一次只能执行一个指令),由于处理器间协调的开销平均为10%。曲线显示,你越依赖并行性来提高性能,在可能的情况下,系统可能就越慢,可能是65%。最低的曲线(A)代表了32位宽的SIMD处理器,最高的曲线(C)是针对修改后的向量处理器。当问题规模扩大时,可以减少顺序组成部分和协调开销到可以忽略的水平,这使得在这些情况下大量处理器非常高效

总得来说,在设计计算机系统时,需要考虑数据管理的开销和问题本身的复杂性,以及这些因素如何影响不同计算机组织结构的性能通过比较三种不同的机器配置,作者展示了并行处理能力的比例对性能的影响

6.性能 vs. 成本

计算机的历史性能与成本已经被Knight教授非常彻底地探讨过。他呈现的经过仔细分析的数据不仅反映了推荐的最小配置的算术操作执行时间和成本。他还包括了内存容量的影响、经历的输入输出重叠以及特殊功能能力(Special Functional Capabilities,指计算机系统中除了基本计算之外的其他功能,如图形处理、信号处理等)获得的最佳统计拟合对应于在任何技术层面上,性能与成本的平方成正比这一结果非常有效地支持了经常被引用的“Grosch's Law”(格罗斯定律)

该定律最初由Herbert Grosch在20世纪40年代提出,主张计算机系统的成本随着其性能的平方根增加。换句话说,如果一个计算机系统的成本是c,其性能是w,那么它们之间的关系可以表示为:

image.png

这个公式想要描述的是,计算机的性能随着成本的增加而增加,特别是在硬件扩展方面。

包括后来有学者Phillip EIN-DOR,分析了该定律在计算机技术快速发展的背景下,格罗斯定律是否仍然成立。随着小型计算机、微型计算机和超级计算机的出现,情况变得复杂。研究发现,在计算机按规模和性能分组的情况下,格罗斯定律在每个组内似乎都成立,但在不同组之间则不成立

image.png
图 《GROSCH’S LAW RE-REVISITED: CPU POWER AND THE COST OF COMPUTATION》:作者是Phillip EIN-DOR。文章探讨了著名的格罗斯定律,强调了在计算机市场中日益明显的产品类别分化,并指出在每个类别中,最有效的方法是在能够执行任务的最小类型计算机上完成任何任务。此外,文章还提出了对未来计算机市场可能的集中趋势的预测,特别是在微型计算机和第五代超级计算机之间。

7.增加硬件对提升性能的挑战与限制

利用这一分析,人们可以认为,如果在单个系统中利用两倍的硬件,可以期望获得四倍的性能唯一的困难在于知道如何利用这些额外的硬件。在任何给定的时间点,很难预见顺序计算机中以前的瓶颈将如何被有效克服。如果很容易,它们就不会作为瓶颈被留下。历史上的事实证明,连续的障碍已经被克服,所以引用Rev. Adam Clayton Powell的话是恰当的——"Keep the faith, baby!"(保持信念,宝贝!)如果人们选择通过并排放置两个处理器并共享内存来提高性能,将会发现大约有2.2倍的硬件。额外的十分之二的硬件完成了共享的交叉开关(Crossbar Switching,指一种在多个输入和输出之间提供连接的电子开关,用于共享内存系统中的处理器之间)实现的性能大约是1.8。后面的数字是基于每个处理器大约一半的时间使用一半的内存的假设。共享系统中的内存冲突将使两个操作中的一个的执行时间延长四分之一。最终的结果是性能价格比(Price Performance Degradation,性能提升与成本增加之间的比率,用于评估性价比)下降到0.8,而不是单一更大的处理器的2.0提高

8.专用处理器 vs. 通用处理器

这段提到两个名词,关联处理器非关联处理器。

  • 关联处理器(Associative Processor):一种特殊类型的处理器,能够通过关联搜索技术快速访问和处理数据,通常用于模式识别和数据库查询
  • 非关联处理器(Non-Associative Processor)传统的处理器,它们不使用关联搜索技术,而是按照顺序或指令执行任务

从当下的趋势来说,我个人认为,分别称呼为专用处理器和通用处理器,更合适也更好理解,但是尊重原文下面的表述不变。

与关联处理器(Associative Processor)的比较分析远不是那么容易和明显。在某些规则格式的条件下,有一种相当直接的方法。如一个专为某个模式识别任务设计的关联处理器,在其中,个别元素中的决策被转发到一组其他元素。在关联处理器设计中,接收元素将有一组源地址(Source Addresses,在数据处理中,指数据来源的存储位置的地址),这些地址通过关联技术识别是否要接收当前声明元素的决策。要制造一个相应的专用非关联处理器,人们会考虑一个接收元素及其源地址作为一个指令,用寄存器维护二进制决策。考虑到使用薄膜存储器(Thin Film Memory,一种非易失性存储技术,使用薄膜沉积技术制造存储单元),一个关联周期将比非破坏性读取周期(Non-Destructive Read Cycle,指读取存储在存储器中的数据而不改变其状态的操作周期)长。

在这种技术中,预计专用非关联处理器将需要的内存存储周期(Memory Cycle):在计算机操作中,指从内存中读取或写入数据的完整过程)大约是关联版本的四分之一,而时间大约是六分之一**。这些数字是在完整识别任务上计算的,每个阶段的比例略有不同。这里不打算提出一概而论的主张,而是应该从两种方法调查每个需求。

总得来说,在特定条件下,专用非关联处理器可能在性能上优于关联处理器,尤其是在使用薄膜存储器技术时。作者指出,根据不同的需求,应该从两种方法进行调查和比较。

参考

作者:Gene Amdahl
来源:NeuralTalk

推荐阅读

欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式AI专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
18751
内容数
1308
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息