Linus Torvalds氏がピンを引き抜き、手榴弾を投げる。「x86が勝利した。サーバーCPUでのArmは忘れろ」とLinuxカーネルの最高責任者が語る

Table of Contents

Linus Torvalds氏がピンを引き抜き、手榴弾を投げる。「x86が勝利した。サーバーCPUでのArmは忘れろ」とLinuxカーネルの最高責任者が語る

Linuxカーネルの王者リーナス・トーバルズ氏は今週、Arm互換プロセッサがサーバー市場を支配することは決してないだろうという主張を裏付けるクロスプラットフォームの取り組みを否定した。

水曜日にArmがデータセンター向けのNeoverse N1およびE1 CPUコアを発表したことに対する関心と、ネイティブx86開発への愛着についての揶揄に応えて、Torvalds氏は、異機種ハードウェアの調和の世界への熱意を冷まそうと最大限の努力をしながら、礼儀正しい議論への取り組みをほぼ放棄した。

「『クラウド』って命令セットは関係ないって考える人もいる」とトーバルズ氏はフォーラム投稿で述べた。「自宅で開発してクラウドにデプロイする。そんなのは馬鹿げている。x86で開発するなら、x86でデプロイしたくなるはずだ。なぜなら、テストしたものを『自宅で』実行できるからだ(ここで言う『自宅で』というのは、文字通り自宅のことではなく、職場環境でという意味だ)。」

トーバルズ氏にとって、ハードウェア アーキテクチャの均一性に対するこの避けられない好みは、ローカル環境でテストされたソフトウェアがデータ センターでも同じように動作するという保証のためだけでも、技術者が x86 クラ​​ウド ホスティングに喜んで高い料金を支払うことを意味します。

ジョブズ氏はアップルのCEO在任中、ネイティブアプリケーション開発に対して同様の姿勢を取り、2010年にはiOS搭載デバイスでAdobeのFlashテクノロジーを禁止するまでに至った。ジョブズ氏にとって、クロスプラットフォームコードは競争上の脅威であり、バグを招き、最低水準のアプリに落ち着くことを意味していた。

光ポートに接続されたケーブルと、イーサネット ポートに接続された UTP ネットワーク ケーブル。

次のネットワークスイッチ、ストレージボックス、または5GゲートウェイがArmのメリット以上のものになる理由は次のとおりです。E1、N1データセンターCPUコアは将来のキットを目指しています。

続きを読む

トーバルズ氏にとって、Armアーキテクチャのサポートはカーネル開発を複雑化し、作業量を増やし、解決すべき潜在的な問題を増やす可能性がある、という点が問題視されているのかもしれない。しかし、彼の主張は、ローカル開発者向けハードウェアによって助長されるバイアスについてより深く掘り下げている。プログラマーは個人用マシンでWindowsやLinuxを動作させ、それらのワークロードがサーバー市場を形成した、と彼は示唆した。つまり、ローカルでコードを作成してテストし、自信を持ってサーバーに展開する、というわけだ。日常業務でArmデバイスを使用する開発者が少ないことが、Armアーキテクチャがサーバー市場を独占する事態にはならない、とトーバルズ氏は主張しているようだ。

多くのソフトウェアは、変更を加えることなくx86やArmマシン上で動作するように再コンパイル(あるいはインタープリタ)できますが、一部の人にとっては、必ずしも期待通りに動作するとは限らないという不安が拭えません。例えば、依存関係が欠落していたり​​、予期せぬパフォーマンスの低下が発生したりといった問題です。ローカルの開発マシンが、デプロイ先のハードウェアアーキテクチャとは異なるアーキテクチャを使用していると、一部の人々は不安に感じます。Torvalds氏は、開発者や管理者がArm搭載サーバーに作業を進める前に苦労できるArmベースのコンピューターが不足していることは、Armの世界にとって不利だと考えています。

さらに、Arm CPUはリソースが限られたサブワークステーションデバイス(組み込み機器、家電製品、IoTガジェット、スマートカード、マイクロコントローラー、スマートフォン、タブレットなど)に搭載される傾向があり、そのファームウェアはより強力な非Armベースシステムで構築されているという事実も、状況を複雑にしています。つまり、プログラマーが使用するようなハイエンドArmベースPCの需要も供給も、これまでほとんど存在しなかったということです。

「クロス開発は主に、開発する意味がないほど脆弱なプラットフォームで行われます」とトーバルズ氏は主張する。「組み込み分野でネイティブ開発を行う人はいません。しかし、ターゲットがネイティブ開発をサポートできるほど強力になると、クロス開発モデルが比較的面倒なので、ネイティブ開発を強いられる圧力が強くなります。」

誰もがこれに同意するわけではない。Redisの開発者であるSalvatore Sanfilippo氏(別名antirez)は、Hacker Newsへの投稿で、ほとんどの開発者は「アーキテクチャレベルでの環境の再現性を気にしていない」と主張している。Redis上でArmアーキテクチャをサポートするのは比較的簡単だと彼は主張した。

Armにも考えがある。「トーバルズ氏の意見には感謝しており、エンドツーエンドの開発プラットフォームが不可欠であることに賛同します。だからこそ、今週Neoverse N1システム開発プラットフォーム(SDP)を発表することで重要な一歩を踏み出したのです」と、同社の広報担当者はThe Registerへのメールで述べた。

トーバルズ氏の指摘は過去には正しかったかもしれないが、変化の可能性を予測できていない。Appleは2020年にArmベースのMacを発売する準備を進めているとされており、同社のiOSハードウェアラインナップは自社製のArm互換CPUコアに依存している。MicrosoftはWindows 10アプリ向けのArm開発をサポートしている。ノートPC向けArmシステムオンチップを設計しているQualcommは、Windows 10 ArmノートPC向けにGoogle ChromeのArm移植版を開発中であると発表している。

Armのビジネスチャンスを認識したのか、Torvalds氏は続編の投稿で自身の見解を保留している。Armがメモリモデルを改良し、サーバーグレードのN1ブループリントで命令キャッシュをシステム全体で一貫性のあるものにしたことを認めつつも、彼はIntelのAVX512よりもArmのベクトル演算アプローチを好むと述べている。

「実際に開発や導入に使える、広く普及したハードウェアが登場するまでは、判断を保留します」と彼は述べた。「約束されて『リリース』されたハードウェアが、結局はどこにも行き着かず、誰もまともに入手できなかったケースを、あまりにも多く見てきました。…でも、もしかしたら、私を驚かせるような製品が出てくるかもしれません。」®

Discover More