- @eagle_raptor
- メーカーでネットワーク関連
ほぼ実用性のない話
- ネットワーク自体をメモリとして活用しよう
- ネットワーク帯域はかなり余っている
- パケット送信した10分後とかに勝手に届いたりしないかなー
Fastpass http://t.co/iRyPjl97lE #kernelvm
— Fadis (@fadis_) 2015, 6月 6
FastPass
- FastPass Arbitor
Timesolot Allocation
経路上のキューの集合がデータを保持
eagle_raptorさん:登場人物:
・Ethernet
・水銀遅延線(50年位前)
OpenFlowという枠組みでくっつけたらどうなる?というイメージ #kernelvm
— Yoshikazu GOTO (@goto_ipv6) 2015, 6月 6
水銀遅延線
- 水銀の入った筒で電気信号を送る
水銀遅延線の場合
- 光ネットワークにおける遅延線
- 実際に光バッファとして遅延線が今も現役
- 光のままデータを保持したいニーズ
- 水銀→ファイバ 音波→光
遅延時間→ファイバ長さ、周回数sなど
詳細は検索して欲しい
Ethernetではどうなのか(電気)
- 転送はStore and Forward
- エンドツーエンド通信中は経路上のバッファのところにデータがいる
- 基本的には相手に届く
- メモリとして使うための要件
- ループさせればよさそう
Ethernet上でのループ
- 自立分散の世界におけるループ=死
集中分散ならけそう→OpenFlow
制御の方針
- ネットワーク上に閉ループを意図的に構成
- 保持しておきたいデータは底で回しておく
- 必要になったら取り出し
OpenFlow
- コントローラから集中制御でループを構成
- 任意のち円を持ったネットワークを作る
- 単一ホスト
具体的な実装
- ループを意図的に作る
- ループへの入り口/出口を作る
ループ脱出
- 任意のタイミング(ルールの変更)
- 任意の時間での取り出し(ハードタイムアウトとプライオリティ)
メモリとしての利用
- FUSEでファイルシステム作成
- フィアル名をOpenFlowのマッチ条件にエンコード
- 格納されたデータをファイル名をエンコードしたヘッダを持つパケットとしてループ
実際に動くの?
- 動くけどスイッチがめちゃくちゃ熱くなる
- 体験したい場合はそのへんのL2スイッチをループさせてみよう
- サーバ単体でもnetns+openvswitchなど
おわりに
- 有益なユースケースがない
- QoS別キューや適切なポリサーを使ってレートコントロールできれば熱くならない?
- トークンのないリングバスにも見える
- 宛先の決まらないうちにパケットをアウトオブオーダーで投げるとかに使える?
宣伝
NSDIの読み会を6/20にやります。
おまけ
会場から:ファイルシステムの容量は、どのように計算するのかな?と。プロトタイプではどうです?またWANを使った場合はゆらぎがあるので、そのあたりは?
eagle_raptorさん:モデル自体も、結局そのへんは、簡単にLinux上で評価したのと変わるかな、と。 #kernelvm
— Yoshikazu GOTO (@goto_ipv6) 2015, 6月 6