読み方 : エスエヌピー

SNP【Scalable Networking Pack】

概要

SNPとは、Windowsが備えるネットワーク処理の高速化機能群。通信処理の一部をCPUからネットワークアダプタへ肩代わりさせることでCPU負荷を軽減し、大量の通信が発生する環境でも効率よく処理できるようにする。Windows Server 2003から標準搭載され、以降のバージョンにも引き継がれている。
SNPのイメージ画像

ネットワーク通信では、データを送受信する度にパケットの分割や結合、チェックサムの計算、受信データの処理など多くの作業が発生する。これらをすべてCPUが担うと、通信量の増加に伴いCPU使用率が高まり、アプリケーションの実行に使える計算資源が減少してしまう。

SNPは、こうした処理の一部をネットワークアダプタ側の専用回路に任せることで、サーバ全体の処理効率を高める。TCPデータの分割を担う「LSO」(Large Send Offload)や、受信したパケットの処理を複数のCPUコアに振り分ける「RSS」(Receive Side Scaling)、誤り検出符号の計算を代行する「チェックサムオフロード」(checksum offload)などの機能で構成される。

これらの機能は単独でも動作するが、組み合わせて利用することで通信性能をより高められる場合がある。マルチコアCPUと単一のネットワークアダプタの組み合わせの場合、従来はCPUの一つのコアがネットワーク処理に掛り切りになり、他のコアに余裕があっても通信性能はそのコア一つの処理能力に制約されていた。

SNPの各機能は、この制約を緩和し、サーバが持つ複数コアやネットワークアダプタの能力をより有効に使い切ることができる。特に、仮想化基盤では複数の仮想マシンが一つの物理ネットワークアダプタを共有する際に通信処理が特定のCPUコアへ集中しやすく、SNPに含まれる「VMQ」(Virtual Machine Queue)によって負荷を分散し処理を効率化できる。

導入初期には、一部のネットワーク機器やドライバがSNPの処理に十分対応しておらず、通信が途切れたり速度が低下したりする相性問題が生じることがあった。そのため、システムの安定性を重視する管理者の間では、SNPの各機能を意図的に無効化して運用する例も見られた。現在ではネットワークアダプタの性能向上やドライバの成熟により、こうした問題は減少し、標準のまま利用される場合が増えている。

(2026.7.4更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。