ユーザランドでのカーネルスタック実行

元々はpuffsとのからみで( http://www.netbsd.org/docs/rump/index.html )デザインされている。
我々の関心は常にオーバヘッドで、もしオーバヘッドが受け入れ可能なら、カーネルコードは少なければ少ないほど良い。プログラムをカーネルモードで動作させる唯一の理由がパフォーマンス*1といえる。
良い"分散"ポリシーフレームワークが必要で、例えばどうせ送信できないパケットならアプリケーション側で落とすといった工夫を可能にできるようなものが必要といえる。極論を言えば、アプリケーション毎に最適なネットワークスタックを選択できるようにしなければいけない。

*1:レイテンシとスループットの両方