22
はい、CPU コアが多すぎると問題になります - Ampere の 192 コア チップは 2 ソケット システムの ARM64 Linux カーネルを破壊します...
アンペア
(画像提供:Ampere)

Ampere社の新しいAmpereOneデータセンターCPUは、最大192コアという圧倒的な性能を誇りますが、その過剰なコア数がLinuxで問題を引き起こしています。Phoronix社によると、新しいCPUはコア数が多すぎるため、Ampere社の192コアチップを2つ(合計384コア)搭載したシステムを1台のサーバーにインストールすると、Linuxではシステムをサポートできないとのことです。現時点では、ARM64 Linuxカーネルは256コア以下のシステムのみをサポートしています。この問題を解決するため、Ampere社は「CPUMASK_OFFSTACK」と呼ばれる手法を用いてLinuxカーネルのコア数制限を512に引き上げることを提案するパッチを提出しました。

この方法により、LinuxはCPUマスク用の空きビットマップをメモリから割り当てることで、現在のLinuxカーネルのデフォルトの256コア制限を上書きできます。つまり、コアごとにカーネルイメージのサイズが8KB増加するため、カーネルイメージのメモリフットプリントを増やすことなく、Linuxコア制限を引き上げることができます。

Ampereの新しいCPUは、これまでのCPUの中で最多のコア数を備えています。AMDの最新のZen 4c EPYC CPUでさえ、コア数が最も多いチップでもちょうど128コアで、この数字には達していません。2つのチップでは上限に達しますが、それを超えることはできません。これが、AmpereがARM64 Linuxの256コア制限で深刻な問題を抱える最初のCPUメーカーとなった理由です。幸いなことに、192コアのAmpereOneチップを1つだけ搭載したシステムには影響しませんが、デュアルソケット構成でこのチップを2つ搭載したデータセンターサーバーにとっては深刻な問題です。(ただし、SMT論理コア(スレッド)も、多くのシステムで256という数字をはるかに超えています。)

AmpereOneは、Ampereの新しいCPUラインナップです。136、144、160、176、192コアのモデルが用意され、驚異的なコア数を誇ります。これらのチップは、ARMv8.6+命令セットとTSMCの5nmプロセスノードで構築され、デュアル128ビットベクターユニット、コアあたり2MBのL2キャッシュ、3GHzのクロック速度、8チャネルDDR5メモリコントローラ、128レーンのPCIe Gen 5、200~350WのTDPを特長としています。これらのチップは、膨大なコア数を活用できる高性能データセンターワークロード向けに特別に設計されています。

Phoronixによると、コア数の上限が512に引き上げられるまでにはしばらく時間がかかる可能性があるとのことです。2021年には、ARM64 CPUのコア数上限を512に引き上げることを提案するパッチが公開されましたが、当時256コアを超えるCPUハードウェアがなかったため、Linuxのメンテナーはこれを却下しました。最長でも、512コアのサポートはLinuxカーネル6.8がリリースされる2024年まで利用できないでしょう。

このタイムラインは、CPUマスクオフスタック方式を利用せず、通常の方法で512コアサポートを追加することのみを考慮しています。技術的には、リリース予定のLinuxカーネルは既にCPUコア数制限を増やすためのCPUマスクオフスタック方式をサポートしているため、この機能をデフォルトで有効化するかどうかはLinuxメンテナーの判断に委ねられます。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Aaron Klotz 氏は Tom's Hardware の寄稿ライターであり、CPU やグラフィック カードなどのコンピューター ハードウェアに関するニュースを扱っています。