此效能測試以Micronaut的HelloWorld應用為基準,比較啟用機器學習行為推論(ML-enabled PGO)與未使用任何分析資料(Baseline)的執行效能差異

甲骨文(Oracle)隨JDK 24的發布,推出高效能執行環境GraalVM for JDK 24,本版本的最大亮點,是將機器學習應用於原生映像檔(Native Image)靜態分析流程,導入名為GraalNN的行為預測模型,協助原生映像檔在缺乏執行期分析(Profiling)資料的情況下,預測程式控制流程中分支的執行機率,進一步提升原生映像檔的高峰效能表現。

根據Oracle團隊測試,在Micronaut、Spring、Quarkus等微服務框架下,平均可獲得約7.9%的效能提升,且無需多階段建構流程,只需加入特定參數,即可套用此最佳化技術。GraalNN模型背後的技術基礎來自圖神經網路(Graph Neural Network),官方將其應用於靜態控制流程圖上的分支機率推理,用以取代過往需要實際執行紀錄的PGO(Profile-Guided Optimization)資料。

除了效能上的強化,本次版本也加入一項有助縮小原生映像檔容量的新技術SkipFlow,該技術讓GraalVM在建構映像檔時,能更精準地判斷哪些程式碼在實際執行時才會用到,並排除那些永遠不會被執行的類別與方法。根據Oracle提供的測試資料,這項最佳化平均可讓映像檔容量減少約6.35%,且不會延長建置時間。

針對近年逐漸普及的Java Vector API,新的GraalVM版本也在原生映像檔中強化對向量運算的支援,將多項向量運算轉換為底層硬體支援的SIMD指令執行,使執行效能與傳統JIT模式相當。GraalVM團隊並展示了一個名為Llama3.java的範例,該專案將大型語言模型推理邏輯實作於單一Java檔案中,並結合Vector API與FFM API進行最佳化。測試中,採用GraalVM原生映像檔建構的Llama3模型,可在純CPU環境下達到每秒52.25 Token的生成速度,顯示AOT編譯搭配向量最佳化可實際應用於語言模型領域。

在資安與法遵層面,GraalVM原生映像檔強化SBOM功能,提供CycloneDX格式支援,並透過靜態分析導出精準的組件相依樹,協助開發者辨識應用中引入的第三方元件來源與關聯性。搭配Maven Plugin,可建立更精準的基準SBOM,進一步減少偵測誤報。此外,也新增支援類別層級的SBOM中繼資料,列出原生映像中所包含的模組、類別、欄位、方法等結構,有助資安掃描工具進行更精細的風險評估。

Oracle引用社群測試結果指出,在負載情境下,相較JIT模式,原生映像檔產生的原生應用有更低的耗電量與記憶體使用率,特別是在微服務與函數即服務(FaaS)等短生命周期應用中更為明顯。

熱門新聞

Advertisement