「x86時代の終わり」にJavaが脚光を浴びる理由:AI時代のインフラを展望【前編】
ARM64アーキテクチャの台頭により、従来の主流だったx86サーバの一強状態は崩れる可能性がある。その状況下で、プログラミング言語「Java」が注目を集める理由とは。
企業が利用するアプリケーションのインフラは、もはやIntelやAMD(Advanced Micro Devices)のx86(IntelのCPUが起源の命令セットアーキテクチャ)系プロセッサを搭載したサーバ(x86サーバ)に限定されないのが現状だ。近年はArmが設計した64bitのプロセッサアーキテクチャ「ARM64」が注目を集めている。
アプリケーション開発ツールを手掛けるAzul Systems(以下、Azul)のCEOスコット・セラーズ氏は、プロセッサアーキテクチャがソフトウェア開発に与える影響や、プログラミング言語「Java」が注目を集めている理由を語った。
x86時代の終わりになぜ「Java」が脚光を浴びるのか?
「ARM64を支持する機運が強まっている」とセラーズ氏は話す。例えば、Amazon Web Services(AWS)はARM64ベースのサーバプロセッサ「Graviton」に大規模な投資をしており、MicrosoftやGoogleもArmアーキテクチャを採用したサーバの開発に力を入れている。
ARM64の大きな特徴は、その省電力性だ。例えば、ARM64ベースのプロセッサは、x86ベースのプロセッサと比べて、必要な電力量や冷却インフラが少なく済む傾向にある。
コスト面でもARM64に強みがある。「同じメモリ容量と処理性能を備える場合、ARM64のサーバはx86のサーバと比べて約20%安価だ」とセラーズ氏は話す。ARM64の優れたコストパフォーマンスは、IntelやAMDといったx86ベースのプロセッサベンダーにも価格競争を促している。こうした状況は、技術業界全体にとって好ましいことだという。
x86以外の選択肢が台頭する中で、注目を集めているのがJavaだ。
一般的に、x86サーバからARM64サーバへのアプリケーション移行には、多くの作業とテストが伴う。特に、「C++」「Rust」といったコンパイル言語で構築したアプリケーションでは、ソースコードのコンパイル(変換)が必要だ。一方、Javaは「Java仮想マシン」(JVM)上で動作するため、ソースコードを書き直したり再コンパイルしたりする必要がない。
JVMには「JIT(Just-in-Time)コンパイラ」が搭載されており、ソースコードの実行時にプロセッサに適した機械語を自動生成してくれる。「Write Once, Run Anywhere」(一度プログラムを書けば、どこでも実行できる)というJavaの理念が、これまで以上に存在感を強めている。IT意思決定者はプロセッサアーキテクチャを、コストや性能の要件に応じて柔軟に選択できるということだ。
「顧客企業は当社のJavaランタイム環境(JRE)を使うことで、アプリケーションに変更を加えることなく、処理速度や効率性、スケーラビリティの向上を実現している」とセラーズ氏は話す。
一方で、クラウドサービスを支えるインフラの大半は依然としてx86ベースのサーバで構成されている。Azulの顧客企業の多くは、クラウドベンダーからARM64のサーバを十分に調達できない状況だという。その結果、x86とARM64を混在させる企業もある。
それでもセラーズ氏は、状況は徐々に変わりつつあるとの見方を示す。「クラウドサービスのインフラにおいて、ARM64が主流になることは必然だ」と同氏は強調する。
後編は、AI時代におけるGPUやPython以外の選択肢について解説する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.