Λ Takuya71 の日記 Λ

ここに記載の内容は個人的な見解で 勤務先、所属先には関連はございません。最近は scala に はまってます。認定スクラムマスター

第17回 FREEBSD勉強会 に参加しました

第17回 FREEBSD勉強会 に参加しました

先週の月曜の話ですが 第17回FreeBSD勉強会 に参加しました。

今回 初めての参加をしました。 FreeBSD自体を使い始めたのは 20年ぐらい前になりますが 当時は 1.1.2 とかだった記憶が...
当時の会社に転がっていた 古いPC98に入れて SMTP、POPサーバとして使い始めです。 最近は 仕事でつかう Linux の方ばかりで ここしばらくは FreeBSDは使ってなかったのですが
今回の勉強会が 「マルチコアとネットワークスタックの高速化技法」と言う内容でしたので、 非常に興味があり 初参加させていただきました。

場所

場所は 麹町の KDDIウェブコミュニケーションズさん 19時からスタートなので 15分ぐらい前に到着しましたが、 受付で 2000円を払い 会場に入ると すでに結構人がおられました。

勉強会

はじめに 後藤さん(@daichigoto) 本日発表の浅田さんが20分ぐらい遅れるとのお話があり、 その間 後藤さんが 次回18回(5/24)では BSDCan2013 に参加した最新情報を伝える予定であるとか
本日の 「マルチコアとネットワークスタックの高速化技法」に関連した
予備知識をお話いただけました。

後藤さんのお話の概要

  • tcp/ip ルートは一本しかない。
  • 3,4前からマルチコア 1コアあたりの処理速度があがってない 10Ghzがマックスであろう。。
  • コアの数をふやすも ネットワークスタックは一本なので スケールしない
  • 様々な工夫
  • ディスパッチ 早い段階でスレッドに振る
  • いかに処理を分散するか
  • データ構造を細分可能に書き換える
  • ジャイアントロックをとる
  • チェックサムをハードウェアにふる どの処理をハードにふって、振らないかは難しい NICに全部ふると 抽象化が進まない
  • ファイルシステムも 同様の問題がある
  • GFSどこか一箇所に集約が必要。 UFSも一緒
  • コアに対して スケールさせていく

  • 10GのNIC、40GのNIC、100GのNIC、400GのNIC

  • メモリのデータ構造を工夫しないと パケット落ちする
  • データ構造をリング状にする

  • ネットグラフというフレームワーク GEOMに相当するネットワークのフレームワーク

  • カーネルモジュールを開発  ー> ユーザランドに持ってこない  accept filter 処理が効率的

  • 10G,100G 違い  メタルの本数を増やす 400Gぐらいまで  そのあとは ファイバー。。。  データセンター ラックマウントサーバ  今後 スケーラビリティが弱い

浅田さん発表

30分ぐらいに 浅田さん到着して 発表となりました。

正直 最近のネットワークの高速化に対して いろんな工夫をおこなうことで Linux/FreeBSD も高速化に対応していっているんだなというのが 非常に勉強になりました。

発表された資料

ずっと聞いていてメモしてません... RSS/RPS/RFS って面白そう

Large Segment Offload を無効にした場合のほうが 早かったのは iperf で送信したパケットサイズが小さいことが原因だろう(後藤さん)

Twitterでのまとめ

感想

非常に面白かったです。
次回も是非参加したいと思います。 次回 18回 FreeBSD勉強会
家のサーバも FreeBSDにしよう!

その他

「実践FreeBSDサーバ構築・運用ガイド」 購入しました。 はじめの後藤さんのお話の中で 大変なのでもうやりたくないので おそらく 日本で出る最後のFreeBSDの本になるだろう… という悲しいお話がありましたが。 購入しました。 後で PDF版も売っているのがわかりちょっとPDF版にしておけばよかったかなと思ったのですが。。。

実践 FreeBSD サーバ構築・運用ガイド

実践 FreeBSD サーバ構築・運用ガイド