Skip to main content
QUICK REVIEW

[論文レビュー] $\lambda$-NIC: Interactive Serverless Compute on Programmable SmartNICs

Sean Choi, Muhammad Shahbaz|arXiv (Cornell University)|Sep 26, 2019
Cloud Computing and Resource Management参考文献 46被引用数 6
ひとこと要約

本論文では、新しいマッチ+ラムダ抽象化と専用マシンモデルを用いて、プログラマブルなスマートNIC上で直接インタラクティブワークロードを実行する、サーバess計算フレームワークである$\lambda$-NICを提案する。スマートNICの高コア数NPUアーキテクチャを活用することで、$\lambda$-NICはCPUベースのサーバessシステムと比較して最大880倍の低レイテンシーと736倍の高スループットを達成するとともに、ホストCPUおよびメモリ使用量を大幅に削減する。

ABSTRACT

There is a growing interest in serverless compute, a cloud computing model that automates infrastructure resource-allocation and management while billing customers only for the resources they use. Workloads like stream processing benefit from high elasticity and fine-grain pricing of these serverless frameworks. However, so far, limited concurrency and high latency of server CPUs prohibit many interactive workloads (e.g., web servers and database clients) from taking advantage of serverless compute to achieve high performance. In this paper, we argue that server CPUs are ill-suited to run serverless workloads (i.e., lambdas) and present $\\lambda$-NIC, an open-source framework, that runs interactive workloads directly on a SmartNIC; more specifically an ASIC-based NIC that consists of a dense grid of Network Processing Unit (NPU) cores. $\\lambda$-NIC leverages SmartNIC's proximity to the network and a vast array of NPU cores to simultaneously run thousands of lambdas on a single NIC with strict tail-latency guarantees. To ease development and deployment of lambdas, $\\lambda$-NIC exposes an event-based programming abstraction, Match+Lambda, and a machine model that allows developers to compose and execute lambdas on SmartNICs easily. Our evaluation shows that $\\lambda$-NIC achieves up to 880x and 736x improvements in workloads' response latency and throughput, respectively, while significantly reducing host CPU and memory usage.

研究の動機と目的

  • CPUベースのサーバess計算の限界、特に高コストのコンテキストスイッチングと並列処理性能の低さに起因する、低レイテンシーでインタラクティブなワークロードへの対応を改善すること。
  • スマートNICの高コア数・低レイテンシーなアーキテクチャを活用して、サーバess関数を直接実行する可能性とパフォーマンスメリットを検討すること。
  • 高レベルのイベントドリブンプログラミングモデルにより、低レベルのハードウェア複雑性を抽象化することで、スマートNICプログラミングを簡素化すること。
  • ASICベースのスマートNICに搭載されたNPUコアの巨大な並列処理能力を活用して、厳密な尾部レイテンシー保証と高スループットを達成すること。
  • ホストからスマートNICに完全なサーバessワークロードをオフロードすることで、ホストCPUおよびメモリのオーバーヘッドを削減すること。

提案手法

  • イベントドリブンラムダをネットワークパケットのマッチによってトリガーできる、高レベルなプログラミングモデルであるマッチ+ラムダ抽象化を導入する。
  • P4のマッチアクションパラダイムを拡張したマシンモデルを採用し、スマートNIC上で複雑で状態保持型のサーバess関数実行を可能にするより洗練されたアクションをサポートする。
  • クライアントとスマートNIC上にホストされたラムダ間でマルチパケットメッセージを信頼性が高く低レイテンシーで伝送するためにRDMAを活用する。
  • マッチ+ラムダ関数を効率的なNPUコードにコンパイル・最適化し、NPUグリッド全体にわたるリソース割り当て、スケジューリング、メモリアクセスを管理する。
  • ホストCPUの干渉や仮想化レイヤーを排除するため、スマートNIC上で完全なサーバess関数実行を実現する。
  • 最新のNICがTCPを終端し、完全なメッセージを処理できるように統合することで、パケットレベルおよびメッセージレベルの処理を両方サポートする。

実験結果

リサーチクエスチョン

  • RQ1数百のNPUコアを持つスマートNICが、数千もの同時実行で低レイテンシーなサーバess関数を実行するホストCPUに効果的に置き換え可能か?
  • RQ2スマートNICハードウェアの複雑さを隠蔽しつつ、サーバessワークロードの効率的実行を可能にする、高レベルで開発者フレンドリーな抽象化はどのように設計できるか?
  • RQ3スマートNICにサーバess関数をオフロードすることで、ホストCPUおよびメモリ使用量をどの程度削減でき、レイテンシーとスループットを向上できるか?
  • RQ4CPUではなくスマートNIC上で直接サーバess関数を実行した場合、実世界のインタラクティブワークロードでどの程度のパフォーマンス向上が達成できるか?
  • RQ5高並列かつ分散型のスマートNIC環境において、インタラクティブワークロードに対して厳密な尾部レイテンシー保証を達成できるか?

主な発見

  • $\lambda$-NICフレームワークは、従来のCPUベースのサーバess実行と比較して、応答レイテンシーが最大880倍改善された。
  • スループットは最大736倍向上し、スマートNICのNPUコアにおける巨大な並列処理の有効性が裏付けられた。
  • ホストCPUの使用率が顕著に低下し、すべてのワークロードがスマートNICにオフロードされたことで、仮想化およびコンテキストスイッチングのオーバーヘッドが排除された。
  • ホストのメモリ使用量が大幅に削減され、サーバess関数がスマートNICの隔離されたローカルメモリ上で実行され、コンテナやVMのオーバーヘッドが不要になった。
  • マッチ+ラムダ抽象化により、スマートNIC上でのラムダの効率的コンパイルおよびデプロイが可能となり、パフォーマンスを損なうことなく低レベルのハードウェア複雑性が抽象化された。
  • フレームワークはパケットレベルおよびメッセージレベルの処理を両方サポートしており、今やNICで終端されるTCPなどの最新のトランスポートプロトコルとの統合が可能になった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。