NVIDIAのcuda-checkpointをリバースエンジニアリングしてコールドスタートを高速化
Reverse-engineering Nvidia's CUDA-checkpoint for faster cold starts

NVIDIAのクローズドソースドライバに搭載されたcuda-checkpointは、実行中のCUDAプロセスを凍結し、GPU状態をホストメモリにシリアライズして、後で復元できる機能です。この記事では、その内部動作をリバースエンジニアリングし、チェックポイント転送がPCIe帯域幅を飽和させない理由を解明します。著者らは、チェックポイントイメージが単なる匿名メモリであり、プロセス内のサービススレッドがドライバの通常のioctlを介してチェックポイントを実行していることを発見しました。さらに、この知識を活用して、アプリケーションやドライバを変更せずにチェックポイントを高速化する方法を実証します。
チェックポイントは、GPUコンテキストに対するCRIU(Checkpoint and Restore in Userspace)のようなものです。