by shigemk2

当面は技術的なことしか書かない

10GbE NICを使いこなす #kernelvm

@hirochikasai

趣味でOSを作っている東大教員

専門 * インターネットトラフィックプロファイリング * トポロジー解析

malloc?libc??

ネットワークOSって何

  • 高スループット
  • 低遅延
  • 高信頼性

フォワーディング性能 低遅延に

ルーティング性能(100G)

ポーリング zero-copyで高速化?

  • ある程度たまったらまとめて処理する
  • 割り込みの負荷が高い
  • 負荷が高いのは割り込みのせいじゃなかった
  • フルスクラッチ

  • ボトルネック解析

CPU?メモリ?

スループットを見ると、違う

Is CPU bottleneck?

67nsec

く… #kernelvm えぬかね@毎日がえぶりでい@n_kane netmapのLuigiさんもそうだったけど、教職出身の人たちのプレゼン非常に流れがわかりいいのよね #kernelvm

Kimihiko Shimomura@kshimo69 30秒前 10G Etherだと1パケット処理するのに67nsの猶予があってよゆー #kernelvm Retweeted by ✌️゛

Is CPU the Bottleneck?: ・3.3GHz →0.3nsくらい ・10GbE NIC →14.88Mpps →67nsの持ち時間があるはず ・Data Access Latency →DRAMでも1コピーできるほどの速度

memory mapped

PCI MMIO

メモリマップドI/O - Wikipedia

Peripheral Component Interconnect - Wikipedia

Intel® 82599 10 Gigabit Ethernet Controller: Datasheet

Intel® 64 and IA-32 Architectures Software Developer Manuals

まとめ

  • 67ns per packet
  • bottlenecks(mmio delay cpuでもmemoryでもない)
  • direct cache address receive sideなど

そして僕は振り落とされた