/note/tech

DPUがデータセンターのリソース不足を救う

DPU(Data Processing Unit)とは、従来ホストCPUが担っていた通信機能をオフロードするためのデバイスです。DPUに近いコンセプトとしてネットワーク処理をオフロードするNIC(Network Interface Card)はすでに存在しました。ただしオフロードをするための命令をホストCPUで実行する必要があったので完全には解放できませんでした。DPUは、NVIDIA Networking(旧Mellanox)製 ConnectXシリーズのNICにARM CPUや周辺デバイスを搭載することにより、これまでのNICによるオフロード機能の制御や、更なる付加機能を実現することができます。これによりホストCPUがアプリケーション処理に専念できる状態を実現できます。

DPUの活用により、限られたサーバーリソース内でせめぎ合っていたユーザー領域と管理者領域を分離し、管理者用リソースをDPU上へ移行することが可能になります。それにGPUへの並列処理も加わり、CPUリソースは完全にユーザーアプリケーションに専念することができます。

DPUが活躍する用途を主に3つの観点で紹介していきます。

ネットワーク

システムの入り口にDPUが追加されることで、CPU・GPUの前段に新たなアクセラレーターという役割を担います。これによりパケットIOにおけるCPU処理を最小化し、より一層の高速処理を実現します。

ストレージ

大容量に対応するためにリモートストレージの活用が広がりますが、そこへのアクセスにおいてホストOSでの処理が必要でした。DPU側でSNAPと呼ばれる機能を活用することで、リモート環境にあるストレージをあたかもローカルストレージかのように取り扱うことができ、高速なデータ転送をサポート可能です。

セキュリティ

DPU上へセキュリティ機能をオフロードすることで、サーバーのCPUやメモリー、さらには上位のアプリケーションとは物理的に完全に分離・保護された状態でセキュリティの処理をすることが可能になります。

これまでのようにCPUにあらゆる処理をやらせるのではなく、それぞれのタスクに特化したチップに仕事を任せることでCPUはユーザー向けの演算に集中できるようになるってことか