/note/tech

グーグルがファームウエア仕様の統一図る、「ソフトウエア定義」時代の終焉近し

それが近年、ハイパースケーラーが開発するサーバーやネットワーク機器などハードウエアの仕様(スペック)の共通化が進んでいる。その舞台はメタの主導で2011年に生まれた「Open Compute Project(OCP、オープン・コンピュート・プロジェクト)」だ。OCPにはグーグルやマイクロソフト、米Apple(アップル)などが参画。各社が開発したハードの仕様や設計図をオープンソースとして公開するだけでなく、OCPで各社の担当者が議論し、新しい仕様を生み出している。

かつてサーバーなどハードの仕様は売り手側のITベンダーが決めていた。今は買い手側であるハイパースケーラーが、OCPを通じて仕様を決め始めている。OCPの仕様に従ってITベンダーがハードを製造すれば、自社が欲しい仕様のハードを自社で開発せずとも入手できるようになる――。それがハイパースケーラーの目指した「理想」だった。

そしてルス氏によれば、今日のサーバーにおいては部品ごとにファームウエアの仕様がバラバラであることが、検証作業の妨げになっているのだという。

サーバーはマザーボードを中心に、SSD(ソリッド・ステート・ドライブ)などのドライブ、インターフェースカード、温度などを計測する各種センサー、電源装置、冷却装置といった様々な部品で構成されている。こうした部品には制御用のファームウエアが搭載されているが、その仕様は部品やメーカーごとにバラバラだ。サーバーを使う側であるグーグルとしては、ファームウエアを自由にコントロールしたりカスタマイズしたりできないことが、悩みの種なのだという。

同時にグーグルは、ファームウエアが稼働するサーバーの各部品についても、OCPを通じてモジュールとして再定義しようとしている。背景にはサーバー部品の種類がここに来て増加している事情がある。

例えばグーグルやマイクロソフトは近年、独自に開発したセキュリティーチップをサーバーに搭載し始めている。このセキュリティーチップは、サーバーOSのブートプロセスの改ざんを防いだり、OSやファームウエア、チップなどの改ざんを防いだりする。

さらにグーグルやマイクロソフトは、これまでサーバーCPUで実行してきたネットワーク関連処理やストレージ関連処理を、それ専用のチップにオフロードし始めている。こうした専用チップは「SmartNIC」や「IPU(Infrastructure Processing Unit)」「DPU(Data Processing Unit)」などと呼ばれている。

2000年代後半、米Intel(インテル)製の安価なサーバーCPUの性能が向上したことによって、それまでは各種専用チップが担っていたネットワーク関連処理やストレージ関連処理を、サーバーCPUとソフトウエアの組み合わせで担えるようになった。SDN(Software Defined Network)やSDS(Software Defined Storage)など「ソフトウエア定義」の時代の到来である。グーグルやメタなど買い手側がサーバーだけでなくストレージやネットワーク機器まで自社開発できるようになった背景には、ソフトウエア定義という技術トレンドが存在した。

しかし現在、サーバーCPUの性能向上は頭打ちになった。その結果サーバーには再び、様々な専用チップが搭載されようとしている。前述のSmartNICやIPU、DPU以外にも、機械学習専用チップやGPUなどもサーバーに搭載され始めた。ソフトウエア定義から専用チップへと、時代は転換しようとしている。

PCサーバを並列に並べて使い潰す時代から「やっぱ専用チップの方が性能出るわ」の時代に回帰しつつあると。

まぁ、変なベンダーロックインが発生しないならソフトウェア開発側としてはどっちでもいいかなといった感じか。