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

。虽然这将帮助迁移部分工作负载,但是它不能帮助迁移已经在 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 。