关于处理器架构的发展趋势,或者为什么我相信华为在服务器市场上的成功

我们生活在有趣的时代。在我看来,未来2-3年将决定未来十年建筑发展的方向。现在在服务器处理器市场上,有几家公司代表着完全不同的技术方法。这很酷(我什至很难说出最后一个单词的重点是哪个音节:))

但是即使在5-6年前,似乎冻结了时间并停止了开发。遵守各种限制(电源墙,可伸缩性墙等)。我在这里谈了一点。摩尔定律受到质疑,特别热心的理论家建议将对数更正法引入其中:)那时,英特尔在服务器处理器市场的主导地位似乎不可动摇。 AMD并未表现出激烈的竞争,NVidia GPGPU看起来像是纯利基产品,ARM试图打入服务器市场的尝试均未成功。

随着机器学习和人工智能等细分市场的发展,一切都发生了变化。与CPU相比,GPGPU更好地“适应”了卷积和矩阵乘法运算(尤其是精度较低)。此外,即使在摩尔定律之前,NVidia仍能证明晶体管数量有所增加。这已导致服务器体系结构变得两极分化。一端是x86 CPU,这是一种延迟引擎,适用于隐藏无序机器的延迟。它不可否认的优势是其在单线程应用程序上的出色性能(单线程性能)。缺点是巨大的面积和数量的晶体管。 GPGPU的另一端是吞吐量引擎,它是大量简单的计算元素(EU)。在这里,情况正好相反-一个元素的大小很小,这使您可以将大量它们放在一个芯片上。另一方面,单线程应用程序的性能还有很多不足之处……

遗憾的是,到目前为止,将高功率CPU和GPU组合在一个封装中的尝试尚未成功。至少由于这种芯片会消耗和耗散过多能量的原因。因此,离散解决方案现在处于趋势中。我真的不相信他们有两个原因。首先,该架构变得更加复杂,并且以连接CPU和GPU的总线以及异构内存结构的形式出现了更多的问题。第二个困难部分与第一个困难有关,并且在于这样的解决方案很难编程。每个现有的加速器编程模型(NVidia的CUDA,英特尔的DPC ++,OpenCL或OpenMP)都有自己的优缺点。同时,它们都不是普遍的也不是主导的。

在我看来,从体系结构的发展角度来看,AMD采取了正确的措施,后者引入了罗马处理器。由于内核的紧凑性(与Intel相比),可以在一个机箱中放置更多的内核。但是,仅凭此还不够-为了使这种解决方案能够扩展性能,必须注意内核(非内核)之间的正确通信以及并行运行时的质量。 AMD工程师设法解决了这两个问题,并在最重要的工业基准之一SPEC CPU上获得了非常具有竞争力的结果。 AMD的解决方案介于Nvidia和Intel提供的两极之间。但这距离最后一步要近得多。这仍然是相同的“大核心”。在我看来,极地方法之间的黄金分割需要更紧凑的核心。在现有体系结构中,ARM拥有占据这一优势的最佳机会。
图片
那么为什么ARM完全来自华为呢?我为自己找到了这个答案:随着芯片上内核数量的增加,一个内核性能的重要性降低(但达到一定极限),内核之间以及与内存进行通信的重要性也随之提高。而沟通是华为成为世界领导者的领域。决定系统性能的是非核心设计(不仅是核心,甚至不是核心)。我认为在这里,我们有很好的机会。

但是,理想的架构仅存在于真空中。实际上,始终需要与服务器市场中现有软件的数量和结构相关联。并且它已经针对X86进行了编写和优化。使它对ARM体系结构更“友好”将花费大量时间和精力。在软件工具领域(编译器,库,运行时)和应用程序适应领域(应用程序工程),都需要进行大量工作。但我相信,这条路将被旅行者压倒。

All Articles