ARM与x86对决:谁最适合云和移动设备?

云计算
ARM 于 2011 年发布了 Cortex-A15 处理器,它采用多核无序超标量设计,主频可高达 2.5 GHz。Cortex-A15 具有重要意义,因为它与前代的 ARM 设计背道而驰,前代ARM 处理器以牺牲性能为代价实现最低能耗。

ARM和英特尔处理器架构之争不断升温。英特尔 x86如今的地位确实难以动摇,但是ARM具有显著的功耗优势,在未来更具吸引力。那么什么样的CPU 最能满足未来的需求呢?

ARM 于 2011 年发布了 Cortex-A15 处理器,它采用多核无序超标量设计,主频可高达 2.5 GHz。Cortex-A15 具有重要意义,因为它与前代的 ARM 设计背道而驰,前代ARM 处理器以牺牲性能为代价实现最低能耗。相反,Cortex-A15 以实现强大的性能指标为明确目标,而把低能耗放在了次要位置。ARM Holdings 从本质上来说是一家向其他制造商发放自身设计许可的知识产权公司,由制造商制造芯片,然后再将芯片应用于其他制造商的系统产品之中。2012 年底,市场上开始出现采用 Cortex-A15 设计的产品,预计 2013 年将会出现更多此类产品。

 

[[66828]]

 

但是,想要赢得未来竞争的处理器公司并不只 ARM 一家。几周前,英特尔针对数据中心发布了基于自身凌动架构的全新低功耗 CPU。凌动 S1200 系列旨在提供 x86 在低功耗片上系统上的指令集兼容性。凌动S1200系列 主要针对微服务器和其他以性能为导向、功耗较低的应用。

 

ARM与x86:谁最适合云和移动设备?

 

英特尔凌动S1200微型服务器处理器

以下是三星 Exynos 5250(对最近推出的 Cortex-A15 的授权实施)和英特尔凌动 S1260(S1200 系列的高端产品)的简要对比情况。Exynos 5 系列应用于最新的 Samsung Google Chromebook和 Nexus 10 平板电脑中。需要特别说明的是,三星Exynos5250与英特尔凌动S1260这两款处理器都仅是庞大的处理器家族中的,因此对某一市场所进行的最佳优化并不完全适合另一个市场。最典型的示例就是 Exynos 的 4 GB 内存限制,这对于移动应用来说很正常,但是显然并不适合云计算。但是, Cortex-A15 架构采用了一个 40 位的分页内存算法(“大物理地址扩展”),可支持高达1 TB的内存。

* 注意:Exynos 5250 的功耗目前尚且未知,难以获取。我寻遍所有三星文档,也未能发现。我唯一的收获是在 Stream Computing

现在的问题是ARM和英特尔x86哪款 CPU 更好?然而这将引发另外一个问题:在哪方面更好?Leverhawk 主要感兴趣的两个市场是移动计算和云计算,因此,此后的分析也将更侧重于这两方面的内容。

将要进行对比的主要因素包括:

功耗

性能

应用兼容性

数据中心特性

在移动世界,如果其他条件都相同,那么功耗则是取得成功重要的决定性因素。虽然晶体管数量、内存大小和磁盘容量都在不断增加,但是电池性能并未随之增强。ARM 架构具有相当出色的能效,因此,目前它广泛应用于包括智能手机和平板电脑在内的各种移动设备中。但是除了智能手机和平板电脑外,移动市场还包括笔记本电脑和上网本。

 

ARM与x86:谁最适合云和移动设备?

 

搭载了英特尔双核Clover Trail处理器的联想K900

谈到智能手机和平板电脑时,用户通常会有这样的想法,“我希望设备能够随身携带,而且至少能够运行一整天不用充电。设备不能太重,所以不能使用巨大的电池;设备必须具有出色的能效。但是除了电池需要能够保持一整天外,我还需要设备保持较快的速度,因为我希望一直在设备上运行各种应用。我无需在手机或平板电脑上运行与台式机相同的系统;我希望购买新软件,以适合新的使用模式。我不需要 TB 级的内存或者像 ECC 那样卓越的数据中心特性。”

只要摒弃对现有操作系统和应用的依赖并假定会出现新的应用环境(比如 iOS 和 Android),那么 ARM 将是绝对的赢家,因为它具有更出色的能效,同时还能提供良好的性能。

而笔记本电脑和上网本市场考虑的则会稍有不同。可能会是这样,“我希望电池能使用 3 到 6 个小时而无需充电。设备可以大一点、重一点,因此可以使用容量更大的电池。希望它能够像台式机设备那样,只不过是移动的。所以,我希望设备能够运行台式机的应用。使用电池时我可以在性能上做出一些牺牲,而插上电源后则可以获得出色的性能。我需要几 GB 的 RAM,但是无需卓越的数据中心特性。”

在这种情况下,操作系统和应用的兼容性是需要考虑的主要特性,因此高能效的 x86 设计将是更好的选择。

现在,这一切都显而易见,因为市场已经在按照这个趋势发展。让我们来看一下我们能否提取出一些要点:

ARM 将继续在移动设备领域中表现出色,而移动设备中出现新操作系统和应用环境则是再正常不过的了。用户无法运行台式机应用,而且电池使用时间也非常重要。

但是,ARM 短期内在笔记本电脑或上网本领域难以取得重要斩获。如果我需要一台可移动的台式机,我希望能使用所有现有软件。除非 iOS 或 Android 可以在具有传统键盘的设备上运行,并开发一个足够丰富的生态系统来替代我的所有台式机功能,否则这种现状难以改变。

可能会有一种例外,那就是高度受限的笔记本电脑/上网本,比如 Google Chromebook。在这些设备上使用 web 浏览器通过网络运行应用。这些设备并非适用于所有人,但是由于对全部软件堆栈的严格控制以及使用的相关转变,他们可以而且已经使用了ARM。

 

ARM与x86:谁最适合云和移动设备?

 

Surface Pro平板电脑

英特尔在手机和平板电脑等较小设备上的表现并不尽如人意。虽然最新的凌动设计与传统的 x86 标准相比具有相当出色的能效,但是它们的性能功耗比还是难以媲美最新的 ARM 设计。如果不需要与传统的台式机电脑软件相兼容,那么 x86 则没有任何优势。比如,我们看到微软新的 Surface RT 平板电脑使用的是 ARM,而新的 Surface Pro 因为需要提供传统 Windows 台式机的兼容性,则使用的是 x86。不过,Surface Pro 电池的使用时间只有Surface RT 的一半 。

这些要点最终显示,对于传统的 Wintel 生态系统巨人微软和英特尔来说,ARM 是一个巨大的威胁。如果再考虑到智能手机和平板电脑正在成为许多移动员工的主要设备、移动是主要增长市场

那么,云计算和服务器端应用呢?在这种环境中,英特尔 x86 架构适合在家庭中应用。事实上,目前大多数数据中心使用的都是英特尔至强产品。但在未来,是否将发生改变? ARM 在数据中心内的价值定位简单明了:ARM 具有出色的能效,而数据中心则需要大量耗能。使用基于 ARM 的处理技术可以降低数据中心的整体功耗,从而降低运行成本;同时更出色的散热密度还有助于推动小型数据中心的发展。

理论上听起来不错,但实际能否站得住脚呢?

为了回答这个问题,我们需要对将要运行的预期工作负载有所了解。关键的几个工作负载包括:

·传统的 Windows 和 Linux 实例

·功能单一、控制严格的工作负载,如数据库

·云计算

·大型 web 资产

让我们依次来了解这些工作负载。

 

[[66832]]

 

x86能帮助数据中心满足各种工作负载需求

传统的 Windows 和 Linux 实例 — 这是如今我们所熟知的传统的 IT 工作负载。用户希望运行各种随机的 Windows 或 Linux 工作负载。在这一应用中,应用软件的兼容性是关键所在。硬件必须能够在各种应用间提供出色的性能。x86 在该情况下大放异彩。目前,微软正在研究面向 ARM 的Windows 端口。虽然这将帮助迁移部分工作负载,但是它不能帮助迁移已经在 x86 上运行的数十万企业应用。

功能单一、控制严格的工作负载 — 如果您可以严格控制所运行的应用,那么您就可以优化硬件,从而提供最出色的价格、性能和功耗。数据库就是一个很好的例子,它非常重要,因此值得这么做。目前,Oracle 等已经意识到这一点,甚至提供了 Exadata等优化的硬件系统。ARM 是否适合,都取决于您是否对功耗或性能进行优化。例如 Oracle的 Exadata 优化了性能并使用英特尔至强处理器,而没有使用 ARM,但是其他工作负载可能更适合使用ARM。

云计算 — 云计算在许多方面都与传统的 Windows 和 Linux 实例类似。如果服务提供商不能准确预测将要运行的应用,那么将默认提供基于 x86 的广泛兼容服务。此外,如果对云提供商的性价比指标进行判断和对比,那么高端的至强处理器将是。

大型 web 资产 — 有时候在一句话中能看到ARM 与Facebook 等名称同时出现。大型 web 资产是一项特殊资产。首先,它规模宏大,因此节能对于整体来说非常重要。其次,工作负载受到相当严格的控制,足够稳定。Facebook 的数据库运行构成 Facebook 应用的所有个体工作负载,但是这些工作负载通常具有相对较高的稳定性。如果公司可以隔离部分这样的工作负载,那么就适当优化基础设施。

例如,可能部分与 IO 捆绑的 Facebook 处理无需大量处理。这是向环境推出 ARM 的最好时机。Facebook 严格控制在 ARM 处理器上运行的应用并可以移植它们所需的信息。大量 Facebook 应用都是以 PHP 格式编写的,可以在 HipHop JIT编译引擎中执行。如果 Facebook 将 JIT 扩展至支持 ARM,那么公司可以在此后快速迁移大量 PHP 代码。其他 web 资产也可以采用类似战略。但是 Google 和微软都已经就使用所谓的“wimpy 核心”进行处理进行了撰文,而且得出了不同的结论:Google 表示不会使用,但是微软则持谨慎的乐观态度。

由此,得出一个共同主旨:在应用兼容性方面 x86 相对于 ARM 来说具有明显竞争优势。如果您运行控制严格的应用,那么使用 ARM 进行功耗优化则可能适合您;但是如果您希望处理各种工作负载和应用,那么 x86 则是更好的选择。

因此,英特尔最近推出的凌动产品可能是最理想的选择。虽然它没有 ARM 那样绝对的高能效,但是它大幅降低了功耗,而且还保持了 x86 的软件兼容性,并能提供服务器级别的特性,如 64 位处理能力、虚拟化和内存纠错。微软发现,使用凌动处理器处理 Bing 工作负载时,虽然为了满足性能需求需要进行悉心优化,但可带来大量优势。

软件兼容性这一强大影响因素帮助英特尔 x86 家族攀上了现代 CPU 的顶峰。虽然在低功耗方面 ARM 较 x86 具有明显优势,但是 ARM 要求用户放弃 x86 软件的兼容性。在某些情况下,这是可以接受的,比如智能手机、平板电脑和高度受控的数据中心和云计算工作负载。无论是用户不需要或者不想运行现有 x86 二进制还是代码库太小,迁移至 ARM 都是一个现实的任务。

但是,除了这些使用情形外,ARM 还面临着一件棘手的事情。英特尔最近针对微服务器优化的凌动处理器不仅可实现低功耗,而且还保留了 x86 的兼容性。虽然面临着这些挑战,但是 ARM 在智能手机和平板电脑这些无需 x86 兼容性的市场还是实现了大幅增长。最终,智能手机/平板电脑市场的扩大将帮助创建一个基于 ARM 的大型生态系统,该生态系统可在数据中心内对 x86 发起挑战,但是要想在专门应用以外的领域实现这一目标还有很长的路要走。

虽然 ARM 架构提供了令人不可思议的潜能,但是它仍然还处于起步阶段而且面临着许多巨大挑战。首先,最新一代的 ARM 芯片尚未在第一时间为企业的数据中心做好准备。到目前为止,ARM 架构仅支持 32 位指令集,这会导致在企业中出现问题。大部分服务器操作软件和企业级应用都基于 64 位架构,无法在当前的 ARM 芯片和平台上运行。Calxeda、Applied Micro 和 AMD 都已经意识到这一大问题,因此都宣布将在 2013 年末或 2014 年初发布 64 位版本。

其次,即使 64 位 ARM 芯片可用,也需要针对 ARM 架构对许多企业应用进行重新编写或重新编译。微软已经开始开发面向 ARM 的 64 位版本,而 Facebook、惠普、AMD、三星和其他厂商最近发起成立了 Linaro Enteprise Group,以加速基于 ARM 架构的软件开发。目前尚无厂商使用 ARM 处理器构建商用云。虽然去年 7 月,Rackspace、惠普、Canonical 和其他 OpenStack 成员宣布了他们开发基于 ARM 的云的意图,但是目前唯一上市的产品仅是 ARM sandbox 上可通过 TryStack使用的 OpenStack Essex 。

此外,尚存的疑虑还包括 ARM 服务器是否在数据中心内支持特定工作负载,或者它们是否能够真正取代 x86 架构。ARM 特别适合 web 扩展应用和数据分析,但是更多常用企业工作负载和常见云服务的价值定位还有待观察。

最后一个挑战是数据中心采购者本人的性格,这些人通常保守、善变、不希望有任何风险存在。他们不仅需要熟悉 ARM 技术和厂商,而且需要熟悉多个架构的潜在需求,以便支持他们的数据中心。

2014 年将是 ARM 、企业和云具有发展机遇的一年。虽然问题和挑战依然存在,但将值得期待。

责任编辑:王程程 来源: 中关村在线
相关推荐

2009-01-19 16:54:50

数据挖掘CRM孤立点

2011-12-30 10:31:53

Power7x86PowerVM虚拟机

2016-08-02 22:06:23

2023-02-22 09:53:55

架构芯片

2013-12-13 15:21:44

Html5企业移动开发框架

2020-03-17 15:55:12

Redis数据库命令

2014-03-17 16:52:10

ARMx86服务器

2014-03-14 09:58:49

服务器ARMx86

2016-01-26 09:58:28

云存储云服务云安全

2011-04-08 09:52:34

WindowsX86ARM

2018-01-24 15:27:35

数据信仰数据宗教

2019-09-01 19:19:04

TensorFlowPyTorch深度学习

2013-07-22 10:48:54

2019-03-22 08:25:20

x86PythonARM

2018-09-07 06:30:50

物联网平台物联网IOT

2018-07-16 08:50:31

固态硬盘内存

2021-02-14 10:09:04

数据目录数据元数据

2012-05-16 11:53:39

虚拟化

2022-07-11 10:17:19

Swift编程语言项目

2023-01-13 10:46:42

点赞
收藏

51CTO技术栈公众号