译者:bzhaoopenstack
作者: Krunal Bauskar
原文链接: https://mysqlonarm.github.io/Why-ARM/
ARM处理器无处不在。 很有可能你们中的一些人在阅读这篇博客时,使用的是 基于ARM 驱动的设备。 电话,物联网设备,家用电器,医疗设备,都是由 ARM 处理器驱动的。 ARM处理器以节能著称,因此大多数需要较长充电周期且处理器能力较低的设备一直在使用ARM芯片。
但在过去的几年里,这种情况已经发生了变化。 越来越多的 ARM 处理器被用于数据库服务器、 web 服务器、应用服务器、大数据场景等高端应用。 它们已经作为服务器芯片进入了数据中心。 在云上运行应用程序时,ARM芯片被视为一种具有成本效益的最佳选择。
ARM 生态之进化
几年前,很难想象 ARM 会被用于运行在一些高端的服务器级的应用程序。 我可以想出两个主要原因:
- Arm 最适合小型手持设备
- Arm 生态受到它所支持的特定产品的限制
一些主要的操作系统提供商对 ARM 生态系统提供了支持,包括 RedHat (CentOS)、 Ubuntu、 Debian 和 Windows。 这使得主流软件可以轻松地移植到 ARM。 社区推动ARM以确保大多数主流软件都可以在 ARM架构上使用。 例如IDE、 DB-server、 Hadoop 及其衍生软件,包括 Apache 基金会、 CI/CD软件、容器、虚拟化软件等等。 .
授权其他厂商和开发自己的 ARM 处理器的 ARM 商业模式进一步推动了其受欢迎的程度,吸引了更多的芯片设计师参与其中,相互合作和创新优化。
随着亚马逊等主要云供应商开始提供基于 ARM 处理器的 EC2实例(目前只允许邀请) ,这意味着现在每个人都可以启动一个 ARM 实例,并开始在 ARM 上开发 / 移植他们想要的软件。 这非常有助于ARM生态的进一步发展。
那…还缺什么?
虽然大部分主流软件已经移植到 ARM 上,但它们还没有针对 ARM 进行优化。 Arm 具有弱内存模型,可以在更小的空间内安置更多的内核,底层指令的不同(软件会用这些指令)等等。
这是 ARM 生态第二阶段的开始,社区 / 开发人员 / 用户开始从“在 ARM 上运行软件”导向“在 ARM 上优化软件”。 我认为当用户开始认真思考 ARM 并开始在 ARM 上优化他们的软件时,这是 ARM 社区乃至ARM生态的一个重大胜利(大大的里程碑)。
这(尤其是优化)是一个永无止境的过程,我看的第一个目标是至少与 x86的部分性能相当。 我故意说“ 部分性能” ,因为每个架构都有自己的 USP,所以如果你将一个企业级应用程序移植到 ARM,并且你可以以 50% 的成本(运营成本 + 初始投资)外加x86芯片的75% 性能的ARM芯片提供给客户 ,我认为这对大多数客户来说仍然是极具吸引力的(特尤其是应用程序为可伸缩的场景)。 当然,这并不意味着所有的应用程序在 ARM 上运行的速度都比较低下,事实上,有些应用程序在 ARM 上运行的速度会比 x86快,而且由于ARM生态的优化阶段在未来几年才逐步开始,经过各个玩家的努力,可以推断许多应用程序在 ARM 上运行的速度将比其他架构更快、更猛。
ARM节能环保 !
ARM无处不在,尤其是数据中心运营商(无论大小)最关心的问题。 与其他架构相比,ARM 可以节省大约50% 的电力。 这有助于支持绿色环保倡议。
ARM是下一代处理器!
有趣的是,我为什么这样称呼ARM。 下一代的芯片正在积极地使用 Andrino、 Raspberry Pi、 Odroid、 Banana Pi、 Asus tinker board 等工具包来构建下一代系统。 这些芯片将定义下一代计算机。 你看到它们正在使用 ARM,并且已经围绕着 ARM 成长起来,变得更加通用,在未来的几年里,将会有一大批 ARM 用户 / 开发者簇拥在一起,共建ARM生态。
一旦大量的ARM用户/开发者的支持到位,现阶段围绕 ARM正在紧锣密鼓进行的所有基础工作和有助于用户的事物将会迎来新的面貌。
ARM上台式机 / 笔记本!
如果我们开始看到基于 ARM 的办公桌面 / PC工作站 / 笔记本电脑(已经有了!)被大家普遍使用时,ARM挤占台式机/笔记本市场也就不足为奇了。
总结
Arm 生态系统看起来非常迷人,其中充满了新的挑战和机遇。 畅想一下近十年,从微型可穿戴设备到高端电影体验,从自动驾驶助力车 / 汽车到大型喷气式飞机 / 太空飞行器,都会被基于 ARM 的处理器主宰,它将无处不在。 现阶段据估计,每人有35个基于 ARM的设备。 这就是机会的海洋,不是吗?!
如果您有想法,请随时发送邮件交流
ARM processors are everywhere. It is quite likely some of you may be reading this blog from an ARM powered device. Phone, IoT devices, consumer and home appliances, health-care devices, all are powered by ARM processors. ARM processors are known to be power efficient and so most of these devices that demands a long recharge cycle but less processing power started using them.
But this has changed in the past few years. More and more ARM processors are being used for high-end applications like database server, web server, application server, big data use-cases. They have already made their way to the data-centers as a server class machines. They are being looked upon as a cost effective option while running applications in cloud.
ARM ecosystem evolution
Few years back it was difficult to imagine that ARM would be used for running some high-end server class applications. There were 2 major reasons that I could think off:
- ARM were best suited for small handheld devices.
- ARM ecosystem was limited around the specific product it supported.
ARM ecosystem has really picked up well after some major OS providers added support for it including RedHat (CentOS), Ubuntu, Debian, Windows. This eased out porting of the major softwares to ARM. ARM community gave it a push to make sure most of the standard softwares are available on ARM viz. IDE, DB-server, Hadoop and all its variants from Apache Foundation, CI/CD software, Container, Virtualization, etc…
The ARM model that allows other vendors to license and develop their own ARM processors further helped fueled its popularity with more chip designers joining, collaborating and innovating.
Break-through came with major cloud providers like Amazon started providing ec2 instances (currently invitation only) based on ARM processors this means now everyone can boot an ARM instance and start developing/porting their software on ARM. This helped further grow the ecosystem.
What was missing?
Though most of these software have been ported to ARM they were not yet optimized for ARM. ARM has a weak memory model, can fit more cores in smaller space, difference in low-level instruction (for software that uses them), etc..
This was the start of the 2nd phase of ARM where the community/developer/user started moving from “running software on arm” -> “optimizing software on arm”. I think this was a major win for the arm community when users started to think ARM seriously and started spending efforts on optimizing their software on ARM.
This (especially optimization) is a never ending process but I see first goal is to at-least be on par with x86. I purposely say “onpar” because each of architecture has its own USP so say if you port an enterprise class application to ARM and you can offer it to customer @ 50% of the cost (operating cost + initial investment) for 75% of the performance of x86 I think that would be still be attractive fit for most of the customers (especially given application are horizontally scalable). Of-course that doesn’t mean all applications run on ARM at reduced speed, in fact there are applications that run on ARM faster than x86 and since the optimization phase has just started in next few years a lot of applications would be running on ARM faster than other architectures.
Go Green
It is everywhere and especially a matter of major concern for data-center operators (small or big). ARM being power efficient can save approximately 50% of the power compared to other architecture. This makes it help support Go-Green initiative.
ARM is Next-Gen processor
It is interesting why I referred to it this way. Next generation kids are actively using kits like Andrino, Raspberry Pi, Odroid, Banana Pi, Asus tinker board, etc…. to build some of the next-gen system. These kids will be defining the next generation of computing. Given they started with ARM their social community has grown around ARM in the next few years there would be an army of ARM users/developers with a very active community.
All the groundwork and good things that are being built at this stage around ARM will be pushed to the next level once this workforce becomes active.
ARM in Desktop/Laptop
This is catching up fast and no wonder if we start seeing ARM based Desktop/PC workstation/Laptop (there are already few) commonly being used.
Conclusion
The ARM Ecosystem looks a lot more fascinating and full of new challenges and opportunities. Current decade will be ruled by ARM based processors and it will be everywhere from tiny wearable devices to high-end movie experience, from auto-driving cycle/car to jumbo jet/space-craft. It is estimated that there would be 35 active ARM power devices per person. That’s Ocean of Opportunity.
If you have any comments feel free to drop an email (check about section)