ARM服务器(用于数据中心的移动CPU架构())

本文概述

  • 重新思考处理器设计
  • 服务器不必花费ARM和支腿
  • 为什么要使用ARM服务器?
  • 多线程:足够多少个CPU内核?
  • 什么是ARM自定义内核?
  • ARM服务器的优缺点
  • 光明的未来和一丝炒作
我越来越老了。在我的时代, 如果你想要一流的CPU性能, 则必须使用高端x86芯片, 或者, 如果你的口袋更深, 则可以得到一些异国情调的东西, 例如PowerPC系统。业界对x86处理器的依赖性似乎在增加而不是下降。
十年前, 苹果加入了x86俱乐部, 这促使许多观察者得出结论, 大众市场中非x86处理器的时代已经结束。仅仅几年后, 他们不得不吃掉自己的话, 而苹果又一次与它有关。 ARM服务器即将问世, 它们可能会振兴服务器行业。
重新思考处理器设计 随着范式的转变以及主流用户拥抱智能手机和平板电脑, 英特尔, AMD和威盛(VIA)的x86芯片很快就无法完成任务。尽管x86是地球上最多产的指令集, 但出于多种原因, 它并不是移动设备的理想选择。实际上, 尽管英特尔的代工厂技术负责人开始改变这种情况, 但英特尔的指令集仍然不是移动处理器的流行选择。无论如何, 在这个市场领域中, x86的效率都不如其他CPU体系结构, 即基于ARM 32位ARMv7和64位ARMv8指令集的处理器。
在过去的十年中, 尤其是在过去的五年中, ARM处理器在智能手机和平板电脑领域占据了主导地位, 并且还有很多工作要做。他们提供了许多每瓦性能, 设计, 生产和部署都很便宜。大型供应商可以购买必要的构件, 并根据ARMv7或ARMv8设计自己的处理器, 并根据他们的需求添加其他组件(高速调制解调器和不同的GPU)。
这导致一些芯片设计人员采用略有不同的方法来设计自己的定制CPU内核。高通公司和苹果公司一路领先, 两家公司都成为了移动片上系统(SoC)市场的重要参与者, 其复杂的定制内核的开发对他们的成功起到了重要作用。但是, 自定义ARM内核仍在高端处理器中使用, 而其他所有细分市场都被标准ARM Cortex CPU内核所覆盖, 例如32位Cortex-A8, A9, A7和A15, 其次是64位诸如Cortex-A53, A57和新的A72内核之类的设计即将开始发售。
ARM成功的另一个前提条件是微软的失败。
Windows仅在x86处理器上运行, 因此, 如果微软要在移动领域立足, 它将在英特尔的支持下扩大规模。然而, 到了最近十年末, 雷德蒙德显然已经放弃了这一决定, 并将这个利润丰厚的市场割让给了谷歌和苹果。说到球, 微软的长期首席执行官史蒂夫·鲍尔默(Steve Ballmer)在几年前离开了公司, 承认他和他的团队未能意识到智能手机和平板电脑的潜力。无论如何, 这不再是鲍尔默的问题:他现在脑子里还有其他球, 确切地说是篮球。
ARM服务器(用于数据中心的移动CPU架构())

文章图片
ARM处理器占据了移动领域的主导地位, 并且正在进军其他产品类别。服务器是一个很好的起点。
鸣叫
但是, 移动并不是见证微软史诗般失败的第一个或唯一的细分市场。另一个是服务器市场。从表面上看, 智能手机和数据中心并没有太多共同点, 但是从技术和业务角度来看, 它们有一些重叠之处。
无论你是设计智能手机还是服务器, 都需要强调硬件平台的相似方面, 例如功率效率, 良好的散热性, 每美元的性能等等。最重要的是, 对于智能手机和许多类型的服务器, 你实际上并不需要基于x86的处理器。由于微软的失败, 这些细分市场并没有被任何Windows操作系统所控制。他们改为依赖基于UNIX的操作系统:Android, iOS和各种Linux发行版。
微软还尝试利用ARM处理器的潜力, 因此尝试开发可在ARM硬件上运行的Windows版本, 这很方便地使我陷入下一个Microsoft失败:Windows RT。微软最终取消了Windows RT或最初称为” ARM上的Windows” 的插件。微软最新的Surface平板电脑采用x64处理器和标准Windows10。微软的Lumia智能手机产品线(诺基亚Lumia)仍然使用高通公司的ARM处理器, 但是Windows Phone作为主流的智能手机平台几乎已经废除了。
服务器不必花费ARM和支腿 目前, 我们在野外拥有数十亿部智能手机和平板电脑, 其中绝大多数基于ARM处理器。但是, ARM芯片并未进入其他市场领域。只有少数几种基于ARM的大容量计算平台不属于智能手机和平板电脑类别。 Google Chromebook可能是最著名的例子。但是, ARM芯片还用于其他设备中:路由器, 机顶盒和智能电视, 智能手表, 某些游戏设备, 汽车信息娱乐系统等。
那么ARM服务器呢?
这是棘手的地方。自2010年以来, 我一直在谈论ARM服务器, 但进展缓慢且有限。 ARM在服务器领域的市场份额仍然可以忽略不计, 生态系统仍然分别由英特尔和AMD的x86 Xeon和Opteron部件主导。由于AMD在CPU方面陷入困境, 因此英特尔近年来已设法扩大其市场份额。
ARM服务器(用于数据中心的移动CPU架构())

文章图片
与基于Intel和AMD x86芯片的ARM服务器相比, ARM服务器最终可能会便宜得多。
鸣叫
但是, 为什么ARM服务器听起来像一个好主意呢?
钱。我可以尝试列出使ARM成为服务器市场上x86可行替代品的所有令人讨厌的观点, 但是到最后, 它主要是关于金钱的, 所以我将尝试在几行中进行解释。
  • 价格/性能
  • 数据中心工作负载在不断变化和变化
  • 能够从各种供应商处采购处理器
  • 将定制设计的芯片用于各种领域
  • ARM芯片更适合某些基础设施应用
  • 这是将其固守于英特尔并侵蚀其市场地位的好方法(英特尔即将成为服务器领域的垄断者)
我们不需要所有东西都需要昂贵的大型Xeon处理器。此外, 由于功耗高, 使用过时的x86处理器来处理不需要的工作负载不是一个好选择。请记住, 我们所说的是服务器, 而不是MacBook或台式机。服务器全天候运行, 因此每个效率增益(包括相对较小的效率增益)都非常重要。这不仅仅是要获得更大的电费;数据中心必须进行冷却和维护, 因此, 具有较低散热设计功率(TDP)等级的处理器对企业用户而言比对个人更有价值。
为什么要使用ARM服务器? 那么, ARM处理器适合哪种企业应用程序呢?
好吧, ARM希望能为网络基础架构应用程序赢得绝大多数设计大奖。由于具有灵活性, 体积小, 效率高和价格低廉, ARM处理器是基础结构的理想选择。你可以在路由器, 高性能存储解决方案和某些类型的服务器中使用ARM处理器。
但是, ARM预计这十年企业的大部分增长将来自服务器, 因为其其他细分市场已经成熟, 并且在其中具有良好的市场份额。服务器工作负载也在发生变化, 这种趋势与云服务的增长息息相关。结果, 服务器必须处理越来越多的较小任务。
许多组织喜欢保持其选择的开放性, 因此他们从多家供应商那里采购硬件。对于ARM服务器处理器而言, 这是个好消息, 因为它们可以由许多不同的公司销售。此外, ARM的许可政策和处理器设计的模块化方法可用于为特定应用设计定制处理器。显然, 对于小公司来说, 这是不可行的选择, 但是如果像亚马逊, Facebook或Google这样的大公司开始要求定制服务器处理器, 而该处理器旨在在某一特定应用上表现出色, 那会发生什么呢?
至于” 坚持使用英特尔” , 我应该指出, 这并不意味着英特尔有任何伤害, 也不希望看到它失败或被赶出各个市场领域, 但与此同时, 我担心的是英特尔的统治最终可能会扼杀增长和创新。竞争加剧将导致最终用户的价格降低, 而这正是ARM服务器的目的。
多线程:足够多少个CPU内核? 仅在十年前, 多核x86处理器才用于高性能计算机和服务器, 但现在你可以在100美元的平板电脑中获得四核x86芯片。
在多核计算的早期, 你仍然需要大型CPU内核才能获得足够的性能。许多软件无法利用这些新处理器及其额外的内核, 因此良好的单线程性能至关重要。情况肯定已经改变;如今, 我们拥有八核智能手机, 四核Intel平板电脑和手机以及16核x86服务器处理器。
这是有充分的理由的。从技术和财务角度来看, 构建多核处理器非常有意义。将负载分配到几个更小, 更高效的CPU内核要比开发能够在高频下运行的单个大型内核要容易得多。多核方法可确保出色的效率和芯片成品率。
ARM服务器(用于数据中心的移动CPU架构())

文章图片
像老板一样的多线程:ARM服务器处理器比普通的x86服务器部件拥有更多的物理内核。
鸣叫
ARM有潜力将核心狂热推向新的高度。 ARM CPU内核通常小于服务器和台式机部件中使用的英特尔所谓的” 大内核” (英特尔的” 小内核” Atom保留用于移动设备, 尽管基于Atom的服务器部件也可用)。但是, 这并不意味着我们很快就会看到128核或256核ARM处理器, 尽管从理论上讲它们是可能的。这取决于新的ARMv8服务器处理器如何处理多线程负载。有一些令人鼓舞的迹象, 并且ARM服务器将成为可能受益于其多核处理器的一系列工作负载的不错选择。
高通公司的第一个服务器处理器具有24个ARMv8 CPU内核, 该芯片制造商明确表示, 未来的型号将采用更多的内核。还记得AMD及其服务器市场的困境吗?好吧, 该公司仅在几周前就推出了其早已过期的基于ARM的Opteron A1100处理器。高通公司在10月宣布了这一消息, 因此这两款产品将在未来几个月内上市。
当然, 英特尔不会参加这个ARM大会, 但是高通和AMD并不是唯一从事基于ARM的企业芯片的芯片公司。诸如Broadcom, Calxeda, Cavium Networks和Huawei HiSilicon之类的芯片制造商也致力于基于ARM的服务器产品。 Nvidia和Samsung是SoC和GPU业务中的两个重量级人物, 直到几年前他们决定停止开发时, 他们还尝试了ARM服务器部件。德州仪器(TI), 赛灵思(Xilinx)和Marvell也正在探索ARM服务器部件。
这些公司中的一些公司也致力于定制ARM内核, 但是当今唯一可用的非Apple 64位定制ARM内核是Nvidia的Denver, 它仅获得了很少的设计胜利。
什么是ARM自定义内核? 我知道大多数人都不会烦恼跟踪所有行业细分市场, 包括CPU空间, 因此, 我认为现在是时候解释一下使ARM内核与众不同以及定制内核实际上是什么的好时机。我不会剖析处理器, 也不会解释x86和ARM指令集之间的区别, 但是我将从业务角度概述这些区别。
你会看到, ARM并不仅仅因为它使用了不同的指令集而有所不同, 尽管在我看来, Intel, AMD和ARM之间最大的区别不是架构, 而是业务模型。此外, 架构会发生变化, 新的CPU设计会定期发布, 但是ARM多年来对其技术进行营销和许可的方式并没有改变。
这是一个简单的例子。
英特尔使用英特尔指令集开发了英特尔处理器。它在Intel代工厂制造, 并以” Intel Inside” 品牌包装和装运。听起来很简单, 但不要忘了数十年来投入研发的数十亿美元, 或者英特尔依赖自己的晶圆厂进行制造的事实(如果你在市场上拥有14纳米晶圆代工厂, 请确保你有一些备用晶圆)改变你的想法, 因为芯片厂的成本与核航空母舰的成本一样高)。
那么ARM产品呢?嗯, ARM不是芯片制造商, 而是芯片设计师或” 无晶圆厂” 芯片公司, 因此它不涉及制造, 也不销售自有品牌的芯片。 ARM出售更有趣的东西:知识产权。这意味着ARM客户可以选择许多不同的许可计划中的任何一个并开始进行自己的设计。他们中的大多数人选择ARM的内部设计(Cortex系列CPU, Mali系列GPU), 因此他们为生产的每个CPU / GPU内核支付许可费。
但是, 客户端不必许可这些现成的CPU;因此, 无需授权。它可以改为许可体系结构集并基于ARM指令集开发自定义核心。苹果就是这么做的。它使用ARMv8指令集为其iOS设备构建强大的64位CPU内核。 Nvidia的Denver CPU在这方面是相似的, 高通的定制内核(32位Krait和64位Kryo系列)也是如此。
设计定制的CPU内核并不容易。并非你会发现芯片设计师会失业, 而是愿意在Craigslist上设计定制处理器, 因此, 这种方法通常仅供具有必要技术, 财务和人力资源的大型企业使用。因此, 大多数公司改为使用现成的ARM Cortex内核(64位Cortex-A57内核可以在服务器环境中使用, 并且大多数下一代ARM服务器处理器都使用该内核)。
重要的是要注意, 实际上基于ARM的芯片是定制设计的, 但是大多数使用的CPU内核不是定制的。
绝大多数ARM处理器依赖于标准ARM CPU设计(Cortex CPU), 而不是自定义CPU内核。这意味着芯片制造商可以选择众多ARM CPU内核, 第三方GPU和其他组件中的任何一个, 并定制处理器来满足他们的需求, 而不必开发定制的CPU内核。这是使架构更灵活的一种廉价方法, 并且与ARM的许可策略有关而不是工程方面。
ARM服务器(用于数据中心的移动CPU架构())

文章图片
新一代64位ARM服务器处理器(例如AMD的Opteron A1100)拥有令人印象深刻的功能集。
鸣叫
还需要注意的是, 这些即将面世的基于最新ARM 64位CPU架构的ARM服务器与经过多年试验的ARM服务器没有太多共同点。例如, 我们的一位同事试用了Scaleway ARM服务器, 但是它们基于ARMv7处理器, 并且具有许多硬件限制(例如, Scaleway使用共享的I / O控制器, 而缺乏64位支持导致了另一种情况)。挑战)。新一代基于ARM的服务器不会遭受这些棘手的问题的困扰;在功能和标准方面, 它们与英特尔硬件更加接近。
ARM服务器的优缺点 ARM服务器的问题在于它们倾向于用于小型壁ni, 而不适合可以与任何服务器一起使用的小型开发人员。尽管一些大公司发现它们很有吸引力, 但当前可用的ARM服务器并不适合大多数个人开发人员。
但是, 即将推出的服务器解决方案有所不同, 应该吸引更多的市场。这可以使他们吸引更广泛的用户群:
  • 降低了硬件成本, 潜在地提高了效率(每美元性能, 每瓦性能)。
  • 增加流行端口的兼容性和可用性。
  • 支持最先进的技术和新的行业标准。
  • 能够胜任某些类型的工作负载(简单但多线程的负载)。
  • 比x86空间更具竞争性和产品多样性。
我必须强调, 由于硬件尚未推出, 因此在目前阶段, 其中一些观点是理论上的。但是, 虽然我不能断然宣称未来几个季度会发生什么, 但我相信新一代的ARM服务器将带来这些(以及更多)好处。我为什么这么有信心?好吧, 如果他们没有潜力做出改变, 那么ARM, 高通, AMD和其他公司就不会浪费时间和金钱来发展自己的产品。
那么, ARM服务器的缺点呢?有很多, 其中一些很大。幸运的是, 该行业正在努力解决这些问题。
  • 即时软件支持
  • 可用性, 潜在的部署问题
  • 投资回报率问题
  • 微小的生态系统
  • 旧习难改
与软件相关的问题可能是最紧迫的问题。尽管许多流行的服务将在ARM服务器上运行, 但软件支持将是一个问题。仅仅将东西移植到新硬件上是不够的。我们必须确保所有功能均正常运行, 以免造成性能损失。换句话说, 移植的软件必须成熟。没有人会开发和部署基于越野车基础的服务。
ARM服务器(用于数据中心的移动CPU架构())

文章图片
ARM服务器生态系统很小, 但是已经有许多大的行业名称。
鸣叫
在服务器市场上赚了很多钱之后, 人们会期望看到快速的进步, 但这并非总是如此。采用新硬件并调整其上运行的所有软件绝非易事, 其步伐取决于市场的采用。 ARM服务器生态系统的大小非常有限, 我怀疑几个新处理器在短期内是否会带来很大的不同。尽管有影响力的公司(如ARM和高通公司)对看到对ARM服务器的需求回升有既得利益, 但他们对软件的处理却很少。他们几乎对软件开发人员没有影响, 因此不能强迫他们向现有产品添加ARM支持。
长话短说:仔细查看你的堆栈, 并尝试弄清楚一切是否都将在ARM硬件上正常运行。如果有足够的时间, 开发人员将开始添加对ARM硬件的支持, 但这并不是一个快速的过程。他们将不得不调整框架和应用程序, 以考虑新的架构, 我怀疑, 其中很多都不会麻烦, 除非那里有足够的ARM服务器(这可能需要数年)。对旧版软件的支持是另一个明显的问题。
这就引出了下一个要点:市场可用性和潜在的部署问题。那里没有太多的ARM服务器, 因此选择受到限制, 可用性也受到限制。一两年后, 我们可以看到许多基于ARM的托管程序包, 但不会太多。更糟糕的是, 这些服务器很可能会集中在世界的某些地区, 从而使其对某些开发人员的吸引力降低。与部署有关的未知因素很多, 因此, 现在说出结果如何还为时过早。
缓慢采用可能会带来另一组挑战。这些不限于ARM服务器;它们适用于大多数企业技术。许多组织注定要探索使用ARM服务器的可能性, 但这并不一定意味着他们会实际使用它们。为了确保足够的发展和消费者需求, 市场采用率需要稳定增长。否则, 采取观望态度的人可能会避开风险。另一个潜在的问题是经济问题:如果开发人员不确定生态系统的增长速度是否足够快, 他们可能会得出潜在的回报根本不值得付出的努力。
这些旧习惯呢?好吧, 由于服务器空间发展不快, 因此人们倾向于使用经过验证的平台, 即x86硬件。座右铭很简单:如果没有破裂, 请不要修复。行业资深人士可能会将ARM服务器视为一个机会, 并对其进行赌博。将一个复杂项目的一部分与许多人仍然认为未经测试或不成熟的硬件平台联系在一起需要相当大的勇气和信心。我担心很多人不愿意冒险, 至少在现在这么早。
光明的未来和一丝炒作 我一生中的大部分时间都花在了最先进的硅片上, 而我个人对ARM服务器的看法是, 它们具有很大的潜力, 但并不是所有人都可以使用。通过为基础架构提供廉价的构建基块并处理利基服务器工作负载, 它们可以在明天的Internet中发挥至关重要的作用。
但是, 与此同时, 我无法避免ARM服务器容易被过度炒作的感觉。尽管如此, 我并不认为它们是一种时尚。我认为它们会留在这里, 但是供应商必须找出一些可以从新架构中真正受益的特定领域。
换句话说, 我们不会看到很多基于ARM的简单的LAMP网络托管服务器, 但是我们可以看到它们的负载在更多奇特的壁ches(以及一些非常无聊的壁ni)中。 ARM处理器可能非常适合特定负载, 尤其是那些可以利用大量小型物理CPU内核(不受CPU限制)的负载的处理器。听起来可能并不多, 但实际上它涵盖了许多潜在用途:数据记录, 大量简单查询, 某些类型的数据库, 各种存储服务等等。
我可以继续列出各种不同的用例, ARM服务器的优缺点以及潜在的问题, 但是到最后, 我怀疑采用ARM服务器将取决于过去的经验。除了技术外, ARM服务器仅在经济方面可行的情况下才有意义。换句话说, 如果要证明其存在的合理性, 它们必须比x86处理器提供更多的价格优势。
【ARM服务器(用于数据中心的移动CPU架构())】由于这或多或少是将这种新架构引入服务器行业的重点, 因此我预计价格会很有吸引力, 但是要确定我们还需要几个月的时间。

    推荐阅读