关于云计算:ARM架构是云计算的未来吗

10次阅读

共计 1725 个字符,预计需要花费 5 分钟才能阅读完成。

中央处理器 (CPU) 能够与人脑进行比拟,因为其独特的架构容许它们以不同的形式求解数学方程。当初,x86 是云计算中应用的次要架构。然而,值得注意的是,这种架构并非对所有场景都无效,其专有性质正在导致行业转向 Arm。

Arm 是一种 CPU 架构,为大多数平板电脑和智能手机以及世界上最快的超级计算机 Fugaku 提供能源。Arm 的低功耗和高计算性能使其成为云计算中 x86 当之无愧的对手。

在本文中,咱们将探讨一些风行的 Arm 我的项目,x86 和 Arm 架构之间的次要区别,并探讨咱们如何通过为开发人员提供基于 ARM 的容器环境来为他们的将来做好筹备。

1、ARM 与 x86

越来越多的公司转向 Arm 以降低成本和能源消耗。尽管 x86 依然是专有的 CPU 架构,但 Arm 向其余公司提供许可证。这容许这些公司应用 Arm 的专利技术设计定制处理器。

亚马逊定制设计的 Graviton 处理器是 Arm 在云计算中的一个很好的例子。通过应用这些处理器,AWS A1 实例可提供与 x86 EC2 实例相当的性能,同时节俭 40% 的老本。

Arm 和 x86 之间的次要区别能够追溯到这些 CPU 执行指令的形式。例如,一般的 x86 台式机 CPU 应用简单指令集计算机 (CISC) 架构的实现,容许单个指令在每个时钟周期内执行多步操作。

另一方面,Arm 应用精简指令集计算机 (RISC) 架构的实现,容许它应用无限的、高度优化的指令集在每个时钟周期执行一条指令。

2、Arm 容器

大多数人可能会想,“许多容器运行时环境,例如 Docker,能够应用 buildx(或相似的)命令为各种 CPU 架构创立容器,那么咱们为什么还要进行这种对话呢?”

只管 docker build –platform 能够创立特定于平台的映像,但不能运行从配方 (Dockerfile) 执行二进制文件的命令。

在以下示例中,大家能够看到因为主机和二进制架构类型之间的差别而导致的构建失败。

容器与主机共享 CPU 和内核,这意味着底层硬件决定了能够在容器环境中应用的指令集。这能够在之前的 Docker 构建输入中以红色突出显示。

咱们应用的可执行程序被编译为二进制文件。编译是软件开发过程中的一个神奇步骤,其中编译器(软件)获取一段源代码(能够说是人类可读的)并将其转换为特定于 CPU 的二进制机器代码(即 1 和 0)。简略来说:程序是由其余程序制作的。有一些基于解释器的语言能够间接从源代码执行指令,但咱们不要深陷其中。

3、应用 Linux

Linux 内核蕴含许多性能,是一个模块化软件,能够依据应用要求进行宽泛定制。其中一项性能 binfmt_misc 容许用户应用解释器在零碎中运行简直任何二进制文件,而不论二进制编译的体系结构如何。Linux 能够配置为应用 binfmt_misc 并匹配二进制文件的开始字节,以确定哪个解释器适宜执行它。

在咱们的例子中,咱们须要应用可能了解 ARM64 CPU 指令的解释器来运行所有内容。

ProjectMultiarch 应用雷同的概念将管理程序 QEMU 注册为解释器,容许用户模仿容器的各种 CPU 架构。

4、仿真老本

仿真是一种无需理论硬件即可开始测试和开发解决方案的好办法。然而,值得注意的是,仿真在原生平台之上减少了一层开销,使其不适宜生产环境。

无限的性能和边缘状况,例如因为不是原生而导致的性能输入较低,可能是仿真老本的一个例子。

5、用例

近年来,编程语言曾经倒退到反对多体系架构,并且在大多数状况下,反对像 Arm 这样的架构简直不须要付出任何致力。

Web 层我的项目是 Arm 集成的一个很好的终点。例如,Apache 和 NGINX 等我的项目是十分风行的 Web 服务器,它们曾经反对 Arm 架构。值得注意的是,对 Arm 的反对并不是惟一的益处,因为在 ARM 环境中将 NGINX 作为缓存服务器或反向代理运行将取得比 x86 更好的性能。

内存数据库是 Arm 架构能够提供改良的另一个畛域。应用 RISC 架构,与 x86 环境相比,Redis 等应用程序能够实现引人注目的性能。

以下基准测试比拟了 Redis 在 x86 和 ARM64 CPU 架构下的设置和获取操作。

6、论断

Arm 架构仿佛是 x86 零碎的绝佳替代品,并且因为其效率,公司正在为其将来的云计算进行投资。转换应用程序和集群可能会在不影响性能的状况下节省成本。

正文完
 0