硬件和軟件正在并行發展,將最好的現代軟件開發與最新的Arm硬件相結合可以產生令人印象深刻的性能、成本和效率結果。
為什么是Arm?
Arm是精簡指令集計算機(RISC)架構家族的成員,這是一種基于小型、高度優化的指令集的微處理器架構。該家族的其他已知代表是RISC-V、SPARC和MIPS。最初,RISC家族的目標是嵌入式和相關市場,但很快就發展到了新的潛力,Arm成為迄今為止最受歡迎的產品。
如今,Arm在云計算領域與x86(基于CISC方法)競爭,你需要知道CISC和RISC之間的兩個關鍵區別。
首先是指令的執行方式。這兩種方法都試圖提高CPU性能,但方式不同:
l RISC以犧牲每個程序的指令數量為代價減少了每條指令的周期數。
l CISC使每個程序的指令數最小化,但這是以每條指令的周期數增加為代價的。
第二個區別是許可方式。x86和Arm都是開源架構,可以通過許可證進行生產。然而,x86在歷史上是由英特爾開發的:“x86”這個名字來源于該公司發布的早期處理器8086。如今,只有三家公司持有使用這種架構類型構建硬件的許可證,而英特爾仍然是該市場的最大股東。
Arm許可證更容易獲得,因此Arm制造業極具競爭力。在某些方面,Arm許可方法使這種硬件得以蓬勃發展并迅速發展。Arm最初被設想為嵌入式和相關應用的解決方案,經過多次擴展,現在可以在M3和M4芯片、手機、汽車等臺式機處理器、幾乎所有其他地方找到它。
Arm的現代Java增強功能
Java社區不久前就認識到了Arm的潛力,并成功完成了多項優化Java以用于Arm的計劃。
第一個AArch64項目作為OpenJDK的一部分實現,為JDK 9提供了Linux/AArch64端口。這對今天Java的使用方式產生了重大影響。
以下Java 11為JEP 315中啟動的端口帶來了許多優化:改進Aarch64內部函數。此JEP的改進是特定于CPU的,有助于改進所有操作系統。在Java 16和Java 17的后續OpenJDK版本中,建立了兩個重要的端口:Windows/AArch64(JEP 388)和macOS/AArch64(JEP 391),為你提供了幾乎所有流行操作系統上的完整Java選項。
如今,作為一名開發人員,你可以在成熟和現代的Java版本中找到Java on Arm。除了Arm上的Java之外,你還可以在Arm上選擇小型基礎Linux容器映像,以進一步從這種架構中受益。
Java on Arm對企業開發和DevOps特別感興趣,希望實現更高的效率和更低的成本。使用x86仿真或Arm原生JDK遷移到Aarch64很容易。
同云中的Arm硬件回顧
由于軟件端設置為在Arm上工作,并且大多數Linux發行版和其他關鍵項目(用于web)已經可用并得到支持,因此你可以自由選擇Arm硬件。讓我們仔細看看基于Arm的服務器可以為我們做些什么,這些服務器現在正在云服務領域取得進展。
基于Arm的服務器是使用基于Arm架構的處理器的服務器機器,在數據中心、云計算和各種企業應用程序中越來越受歡迎。
基于Arm的服務器越來越多地被采用是由幾個因素驅動的,包括它們的能效、成本效益和可擴展性。此外,操作系統供應商、開源項目和云服務提供商的支持越來越多,這有助于使Arm服務器解決方案更易于企業應用程序訪問和實用。
Arm在服務器端的主要參與者由GCP、AWS、Azure和OCI代表。
AWS Graviton
與所有其他AWS Graviton處理器一樣,最新的AWS Graviton4使用64位Arm指令集架構?;?/span>AWS Graviton4的Amazon EC2 R8g實例的性能比基于AWS Gravaton3的Amazon EC2 R7g實例高出30%。該處理器非常適合高性能數據庫、內存緩存和實時大數據分析等要求苛刻的工作負載。AWS Graviton是Neoverse架構的一個例子,旨在以世界級的性能、效率和計算密度處理各種云原生工作負載。這種架構非常適合云計算。2024年,Arm宣布推出高達128核的Neoverse V3,目標是最高性能的應用程序。
谷歌Axion處理器
2024年4月,谷歌宣布了其新的基于Arm的Axion處理器,承諾其性能比云中可用的最快的通用Arm實例提高30%,性能提高50%,能效提高60%。Axion處理器,就像AWS Graviton4一樣,是使用Arm Neoverse構建的:Neoverse V2 CPU。
正如許多人所指出的那樣,此次產品發布使谷歌與亞馬遜直接競爭,以亞馬遜網絡服務(AWS)引領市場,以基于Arm的服務器引領其他現有參與者。
Azure Cobalt 100 Arm處理器
2024年5月,微軟宣布預覽新的基于Azure Cobalt 100 Arm的處理器。Cobalt 100處理器是Arm Neoverse的另一個代表。它使用N系列(N2)Arm CPU設計,實現了基于云的橫向擴展應用程序的優化性能。
總的來說,微軟非常關注Arm,同時投資于開發人員平臺和Linux和Windows上的Arm語言優化。這包括在Visual Studio 17.10 SQL Server數據工具(SSDT)中為Arm本機Visual Studio引入的Arm和C++的NET 8眾多增強功能。
Oracle Ampere A1計算
2021年5月,Oracle發布了其首款基于Arm的計算產品:OCI Ampere A1 Compute。該產品在Oracle云基礎架構(OCI)上運行。主要模型是VM。標準。A1.Flex(OCI A1),其CPU核心和內存可以靈活配置,VM形狀從1到156個核心和每個核心1到64GB的內存。靈活的方法允許為你自己的項目需求進行獨特的設置,匹配你的工作負載要求,并節省不必要的成本。對廣泛的人工智能干擾的測試表明,AmpereOne A2是一款極具競爭力和吸引力的產品。
Oracle還通過Arm開發者生態系統以及與Ampere Computing、Arm、GitLab、Jenkins等公司的合作伙伴關系來推廣Arm技術。
Arm招股說明書
隨著目前所有大型技術公司都參與基于Arm的硬件生產,再加上Arm在軟件方面的持續改進,Arm的受歡迎程度可能很快就會超過x86。ARM首席執行官Rene Haas表示,ARM將在五年內占據50%的市場份額。
這里展示的基于Arm的服務器為云原生工作負載提供了令人印象深刻的性能和效率,與大數據和人工智能行業尤其相關。將工作負載遷移到基于Arm的架構相對容易,并保證大幅削減預算。
Neoverse是旨在處理云中大量信息的服務器的一種選擇,微軟、谷歌和AWS的最新例子就是這樣。
隨著Arm的崛起,Java生態系統繼續得到進一步的增強。為Arm準備的不斷擴展的生態系統包括Linux發行版、Java和OpenJDK運行時、框架和主要基礎設施系統(web服務器、Spark、Kafka、Cassandra、Elastic等)。Java社區對加強與Arm合作的生態系統的善意表明,Arm正在成為一個一級硬件平臺。
容器——因其隔離性、安全性、可移植性和可重復性而受到高度重視——已適應Arm,因此你可以免費獲得針對Java進行調優的小型Linux容器。Docker正在投資Arm領域,確保Docker桌面在Windows on Arm上本機運行。
最新的Arm技術非常適合現代Java工作負載。將OpenJDK應用程序移動到基于Arm的服務器是提高Java性能和減少資源消耗的明智方法。將基于Arm優化的Linux容器添加到你的Java應用程序中更進一步,為你提供最完整的Java on Arm解決方案,以獲得可持續和強大的Java體驗。因此,企業越來越多地轉向Arm架構以降低成本和功耗。未來的路線圖/招股說明書可能包括更加關注Arm硬件,以獲得更好的效率結果。