几个月前,微软宣布将在基于高通骁龙835的ARM笔记本电脑上安装Windows 10创作者更新Microsoft还推出了这个春天,还透露它已经在Azure数据中心尝试了ARM服务器,并计划为一些非常具体的生产工作负载使用它们。2020欧洲杯预赛
这并不意味着你应该期待微软很快就会发布ARM的Windows Server——如果有的话。微软杰出工程师Leendert van Doorn告诉CIO.com:“2020欧洲杯预赛我们正在为数据中心使用优化(ARM服务器),不仅是为了今年晚些时候即将问世的新一代,而且是为了以后的一代。”
是的,Azure运行在Windows Server上,Windows内核长期以来一直支持多处理器架构。是的,微软有一个ARM版本的Windows 10。是的,Windows 10和Windows Server都是由相同的源代码构建的。但要做任何有用的事情,Windows Server还需要语言运行时、中间件和应用程序。
Microsoft只移植了足够的Windows Server和这些关联的软件组件以运行臂的工作负载很好。虽然他在本月早些时候显示了开放计算平台峰会的代码并确认了几个Microsoft Cloud Services将使用ARM服务器,但是Van Doorn也明确表示此ARM版Windows Server仅供内部使用。
他没有排除,说,可以利用ARM服务器的Azure堆栈的未来版本,但问题较少关于技术和更多关于经济学的信息。“企业市场不断增长,造成稳定的市场是困难的。在云中的不断增长的市场中采用新的东西......那就是你可以引入新技术的地方,这就是你可以扰乱的地方。我可以在某些时候看到事情会流入企业;没有技术原因,为什么他们不能,但它真的关于市场动态。“
ARM已经为云服务做好了准备
ARM的优势在于,与Intel Xeon相比,你可以拥有更多的内核和更多的执行线程,而且价格更低,功耗也更低。对于Azure这样的云服务来说,这无疑是很有吸引力的,因为这些服务更多地是受限于它们可以进入数据中心的电量,而不是它们可以装入大楼的服务器数量。2020欧洲杯预赛
但是减少电力的使用并不是主要的动机,van dorn说。“在我看来,权力或多或少变得无足轻重。最后,我感兴趣的是如何获得最大性能,如何从我的系统中获得最大价值。”
直到现在,ARM还不够强大。“你有很多处理器,有很多核心,但每线程的性能真的很低。随着这些产品今年的推出,这种情况正在改变。我们看到了非常高端的每线程性能,我们仍然看到了很多线程,”van Doorn说。
这一代ARM服务器不仅具有必要的性能,而且由于智能手机的快速发展,它们是一个灵活、竞争激烈的生态系统的一部分。“我们看到了有趣的连接选项(与ARM),特别是围绕新的总线标准。我们看到了有趣的整合选项。”“我们看到多个拥有高端处理器的合作伙伴相互竞争。我们喜欢这一点,因为它能推动创新。”
手臂上的优势
摩尔定律(Moore’s Law)一直在推动x86架构的性能提升,它一直在提高晶体管的密度和降低成本。无论是技术上还是经济上,这一趋势正在放缓。ARM自身也将面临这种放缓,但那是未来的事情。
ARM与我们熟悉的x86架构相比还有一个潜在的优势,因为它已经使用了多个不同的指令集,这些指令集是随着芯片的发展而开发的。相比之下,当AMD开发64位x86芯片时,它选择了兼容性,这让开发人员更容易从32位转移到64位,但这意味着创建另一个指令集将是破坏性的,而且可能效率低下。即使使用64位x86芯片运行32位软件,它也使用相同的处理器指令,只是带有一个前缀,告诉芯片是用32位地址模式还是64位地址模式运行它们。
“如果您查看ARM的16位和32位和64位指令集架构,”Van Doorn解释“,它们是完全不同的指令集。没有重叠。所以对于ARM,它真的很容易创建一个新的指令集,而不会破坏所有其他指令集。使用x86更难做到,因为您有一个大指令集,所以您无法在程序处理器中进行根本班次。“
“我们觉得ARM指令架构架构将其自身归因于进化,而不是我们正在使用的任何其他指令集,”Van Doorn说。即加上手臂生态系统的创新,使Microsoft现在可以与Windows和未来的服务器一起做什么,使Windows Server运行并不困难。
“为了引导生态系统,它有助于如果您有另一个生态系统,那么为其开发所有工具和软件,”Van Doorn说。“x86服务器真的受益于pcs上的x86。在手臂中,同样存在于移动侧。At Microsoft, we’ve greatly benefited from that ecosystem in porting Windows Server, because we’ve got a unified source code base where both client and server versions are built out of the same source tree, so doing a Windows Server version was relatively straightforward.”
ARM适合PaaS而不是IaaS
在您对在自己的更便宜、更低功耗的服务器上运行Windows Server工作负载的想法产生热情之前,请记住,这将意味着要么将您的所有应用程序和代码移植到新的指令体系结构,要么在仿真中运行它们,从而失去那些核心的性能优势。
这不是一个手臂无法做虚拟化,但这不是工作的最佳工具。“我们已经有一个非常好的车辆来运行x86工作负载,即x86处理器。所以ARM没有提供任何好处,如果我们要在ARM上运行x86工作负载,我们必须去和二进制翻译它或模拟它,并且所有的表现都消失了,“Van Doorn说。“ARM闪耀的地方是平台 - AS-Service(PAAS)工作负载。”
将代码移植到ARM指令集对于Azure来说是值得的,这是因为云的规模和微软在Azure中运行的云服务的种类。那些ARM服务器不会为运行虚拟机(vm)的基础设施服务提供动力;他们将运行搜索和索引、存储、数据库、大数据和机器学习等平台服务。
更换昂贵的Xeon芯片会降低成本,这就是为什么经常发现ARM芯片支持网络连接存储(NAS)硬件的原因。但真正的胜利是在像SQL Azure、HDInsight和Azure Data Lake、Azure IoT Suite和Cortana Analytics、Azure Stream Analytics、DocumentDB、Azure ML和Microsoft Cognitive services、Azure Search和Azure CDN等服务所需的高度并行处理。所有这些核心和线程使ARM服务器成为高效处理机器学习所需的大量相对较小的训练数据的理想服务器。
在ARM上运行这些PaaS工作负载意味着当你在Azure上“使用”ARM服务器时,你永远不会知道你是在ARM上。如果Azure Stack真的将ARM服务器引入数据中心,或者指令集的发展使ARM服务器成为未来的硬件选择,您2020欧洲杯预赛仍然不会将其用于基础设施即服务(IaaS),因为IaaS是用于遗留应用程序的。如果您曾经购买过它们,那么您将使用ARM服务器作为PaaS。
2020欧洲杯预赛数据中心变得多样化
在数据中心中拥有混合硬件的企业并不是新的,即使它不是最近的趋势。2020欧洲杯预赛大型机而不是像RISC服务器一样褪色,而不是像RISC服务器一样留下他们的利基 - 特别是在金融中。事实上,市场情报公司IDC说大型机越来越多地与其他企业系统相连,使用web api、Java和Linux。
AMD带着其新的32核那不勒斯服务器芯片2020欧洲杯预赛重返数据中心,这可能会模糊CPU和系统芯片(SoC)之间的界限,但即使你直接连接gpu来运行虚拟桌面或机器学习工作负载,你仍然在处理熟悉的x86架构。
但是还有其他的选择,不仅仅是ARM。
OpenPOWER基金会是IBM创建的一个技术联盟,旨在试图打入英特尔主导的数据中心市场,该基金会希望企业能够接受更多样化的系统。2020欧洲杯预赛谷歌是创始成员之一,POWER架构将于今年在谷歌数据中心使用。2020欧洲杯预赛但POWER将与英特尔的新Skylake Xeon处理器、NVidia和AMD Radeon图形处理单元(GPU)、ARM服务器和谷歌自己的定制张量处理单元(TPU) asic并肩作战。
这种异构环境的操作复杂性不同于通常的超大规模云方法,后者在采购和管理方面使用尽可能相同的基础设施,以实现规模经济。但这与微软推出基于gpu的虚拟机和现场可编程门阵列(FPGA)板以及ARM服务器以加速搜索和人工智能工作负载的客户(和内部)需求是一致的。同样,Facebook也将特斯拉gpu应用到自己的开放计算项目(OCP)中,用于机器学习服务器。
异构硬件方法的一些原因是为特定的工作负载选择最佳的架构,比如机器学习。“当我查看所有这些服务器的范围时,它变成了‘我如何将正确的硬件与我的工作负载匹配’,”van Doorn说。“这是一件有趣的新事情。过去,你总是有一种处理器,你需要让你的工作负载与之匹配。云的规模是这个的另一边;优化特定的工作量具有经济意义,你现在可以为此优化硬件,这是非常令人兴奋的。”
硬件优化不仅仅适用于ARM服务器。“这并不是说ARM或GPU会成为赢家。它们都有自己独特的应用领域——而且它们都是可互操作的,所以ARM可以有gpu,也可以有fpga。我们构建了自己的智能网络接口控制器(NIC),并在其上安装了FPGA,用于数据中心的加速,并适用于ARM服务器。”2020欧洲杯预赛
Azure硬件基础设施的总经理Kushagra Vaid指出,云计算需要混合硬件,因为它运行着如此多不同的工作负载。“当我们扩展公共云时,你必须拥有服务和硬件,这样你才能运行今天在企业中运行的任何工作负载。这些企业的工作量是多样化的;它们可以是简单的业务线应用程序,也可以是复杂的高性能计算(HPC)或机器学习。现在我们必须在一个云上完成所有这些工作,所以硬件必须在那里运行这些不同的工作负载。”
“这并不一定意味着我们会有大量的异质性;这意味着我们必须找到合适的硬件设计,以便在给定的工作负载下最有效地完成工作,”Vaid说。但他也指出,工作负担正变得越来越多样化,而不是越来越少。“就在五年前,x86几乎可以处理除HPC之外的所有工作负载,所以人们使用CUDA,但在GPU和x86之间,你几乎可以处理所有工作负载。现在,下一代的工作量激增。机器学习就是典型例子,机器学习和人工智能甚至不能很好地映射到gpu上。这就是为什么有这么多机器学习初创公司试图更有效地解决这个问题。”
标准和供应链
它也值得记住,使用ARM服务器为大型云建造者提供一种促进供应商之间竞争的方式。作为数据中心市场上有一个扼杀魅力权益的主导供应商,英特尔并没有对降低价格的激励。2020欧洲杯预赛
与英特尔不同,ARM不制造和销售芯片;它将创建和优化这些中央处理单元(CPU)的指令授权给多个公司。ARM服务器厂商有很多,他们之间的竞争将有助于推动技术进步和保持价格竞争力,尽管van Doorn指出,推动创新比压低价格更重要,因为微软可以通过“擅长工作负载”来节省成本。
拥有多个供应商还可以避免依赖单个供应商提供整个云的担忧。微软正在与几家ARM授权方合作,包括高通和Cavium。他表示:“这里显然存在供应链动机,但它们超越了成本。”“关键是‘我们能否得到正确的产品?我们能增加我们需要的量吗?’如果我们的伴侣出现了一个小问题,这对我们有什么影响?”
处理这些问题需要标准化。这部分依赖于2014年引入的服务器基础系统架构(SBSA) ARM。“SBSA致力于减少你在ARM领域看到的碎片化。我们经常利用这一点。由于使用SBSA,我们在Cavium和Qualcomm机箱上运行了相同的Windows Server版本,两者之间没有区别。”
事实上,使用Windows设计ARM服务器实际上有助于进一步推动标准化。供应商可以修改Linux以使其在其硬件上运行它们无法修改Windows Server。“这是在Linux生态系统中未发生的方式执行标准化和统一,因为它们是内部分散的。”微软也与ARM合作,使系统建设更容易(部分,使用它学习的课程建筑物表面和Windows Phone)。“走向,公共汽车将令人愉快;我们将能够弄清楚系统中的设备。“
此外,微软还避免了混合硬件带来的复杂性,因为高通和Cavium的主板适合微软去年宣布的Project Olympus服务器设计。这是一个通用的设计,你可以放下一个英特尔,AMD或ARM主板,以及GPU和FPGA加速器。
“这减少了将这些新技术引入我们的数据中心的摩擦,”van Doorn指出。2020欧洲杯预赛“将ARM这样的全新指令集架构引入数据中心是一回事;2020欧洲杯预赛另一件事是弄清楚物理盒要装在哪个盒子里,并确保它符合我们所有的数据中心标准。2020欧洲杯预赛奥林巴斯使它,所以我们不必担心电源或带外管理或网络连接,甚至什么底盘。整个乐高积木方法确实帮助我们更早地采用、部署和盈利创新。”
Azure不需要等到工程师能够集成新硬件后才启动新服务,而是可以将这些硬件放在相同的机架上,插入相同的电源供应,并使用与所有其他服务器相同的工具监控它。
所有这些优势都足以压倒向ARM转移的工作量,至少对微软来说是这样。但是,将这种混合架构放到您自己的数据中心中是不太可能的。2020欧洲杯预赛
使用PaaS服务可以让企业获得多种架构的优势,而无需管理和集成它们,这可能是大多数组织购买ARM架构的方式。