前編では、ARMプロセッサの低消費電力性や高いパフォーマンスを生かしたサーバへの適用をめぐる歴史を紹介した。後編では、現時点で具体化している製品の特徴や将来性を解説する。
サーバに向けたARMプロセッサが登場
QualcommのCentriq2400やCaviumのThunderX2は、サーバ向けに一から開発されたARMプロセッサといえる。今までのスマートフォンなど利用されていた英ARM(以下、ARM社)のCortex-A53/A73コアをサーバ向けに流用するのではなく、サーバ用途などを考えてパフォーマンスを重視したCPUコアの開発が行われている。逆に言えば、スマートフォンなどが持つ低消費電力性をある程度犠牲にしている。ただ、それでもX86/X64プロセッサよりは低消費電力だ。
Centriq2400はSamsungの10nmプロセスで製造されている。サーバ向けの設計はQualcomm自身が行った(Qualcomm資料より)
Centriq2400はクラウドインフラとなるサーバ向けに開発された
QualcommのCentriq2400は、2017年11月に正式に発表され、Qualcommがサーバ向けに独自開発した「Falkor」コアが使用されている。Falkorコアは、64ビット命令(AArch64)のみをサポートしている(32ビット命令のAArch32はサポートせず、32ビット命令のコードは動作しない)。
Centriq2400は独自のFalkorコアを使用。2つのARM CPUコアとL2キャッシュで構成されている
命令セットとしては、64ビット命令のARMv8をサポートしている。また、ARMの「TrustZone」(高度なセキュリティをサポートする実行環境)や仮想環境にも対応している。ただしARM社はARM V8.2-Aで、以下のサーバ向けの機能をアップデートしている。
- 人工知能(AI)のニューラルネットワークで利用するベクトル演算機能をサポートする「Dot product and half-precision float」
- Type2 仮想化機能のパフォーマンスを強化する「Virtualized Host Extensions」(VMware ESXiなどType1ハイパーバイザは以前からサポート)
- キャッシュメモリの一部を外部からアクセスできるようにする「Cache stashing and atomic operations」(外部接続されるAIチップやネットワークチップなどからアクセスを高速化する)
- 不揮発メモリを使ったメインメモリモジュールをサポートするための「Cache clean to persistence」
- サーバにおけるRAS(Reliability:信頼性、Availability:可用性、Serviceability:保守性)機能をサポートする「Server class RAS」
- CPUの動作状況を確認できる「CPU Activity monitoring」
これらの機能がARMv8.2-Aに追加されている。現在ARM V8.2-Aをサポートしているのは、ARM社が2017年5月に発表したCortexA75/A55などだ。
Centriq2400が使用しているFalkorコアは、2つのARMv8 CPUコアと512KBのL2キャッシュ、リングバス、パワーコントロールなどで構成されている。L2キャッシュは2つのARMv8コアが共有し、CPUコア数はモデルによって異なるが、最大48コアまで用意しされている。L3キャッシュに関しては、Falkorコアごとに2.5MBが用意される。L3キャッシュは全てのFalkorコアで共有するため、48コアの場合は60MBになる。
Centriq2400は、CPU部分だけでなく、ストレージやネットワークなどのインターフェースをSoC化している