自已故的史蒂夫·喬布斯(Steve Jobs)向全世界宣布蘋果正在從IBM的PowerPC芯片過渡到英特爾的x86芯片以來,已經(jīng)過去了十多年??爝M(jìn)到2021年:Apple正在開始將其所有臺式機(jī)和筆記本電腦從x86英特爾芯片過渡到其自己設(shè)計(jì)的M1芯片,該芯片是完全由Apple并為Apple打造的、基于ARM的CPU。
盡管ARM處理器不是新產(chǎn)品,但蘋果公司正在將其在移動產(chǎn)品領(lǐng)域使用ARM所取得的成就,轉(zhuǎn)移到筆記本和臺式機(jī)計(jì)算環(huán)境中。我預(yù)計(jì),隨著基于ARM的CPU的普及,軟件的編寫方式將發(fā)生根本性的轉(zhuǎn)變。
讓我們探究為什么您甚至應(yīng)該關(guān)心所有工作負(fù)載的預(yù)期速度和成本節(jié)省,以及為什么我認(rèn)為ARM會改變軟件編寫的原因。作為開發(fā)人員,我認(rèn)為光是Apple聲稱的M1用更少的功率提供更高的性能就令人著迷,因?yàn)槲覀兲幱谛聰?shù)據(jù)處理速度的頂峰。
開發(fā)者社區(qū)為什么要使用ARM?如果您一直在觀察iOS設(shè)備中使用的Apple A系列芯片的發(fā)展過程,那么您就會知道,每款芯片都已經(jīng)(有時是顯著)比其前代產(chǎn)品更加強(qiáng)大。我們當(dāng)中那些考慮如何裝備我們的工程團(tuán)隊(duì)的人并不奇怪,因?yàn)樘O果公司已經(jīng)將這種功能強(qiáng)大的芯片引入Mac。
我們觀察到(當(dāng)然,偶然地發(fā)現(xiàn))許多開發(fā)人員正在使用Mac。目前,它們基于Intel,因此可以構(gòu)建并部署到相同的CPU。但是很快,隨著M1芯片成為事實(shí)上的標(biāo)準(zhǔn),ARM處理器將在更多開發(fā)人員手中。
但是,我并不是在這里僅僅贊揚(yáng)Apple Silicon,因?yàn)檫@一突破比Apple更大。AWS最近推出了一種新的低成本,高性能類別的EC2實(shí)例,該實(shí)例由其基于ARM的Graviton處理器提供支持。ARM體系結(jié)構(gòu)是CPU的未來,其他制造商將緊追其后。
去年12月,高通公司總裁克里斯蒂安諾·阿蒙(Christiano Amon)在Vergecast上接受了采訪,并談到了M1:
“生態(tài)系統(tǒng)將發(fā)生變化,這表明微軟和高通公司處在正確的軌道上。這與電池壽命,與網(wǎng)絡(luò)連接以及與眾不同的多媒體體驗(yàn)有關(guān)?!?/p>
值得注意的是,開發(fā)人員的工具空間正在趕上ARM。Homebrew是開發(fā)人員社區(qū)中管理第三方工具的最大工具,目前尚不支持使用ARM處理器的Mac。
跨工作負(fù)載節(jié)省速度和成本
ARM基于RISC(精簡指令集計(jì)算機(jī))架構(gòu),旨在以更高的速度執(zhí)行少量任務(wù),從而降低功耗。這種架構(gòu)顯然是智能手機(jī)和可穿戴設(shè)備等設(shè)備中芯片的理想選擇。
當(dāng)您轉(zhuǎn)移工作負(fù)載(包括持續(xù)集成(CI),內(nèi)存中的緩存和微服務(wù))時,ARM的設(shè)計(jì)為節(jié)省大量成本打開了大門。關(guān)于用于CI / CD的CPU,這全都取決于速度和成本。加快CI / CD工作負(fù)載的秘訣是并行處理各個部分,并在不中斷資金的情況下盡快運(yùn)行這些部分。
云提供商通過對ARM處理器的速度和性能進(jìn)行大量投資,為節(jié)省這些成本做出了貢獻(xiàn)。
尤其是,AWS的Graviton2處理器聲稱其價格性能比同類x86-64 CPU高出40%。當(dāng)您考慮到CI任務(wù)的高度短暫性,再結(jié)合AWS提供的動態(tài)擴(kuò)展云提供商時,即使是很小的性能改進(jìn)也可以轉(zhuǎn)化為巨大的節(jié)省,尤其是在大規(guī)模環(huán)境中。
ARM將改變軟件的編寫方式
除移動開發(fā)外,大多數(shù)軟件都可以在AMD或Intel CPU上運(yùn)行。到目前為止,最大的障礙是缺乏可供開發(fā)人員用來編寫基于ARM的軟件的可用工作站。蘋果通過引入M1處理器改變了這種平衡。
開發(fā)人員已經(jīng)可以從他們的新M1設(shè)備中看到意想不到的好處,從能夠重現(xiàn)pipeline中特定于硬件的錯誤到看到性能提高,甚至在使用Rosetta2在x86-64仿真中運(yùn)行時也是如此。
我認(rèn)為,到2022年底,開發(fā)人員將構(gòu)建并部署到ARM。實(shí)際上,Adobe已經(jīng)在其Creative Suite中發(fā)布了ARM軟件,從而引領(lǐng)了這一潮流,越來越多的公司每天都在發(fā)布ARM或M1友好型軟件。
往前走
ARM的體系結(jié)構(gòu)旨在轉(zhuǎn)變邊緣計(jì)算,數(shù)據(jù)服務(wù)器中心,機(jī)器學(xué)習(xí)應(yīng)用程序等。有人猜測,由于蘋果的改變,所有軟件都必須重新編寫。我認(rèn)為情況并非如此,但是團(tuán)隊(duì)需要做一些重新編譯。