Uber、CPU割り当てを標準化する独自指標を導入
Uberは、性能が異なる多種多様なサーバーが混在する自社インフラ向けに、CPU割り当てを一貫した基準で管理するための独自指標「NCU(Normalized Compute Units)」を導入した。コア数という単純な尺度では捉えきれなかったサーバー間の性能差を補正し、ステートフルなワークロードに対してより精度の高いリソーススケジューリングを実現する取り組みだ。

Uberは、社内のサーバーへのCPU(処理装置)割り当てをより一貫したものにするため、「NCU(Normalized Compute Units=正規化コンピュートユニット)」と呼ぶ独自の指標を新たに導入した。これにより、異なる性能を持つ多種多様なサーバーが混在する環境でも、コンピューティングリソースをより均一な基準で管理できるようになる。
背景にあるのは、大規模なテクノロジー企業が抱える共通の課題だ。サービスの規模が拡大するにつれ、企業のサーバー群は世代や性能の異なるハードウェアが混在する「異種混合」の状態になりやすい。そうした環境では、単純にCPUのコア数(処理の実行単位)を数えるだけでは、各サーバーの実際の処理能力を正確に把握しにくい。同じ「8コア」でも、世代が違えば実際の性能は大きく異なることがあるためだ。
NCUはこうした問題を解消するために設計された指標で、異なるスペックのCPUを横断的に比較できるよう、性能を共通の単位に換算する仕組みを持つ。Uberの場合、処理の性質が動的に変わる「ステートフルワークロード(状態を保持しながら処理を継続するタスク)」に対応したスケジューリング、つまりどのサーバーにどの処理を割り当てるかの判断にNCUを活用している。これにより、性能の実態に合わせたリソース配分が可能になるとされている。
この取り組みが注目されるのは、リソース管理の粒度が増すことで、処理の遅延削減やインフラコストの最適化につながる可能性があるためだ。特にUberのように、配車・配達・決済など多様なリアルタイム処理を同時に大規模で動かす企業では、サーバーへの処理の割り当て精度がサービス品質に直結しやすい。コア数という単純な指標に頼るのではなく、実際の処理能力を反映した指標を使うことで、インフラ全体の効率を底上げしようという考え方と位置づけられる。
クラウドコンピューティングが普及した現在でも、自社でサーバーを大規模運用する企業にとって、ハードウェアの世代差をどう吸収するかは継続的な課題だ。汎用的なクラウド基盤とは異なり、自社インフラでは購入時期の異なる機器が長期間にわたって共存することが多く、管理の複雑さは増しやすい。NCUのような抽象化レイヤーを設けることで、ハードウェアの違いをソフトウェア側で吸収するアプローチは、同様の課題を持つ大規模インフラ運用者にとっても参考になる事例という見方ができる。
今後注目したいのは、このNCUの仕組みが実際の運用でどれだけ効果を発揮するかという点だ。CPUだけでなく、GPUやメモリなど他のリソースへの応用可能性、あるいはオープンソースとしての公開といった展開があるかどうかも、業界の関心を集めるポイントになるだろう。大規模なインフラ運用の知見を体系化・共有する動きは、エンジニアリングコミュニティ全体の底上げにもつながりうると考えられる。
本記事は、AI issue編集部が事実(ファクト)をもとに独自に作成・編集した著作物です。著作権はAI issueに帰属し、無断転載・再配布およびAIの学習・活用を禁じます。