iijlab 高速ネットワークスタック

2015-04-09 IIJ 飯田橋 13F
7
Yojiro UO @yojiro

SeaStarのNICからのパケットI/O マルチキューNICの場合はRSSでフローごとに分散させてcoreへルーティングして処理。RSSできないNICだとソフトウェアハッシュでの対応も可能。 #iijlab_seminar

2015-04-09 19:04:42
Yojiro UO @yojiro

SeaStarでのメモリアロケータ。自前実装。 シェアードナッシングモデルなどにフィットした実装をもっている。 アロケーションと利用は同じcoreになることが保証される、とか。 #iijlab_seminar

2015-04-09 19:06:23
Yojiro UO @yojiro

SeastarでどうやってTCPスタックを書くのか?共有データの扱いかた。L2のレベルで同じTCPフローは必ず同じスタック(core)に渡されるように保証される設計になっている。 #iijlab_seminar

2015-04-09 19:07:49
Yojiro UO @yojiro

アプリケーションレベルでのSeaStarでのプログラミングモデル。共有データの扱いかた。memcachedのプロトコルの場合。 L7の解釈を下のほうでやってcoreへルーティングするわけにはいかないので、なんらかの共有が必要。 #iijlab_seminar

2015-04-09 19:12:10
Yojiro UO @yojiro

Seastarの実行環境。複数。 * OS - Linux on bare metal - Linux on VM - OSV on VM * network - DPDK -vhost-net - xen - OS native #iijlab_seminar

2015-04-09 19:16:16
Yojiro UO @yojiro

Seastar on OSvの例。SR-IOV対応。 もしかしたらベアメタルでSeastar+OSvうごくかも?(さらりとすごいこと言っていた) #iijlab_seminar

2015-04-09 19:18:08
Yojiro UO @yojiro

Seastarの性能例。14core/xeonベアメタルで動かした場合。http 7M IOPS, memcached 4M transaction/sec (250K/core) 暫定値。まだチューニング予定あり。 #iijlab_seminar

2015-04-09 19:21:35
Yojiro UO @yojiro

DPDK向けの他のスタックとSeastarとの相違点。極論を言えば「後方互換性をがんばるか、性能をとるか。」 ぜんぶあたらしくしちゃえ、っていうのは最初の話者のぱんだせんせいと同じかしら? #iijlab_seminar

2015-04-09 19:24:17
Yojiro UO @yojiro

Seastarでの言語バインディングについて。C++じゃない可能性はあるのかしら?議論中。 提案があれば是非。 #iijlab_seminar

2015-04-09 19:26:24
Yojiro UO @yojiro

質疑:core間で共有しないといけない場合の厳密性はどのくらい担保されるのか?制約が緩くなったから速いということはないのか? 回答:厳密性はある。詳細はちょっとコードをよまないとわからない。 #iijlab_seminar

2015-04-09 19:28:48
Yojiro UO @yojiro

質疑:RSSでcoreへ割り振る、って話だったけどフラグメンテトされているときにはどうなるの? 回答:問題になるけど、再構成のおふろーどをかければいいんじゃない? #iijlab_seminar

2015-04-09 19:30:28
Kazuyuki Shudo / 首藤一幸 @shudo

#iijlab_seminar Cloudius Systems 社、これまで増資のラウンドは 1回、2013/9。US$7M。どういう目論見なんだろう。

2015-04-09 19:34:22
Hisaki Ohara @hisak

iijlab seminarに行きたい人生だった。IPMIのSpecはもう開きたくない。

2015-04-09 20:23:07
イスラエルエリカちゃん #StayAtHome @syuu1228

Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク slideshare.net/syuu1228/seast… @SlideShareさんから #iijlab_seminar #seastar #dpdk

2015-04-09 20:27:25
イスラエルエリカちゃん #StayAtHome @syuu1228

SeaStarの資料を上げろという圧力を感じたので上げてみた #iijlab_seminar #seastar

2015-04-09 20:28:32
イスラエルエリカちゃん #StayAtHome @syuu1228

これ、任意っぽく言ったけどクラスによってはコピー封じられてた気がするのでコンパイルがそもそも通らないはず。twitter.com/yojiro/status/… #seastar #iijlab_seminar

2015-04-09 20:32:05
Yojiro UO @yojiro

SeaStarではポインタ(スマートポインタ含む)は使用しない。コピーがふさわしくないときはstd:move()つかってね。 #iijlab_seminar

2015-04-09 18:56:44
イスラエルエリカちゃん #StayAtHome @syuu1228

あと、なんでもかんでもmoveしろというのも確か正しくなくてforwardしなきゃならないケースがあったような気がするんだけどもあんまり正確に理解してない github.com/cloudius-syste…✓&q=std%3A%3Aforward #iijlab_seminar

2015-04-09 20:41:25