The Memory-Bounded Speedup Model and Its Impacts in Computing


摘要

随着大数据应用的兴起和内存墙问题的加剧,内存系统成为了计算领域公认的主要关注点,取代了计算单元的地位。然而,这种“以内存为中心”的共识起源却十分谦逊。三十多年前,内存制约加速比模型是第一个将内存视为计算限制并提供速度提升的一般界限和计算-内存权衡形式的模型。内存制约模型甚至在当时就受到了广泛的认可。在20世纪90年代,它立即被引入了几本先进的计算机体系结构和并行计算教材中,作为可扩展计算必备的知识。其中包括黄铠教授的书籍《可扩展并行计算》,他将内存制约加速比模型作为孙-倪定律与阿姆达尔定律和古斯塔夫森定律并列介绍。多年来,这个模型的影响已经远远超出了并行处理,涉及到计算的基础领域。在本文中,我们重新审视内存制约加速比模型,并深入讨论其进展和影响,以在这个专题中做出独特的贡献,激发针对大数据应用的新解决方案,并推动以数据为中心的思维和重新思考。
With the surge of big data applications and the worsening of the memory-wall problem, the memory system, instead of the computing unit, becomes the commonly recognized major concern of computing. However, this "memory-centric" common understanding has a humble beginning. More than three decades ago, the memory-bounded speedup model is the first model recognizing memory as the bound of computing and provided a general bound of speedup and a computing-memory trade-off formulation. The memory-bounded model was well received even by then. It was immediately introduced in several advanced computer architecture and parallel computing textbooks in the 1990's as a must-know for scalable computing. These include Prof. Kai Hwang's book "Scalable Parallel Computing" in which he introduced the memory-bounded speedup model as the Sun-Ni's Law, parallel with the Amdahl's Law and the Gustafson's Law. Through the years, the impacts of this model have grown far beyond parallel processing and into the fundamental of computing. In this article, we revisit the memory-bounded speedup model and discuss its progress and impacts in depth to make a unique contribution to this special issue, to stimulate new solutions for big data applications, and to promote data-centric thinking and rethinking.

内存制约加速比模型及其对计算的影响 springer.com
Journal of Computer Science and Technology, 2023, volume 38, 64-79 (JCST'23)
作者:Xian-He Sun & Xiaoyang Lu, Illinois Institute of Technology
由 ChatGPT 自动翻译。最新更新时间:2023年7月5日。

1 简介

计算技术的迅速发展已经改变了人类社会的生活方式。移动设备、无线通信和物联网的广泛应用不仅改善了生活质量,也改变了计算的格局。传统上,计算机设计用于计算,也就是进行数字计算。科学模拟在收敛之前可以运行多次程序循环,其中计算能力指的是数字计算的能力。而互联网应用,如社交网络、在线搜索和其他大数据应用,则有很大的不同。它们需要大量的数据移动、收集和管理,但对数字计算的需求很小。基于著名的内存墙(Memory Wall)问题[1],内存系统成为计算系统的一个薄弱环节。大数据应用进一步加剧了已经滞后的内存系统的压力,使其成为当前计算性能最令人关注的瓶颈。改善数据访问时间是当前计算社区普遍认为的研究问题。多年来已经进行了大量的研究工作,从开发快速硬件内存设备到优化现有内存系统,从将处理嵌入内存到构建完全不同的以数据为中心的计算机体系结构。但内存墙问题仍然未解决,并且愈发严重。

在[1]中,Wulf和McKee观察到CPU和内存之间的性能差距越来越大,这被称为内存墙问题。在内存墙问题出现之前,1990年,[3]提出内存制约模型(Memory-bounded Model),即当问题规模较大时,内存是计算的限制因素。内存制约模型与内存墙问题相结合,再加之大数据应用的兴起,很容易使内存系统成为计算系统中最受关注的性能瓶颈。传统的计算机系统设计原则是以计算为中心,重点在于优化CPU利用率和性能。要将内存系统作为主要的性能关注点,可能需要对计算机系统设计进行全面的重新思考,包括重新思考计算机体系结构和操作系统设计。这是一项艰巨的任务。在本文中,我们将回顾内存制约加速比模型的概念,研究它与内存墙问题的关系,调查它在实践中如何被用于减少内存访问延迟,了解它的影响,并探索新的机会。我们希望这项研究能够带来对内存系统性能的更好理解,并激发解决内存墙问题的新思路和方法。

内存制约模型最初被引入用于并行计算,其中多个计算元素共同合作解决一个共同的问题。如今,并行计算非常普遍。甚至手机也配备了多核处理器以提高性能。对于对计算机系统感兴趣的任何人来说,了解并行处理是必不可少的知识。在本文中,我们首先回顾了三个并行处理定律,即阿姆达尔(Amdahl)定律[4]、古斯塔夫森(Gustafson)定律[5]和孙-倪(Sun-Ni)定律[2, 3],然后讨论和研究了孙-倪定律的影响。阿姆达尔定律阐述了并行处理的局限性。古斯塔夫森定律引入了可扩展计算的概念。孙-倪定律指出内存是并行计算的约束因素。重新审视内存制约加速比模型并充分了解其潜力将有助于在大数据时代的计算中获益。

本文的剩余部分安排如下。第2节介绍并行计算的背景知识、阿姆达尔定律和可扩展计算的概念。第3节介绍内存制约加速比模型及其与固定大小和固定时间加速比模型的关系。第4、5和6节分别对内存系统性能、优化和重新设计以及重新思考进行了研究。最后,我们在第7节总结本文。

2 Amdahl's Law和可扩展计算

并行处理旨在提高性能。性能评估对于并行处理至关重要。在并行处理中,速度提升是最常用的性能指标,它定义为程序的顺序执行时间除以并行执行时间。假设$T_1$是在一个处理器上完成工作负载所需的时间,在$i$个处理器上并行完成工作负载所需的时间为$T_p$。使用$p$个相同的处理器进行并行计算的速度提升定义如下:

$$\tag{1} S = \frac{T_1}{T_p}$$

并行处理会带来额外开销,更严谨地说是性能退化。并行处理的主要性能退化有四个,它们是不均衡的工作负载分配(负载不平衡)、通信延迟、同步开销和额外计算。这些退化现象取决于应用程序,可能在不同的应用程序和计算机系统之间有很大的差异。理解并优化并行处理对于提高性能非常重要。

2.1 Amdahl's Law

Gene Amdahl是计算历史上最著名的计算机架构师之一[4]。他是IBM大型机的架构师,该机型在1960年代和1970年代占据主导地位。他的架构设计原则,也被称为阿姆达尔定律,可以总结如下[4]:“任何代码的执行时间都有两部分;第一部分不受架构改进的影响,第二部分受到改进的影响。然后,基于这个假设,在架构改进之后,第一部分将保持不变,而第二部分将得到改进。”因此,

$$Execution\ time_{new} = Execution\ time_{P1-old} + Execution\ time_{P2-new}$$

由于第一部分的执行时间不会减少,改进之后,它可能成为性能瓶颈,进一步改进第二部分可能无助于整体性能的提升。架构设计中的阿姆达尔定律呼吁实现平衡的架构设计。

将上述阿姆达尔定律应用于并行处理,并假设第一部分是不能并行化的顺序处理部分,第二部分是可以完全并行化的并行处理部分,我们得到了并行处理的阿姆达尔定律:

$$Execution\ time_{new} =\\ a \times Execution\ time_{old} + (1-a) \times \frac{Execution\ time_{old}}{p}$$

其中,$a$表示不能并行化的顺序执行工作负载所占的百分比,$p$表示用于并行处理的处理器数量。回想一下,$new$表示并行处理时间,$old$表示顺序处理时间,我们得到以下公式:

$$T_p = a \times T_1 + (1-a) \times \frac{T_1}{p}$$

将其代入式(1)中,我们得到:

$$\tag{2} S = \frac{T_1}{T_p} = \frac{1}{a+\frac{1-a}{p}}$$

式(2)被称为阿姆达尔定律(用于并行处理)[4]。阿姆达尔定律表明,式(2)的加速比上限为$1/a$。假设顺序部分占比为10%,这是一个非常合理的数字,无论使用多少处理器,加速比的上限都是10倍。式的加速比假设除顺序执行部分外没有其他并行处理开销。实际情况中,考虑到并行处理开销,实际加速比会更低。阿姆达尔定律给出了并行处理的悲观上限。由于阿姆达尔定律的影响,长时间以来,所有的超级计算机只有不超过八个计算节点[6]。

2.2 可扩展计算与固定时间加速比

当约翰·古斯塔夫森(John Gustafson)及其同事在1988年发表了他们的惊人研究结果时,对并行计算的悲观观点发生了改变。在《SIAM Journal on Scientific and Statistical Computing》上,他们在三个不同的科学应用中实现了超过一千倍的加速比[5]。这些结果是真实的,但与阿姆达尔定律相冲突。他们的实验是基于对阿姆达尔定律不同的假设进行的,这导致了可扩展计算的概念。古斯塔夫森的观点是,当我们拥有更多的计算能力时,我们可能并不需要更快地解决给定的问题;相反,我们可能希望在相同的时间内解决一个更大的问题,否则无法在给定时间内解决。例如,对于天气预报,如果我们拥有一台更强大的机器,我们可能不想在下午5点提供预报,而是希望在相同的时间内将更多的参数和计算添加到天气模拟中,以获得更准确的解决方案。这个观点适用于任何实时应用,比如导弹控制或海啸预警系统。对于许多应用程序来说,问题规模应该随着计算能力的增加而增加,这导致了可扩展计算的概念。由于古斯塔夫森使用固定的执行时间来限制问题规模的扩展[5],他引入了固定时间加速比模型。

固定时间加速比模型认为,在给定时间内,问题的规模应随着计算能力的增加而扩大[5]。设$W$为原始工作量,$W'$为扩展后的总工作量。固定时间加速比$S_{FT}(W')$定义如下:

$$\tag{3} S_{FT}(W')=\frac{T_1(W')}{T_p(W')}$$

假设用于原始工作量$W$的顺序处理时间与使用$p$个处理器进行扩展工作量$W'$并行处理的时间相同。条件$T_1(W)=T_p(W')$必须满足。因此,式(3)变为:

$$S_{FT}(W')=\frac{T_1(W')}{T_1(W)}$$

根据Amdahl's Law,我们假设原始工作量$W$只包含两个部分,一个是顺序部分$W_1$,一个是完全并行部分$W_p$。回忆一下,$a$是原始工作量的顺序部分,$(1-a)$是原始工作量的并行部分。我们还假设工作量的扩展只发生在并行处理部分,即$W'_1=W_1=a \times W$。如果有$p$个处理器可用,它们可以完成比单个处理器多$p$倍的工作。因此,扩展后的工作量的并行部分为$W'_p=p \times W_p = (1-a) \times p \times W$。在不考虑任何开销的情况下,固定时间加速比$S_{FT}(W')$变为:

$$\tag{4} S_{FT}(W')=\frac{a \times W + (1-a)\times p \times W}{W} \\ = a + (1-a)\times p$$

(4)被称为Gustafson的可扩展加速比[5]。基于(4),固定时间加速比会随着处理器数量的增加而增加,没有固有的理论上限。这个简单的公式非常强大。它展示了并行计算的潜力。它引起了华尔街的关注。《华尔街日报》报道了Gustafson的工作,并认识到并行计算的未来光明。并行计算行业的所有股票都得到了提振。可扩展计算的概念改变了并行计算和计算的历史。

根据Amdahl的定律,执行工作负载在计算能力提升时不会改变。因此,引入固定时间加速比后,它也被称为固定大小加速比。许多人将固定大小加速比称为强伸缩性,因为它只增加处理器的数量而不增加问题的规模,而将任何可扩展计算称为弱伸缩性。事实上,Amdahl的定律表明,如果具有顺序处理部分,则强伸缩性无法进行伸缩,而Gustafson的定律则表明,在加速比度量下,弱伸缩性可以无限制地进行伸缩。

3 内存制约加速比:Sun-Ni's Law

尽管公式(4)成功地终结了Amdahl定律在可扩展计算应用中的适用性,但与Amdahl定律一样,它并未考虑并行处理的开销。因此,如何在工程实践中实现良好的加速仍然是高性能计算(HPC)社区面临的困境。然而,这一次我们呼吁开发工程解决方案来解决这些开销,而不是绝望地面对固有的无法解决的性能上限。除了这些开销之外,研究人员很快注意到可扩展计算的另一个限制,即内存容量[2, 3, 7]。当问题规模大于内存系统支持的容量时,性能将变得极低,并且无法获得并行处理的增益。

实际应用中,内存是一种昂贵的资源,往往限制了问题规模的增加。引入了内存制约加速比模型,也被称为Sun-Ni定律[2, 3],它将内存视为可扩展计算的限制,而不是执行时间。与固定时间加速比类似,内存制约加速比扩大了问题规模。区别在于在内存制约加速比中,问题规模的限制是由系统上可用内存的数量决定,而不是执行时间。在内存制约加速比中,可以在并行计算系统中解决的问题规模(工作量)受到系统可用内存的限制。

3.1 内存制约加速比

让$W^*$表示在内存容量约束下的总扩展工作量。内存制约加速比$S_{MB}(W^*)$定义如下:

$$S_{MB}(W^*)=\frac{T_1(W^*)}{T_p(W^*)}$$

$g$是一个函数,用于表示内存需求和工作量之间的关系。我们有:

$$W=g(M) \text{ and } M=g^{-1}(W)$$

其中$W$和$M$分别表示单个处理器的工作负载和内存容量。

假设处理器的数量和与之关联的内存成对增加,有 $p$ 个处理器时,总可用内存容量为 $pM$。因此,在内存受限的约束下,缩放后的工作负载由以下公式确定:

$$W^*=g(pM)=g(pg^{-1}(W))$$

按照与Amdahl定律和Gustafson定律相同的假设,我们假设工作负载$W$由两部分组成,即顺序执行部分和完全并行执行部分。其中,顺序部分由$a$表示,而并行部分则由$(1-a)$表示。我们进一步假设,在工作负载的规模变化中,只有并行部分会发生变化,即$W_1=W^*_1=a\times W$。根据类似于固定时间加速比的推导过程,我们得到了内存受限制下的加速比公式,

$$\tag{5} S_{MB}(W^*)=\frac{a \times W + (1-a) \times g(pM)}{a \times W + \frac{(1-a)\times g(pM)}{p}}$$

现在的问题是如何找到内存缩放函数 $g$。一般来说,找到函数 $g$ 是依赖于具体应用的,并且是一个前沿的研究领域。有兴趣的读者可以阅读第5节,了解内存限制分析的方法和工具。然而,实际上,大多数算法的时间复杂度都是多项式级别的,因此内存缩放函数 $g$ 在 $M$ 和 $W^*$ 之间通常可以被视为多项式函数或者近似为多项式函数。对于规模扩展分析,我们只需要考虑多项式表达式中最显著的项。也就是说,我们可以将 $g$ 视为一个幂函数 $g(x) = c \times x^b$,其中 $c$ 是实数常数,$b$ 是有理数。而且 $\bar{g}$ 是 $g$ 的配对函数,其系数为 1,$\bar{g}(x) = x^b$。我们有 $g(pM) = c \times (pM)^b = \bar{g}(p) \times g(M)$。因此,(5) 可以简化为:

$$\tag{6} \begin{align}S_{MB}(W^*)&=\frac{a \times W + (1-a) \times \bar{g}(p) \times W}{a \times W + \frac{(1-a)\times \bar{g}(p) \times W}{p}} \\ &= \frac{a+(1-a)\times \bar{g}(p)}{a+\frac{(1-a)\times \bar{g}(p)}{p}}\end{align}$$

我们以矩阵乘法作为示例,说明如何计算内存受限速度增益。在稠密矩阵乘法中,乘法运算需要$2k^3$计算和$3k^2$内存,其中$k$是两个输入矩阵的维度。因此,

$$g(M) = 2\times \left( \sqrt{\frac{M}{3}} \right)^3 = \frac{2}{3^\frac{3}{2}}\times M^{\frac{3}{2}}$$

且,

$$\bar{g}(p) = p^{\frac{3}{2}}$$

根据公式(6),矩阵乘法的内存制约加速比为:

$$S_{MB}(W^*) = \frac{a+(1-a)\times p^{\frac{3}{2}}}{a+(1-a)\times p^{\frac{1}{2}}}$$

对于 $a=0.1$ 和 $p=16$,内存制约加速比为15.595。需要注意,理想的加速比16是在16个处理器情况下实现的。密集矩阵乘法可以根据内存制约加速比实现非常高的加速比。

内存制约加速比将固定时间和固定大小的加速比联系在一起。当 $g(pM)=W$ 时,内存制约加速比模型就变为具有固定问题规模的 Amdahl 定律。如果 $g(pM)=pW$,那么内存制约加速比模型与具有固定执行时间的 Gustafson 定律相同。一般情况下,计算工作负载增长速度快于内存需求;因此$g(pM)>pW$,内存制约加速比模型提供了比固定大小和固定时间加速比更高的加速比。由于$g(pM)>pW$,在内存制约加速比下,顺序部分的影响通常会减小,这意味着在更大的系统上可能实现更高的加速比。

3.2 内存和计算的权衡

内存制约加速比模型是首个揭示内存是计算性能约束的模型。函数 $W=g(M)$ 为内存和计算需求之间的权衡提供了可量化的数学公式。事实上,内存扩展函数 $g(M)$ 不仅反映了内存需求,还反映了底层算法的数据重用率②。

从算法设计的角度来看,由于内存墙问题,我们需要减少内存需求并提高数据重用率。这两个目标通常相互冲突,需要进行平衡。函数 $g$ 将这两个关注点统一起来,并提供了一种统一的平衡设计优化方法。

从架构角度来看,$M$ 是内存需求,$W$ 是相应的计算需求。更快的计算需要更快的内存;否则,在等待数据时计算能力将被浪费。这转化为应该将多少架构资源用于计算,多少用于内存的设计决策。对于计算机微体系结构而言,一个即时的设计决策是应该将多少芯片面积用于计算,多少用于缓存[8]。缓存技术被广泛用于缓解处理器和主存之间的速度差异。在1989年之前,Intel处理器没有集成缓存③。截至2010年,如图1所示,根据[9],超过80%的芯片面积用于缓存和数据存储。

Fig 1. Silicon area distribution of modern chips

4 性能基础知识

内存制约加速比模型于1990年引入[2, 3]。多年来,它在计算的不同方面产生了影响,远超可扩展计算范畴。在本节中,我们重点强调其对内存系统性能评估和可扩展计算的影响。在接下来的两节中,我们将分别讨论其对内存系统优化和以数据为中心的重新思考的影响。

4.1 内存制约和内存墙的相关性

由于顺序计算是并行计算$p=1$的特例,其概念可以同样扩展到顺序计算中。在内存制约概念提出四年后,内存墙问题于1994年正式引入[1]。它注意到CPU和内存之间的性能差距越来越大,因此CPU的性能受限于内存性能,并且这个限制每年都在恶化。这呼吁努力和解决方案来提高内存系统性能④。

为了弥合处理器和内存之间的性能差距,引入了具有高速缓存的内存层次结构,以隐藏对离芯片外的主存访问的长延迟。较小、更快、更昂贵的高速缓存位于离处理器更近的位置。这种设计旨在提供一个理想情况下成本几乎等同于内存设备并且性能几乎等同于缓存的内存系统。内存层次结构减轻了内存墙效应。但是,内存层次结构能否解决内存墙问题和内存制约,而不仅仅是减轻它呢?为了回答这个问题,让我们首先问一下:我们能否构建一个大型内存系统来解决内存制约?答案是否定的。根据内存墙问题,计算和内存之间的差距变得越来越大,我们不能被内存性能所限制。那么,我们能否构建一个大型缓存来消除内存制约?答案同样是否定的。缓存必须足够快,以匹配CPU的性能。它需要快速地找到数据,最好在第一次查找时就能找到,并且没有时间计算数据的位置。在实践中,这意味着它必须很小。由于L1缓存必须很小,当CPU和内存之间的差距很大时,我们需要多级缓存来匹配这种差异。内存制约意味着计算性能受到内存性能和容量的限制。内存墙问题则表明CPU和内存之间的性能差距越来越大。内存层次结构减轻了内存墙问题,但也使性能优化变得更加复杂。多年来,已经提出了关于分层性能匹配的理论结果[11],并开发了用于自动测量内存制约的软件工具[12]。

图2[13]展示了Intel Xeon E5-2670(Sandy Bridge)和Intel Xeon X5670(Westmere)的内存延迟。随着内存层次结构的引入,内存延迟函数呈现出一个四步梯形的模式。每个步骤分别对应L1缓存、L2缓存、L3缓存和主存。较大的级别离处理器更远,访问延迟更大。这表明内存制约和内存墙问题是一个全局内存系统性能问题,在层次化的内存系统中更加复杂,难以理解和优化。

Fig2. Memory latency variation of Westmere and Sandy Bridge

4.2 广义加速比

根据内存制约模型,大型并行计算机具有更大的内存,而单处理器计算机具有较小的内存。在实践中,如何在单个处理器上运行一个经过缩放的工作负载$W^*$是一个问题。这促使我们重新思考加速比的定义。

传统的加速比定义是顺序执行时间与并行执行时间的比值[2-5]。然而,加速比应该是并行处理的加速比,即并行速度与顺序加速比的比值。传统的定义在传统假设下,即问题规模是固定的情况下是正确的。在问题规模固定的情况下,时间的缩短等同于加速比的增加。在这种理解下,Sun和Gustafson[14]引入了一个新的加速比定义,即广义加速比:

$$\text{Generalized speedup} = \frac{\text{Parallel execution speed}}{\text{Sequential execution speed}}$$

其中,速度被定义为工作量除以执行时间。广义加速比的关键点在于并行速度是在时间约束或内存约束下解决一个扩大的问题规模的速度,而顺序单节点速度是解决原始工作规模的速度。因此,内存约束不会影响顺序计算性能⑤。

当执行时间固定时,广义加速比变为工作量的增加,如图3所示。因此,固定时间的加速比也被称为 sizeup。当操作成本对于所有工作都是固定的,或者当问题规模固定时,广义加速比与传统加速比相同。图3总结了广义加速比、规模增加、传统加速比和内存制约加速比之间的关系[14]。

Fig3. Generalized speedup and its relations with speedup models.

4.3 可扩展性

可扩展性是指在问题规模和系统规模增加时,保持并行处理增益的能力。并行效率定义为并行加速比除以并行处理所使用的并行处理器数量$p$,其中$p$是用于并行处理的并行处理器的数量[15]。并行效率的定义很直接,因为$p$是使用$p$个处理器时的理想和完美的并行性能增益。衡量可扩展性的一种自然方法是衡量保持并行效率的能力。Kumar等人[15, 16]引入了等效率(isoefficiency)的概念。等效率衡量了在更大的机器上为保持效率不变所需增加的工作量。

等效率是一种正确的方法。然而,它所基于的加速比仍然是传统的加速比,可能存在内存受限的问题。在实际应用中,由于内存限制,要在单个节点上测量大型应用的顺序执行时间要么是不可能的,要么是非常缓慢的(如果支持虚拟内存)。对于可扩展计算,加速比应该使用广义加速比,而等效率应该是广义加速比的等效率[17]。同时保持广义加速比的效率等同于保持每个计算节点的平均速度。基于对广义加速比的上述观察,Sun和Rover[18]提出了等速度作为可扩展性的度量。根据[18],如果一个算法-机器组合在问题规模成比例增加的情况下,其实现的平均单位速度可以随着处理器数量的增加而保持恒定,那么它是可扩展的。平均单位速度是实现的速度除以处理器数量。根据定义,从系统规模$p$到系统规模$p'$的可扩展性函数可以定义为:

$$\psi(p,p') = \frac{W/p}{W'/p'} = \frac{p'W}{pW'}$$

其中,$W$是在使用$p$个处理器时执行的初始工作量,$W'$是在使用$p'$个($p' \gt p$)处理器时执行的缩放工作量,以保持平均单位速度。工作量$W'$由等速度(isospeed)约束确定。在理想情况下,$W'=p'W/p$ 并且 $\psi(p,p')=1$。通常情况下,$W'/p \gt W/p$ 并且 $\psi(p,p') \lt 1$。一个接近于1的等速度函数意味着并行系统具有很高的可扩展性。

Fig4. Performance crossing due to scalability.

可扩展性具有许多应用。其中一个应用是找到算法的最佳范围,并找到两个不同算法的性能交叉点[19, 20]。范围比较基于可扩展性和交叉点分析,比较程序在一系列不同集合和问题规模下的性能。它在可扩展计算中起着至关重要的作用。图4展示了在通信速度变化时,PDD(并行对角占优)算法和并行化Thomas算法的性能范围比较[20]。从图4中可以看出,存在交叉点,并且随着数据访问/通信带宽的变化而变化。

4.4 面向多核架构的可拓展计算

并行处理可以在不同层面上进行。为了克服单核架构的限制,包括功耗限制,多核架构应运而生。多核架构将多个处理单元(核心)集成到一颗芯片上,通过并行处理增加计算能力,同时消耗更少的功耗。随着微处理器架构进入多核时代,可扩展性问题也被引入到多核架构设计中。

在阿姆达尔定律提出的40年后,Hill和Marty[21]在阿姆达尔定律的基础上分析了多核可扩展性,并悲观地认为可扩展的多核处理器的未来前景不容乐观。孙等人[7, 22]在固定时间和内存受限的条件下分析了多核可扩展性。假设研究中的多核系统是对称的,并且任务$W$由两个部分组成:数据处理工作量$W_p$和数据访问(移动)工作量$W_c$。根据Gustafson定律,多核架构的固定时间加速比为:

$$S_{FT}(W')=(1-f')+p \times f'$$

其中 $W'_p = p \times W_p$,$f'$定义为:

$$\tag{7} f'=\frac{W_p}{W_c+W_p}$$

(7)显示,如果当核心数量和工作负载增加时,$W_c$保持不变,那么多核固定时间加速比可以线性增加。[7, 22]中还引入了多核架构的内存受限加速比模型,其速度比固定时间加速比更好。多核对于可扩展计算是具有可扩展性的。

请注意,这里关于多核可扩展性的论断是在核心数量和问题规模增加时,数据访问延迟保持不变的假设下提出的。这个假设在工程实践中很难实现,它并不是一个理论上的界限。换句话说,多核架构受到内存限制。多核架构给已经落后的内存系统增加了更多压力。

5 性能优化

在本节中,我们将从算法设计、性能工具开发、内存数据访问优化和I/O数据访问优化的角度讨论内存约束原则的影响。在每个小节中,我们将分别探讨这些方面对内存约束原则的影响。

...

7 结论

黄铠教授是一位杰出的学者,他的教材影响了多代计算机科学家和实践者。在他的多本书籍[68, 69]中,他介绍了内存制约加速比模型,并将其命名为孙-倪定律。在本研究中,我们回顾了内存制约原理、其历史以及其影响,并讨论了它在大数据时代的作用和潜力。黄铠教授的教材产生了持久的影响,而内存制约模型也对计算产生了影响。我们认为这是对黄铠教授终身成就的最好致敬方式,也是我们对本特刊的最好贡献。

内存制约加速比模型通过将内存需求与计算需求关联起来,考虑了内存对性能的影响。它揭示了性能中的内存约束,并引发了内存墙问题。内存制约的概念改变了算法和软件的设计方式。此外,还开发了更多的内存优化设计和性能模型,以缓解计算与内存系统之间的性能差距。

我们希望本研究能够更好地理解内存制约模型及其含义,从而帮助我们更好地理解和深入了解内存系统性能,促进以数据为中心的思考,并为开发下一代内存系统和优化工具铺平道路。

版权声明:
作者:dorence
链接:https://wp.dorence.top/archives/221
来源:极客模拟
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录