Network

Linux/i386のパケット受信フロー

同じものを何度も書いてはいるのだが、OpenBSDの図のように共有データとロックの関係についてはあまり調べて無かったと思ったのでこちらも作ってみた。正直、RCUがどうなっているのか未だ理解出来ていない。 恐らくロック区間でロックした時点でのバージョン…

OpenBSD/i386のパケット受信フロー

共有データとジャイアントロックの位置に注意しながら関数レベルで追ってみた(実際にはかなり簡略化しているが)。 SMP対応が全く進んでいないという事が容易に見て取れる。

Linuxのパケット受信フロー図(RPSを使う場合)

せっかく書いたので貼ってみる。

Receive-Side Scalingについての調査メモ

Kernel/VM Advent Calendar 4日目: Linuxのネットワークスタックのスケーラビリティについて - かーねる・う゛いえむにっきで書いたReceive-Side Scalingの記述が未だ理解が足りず不正確だと思ったので、調べ直してみてる所。 Multi-queueなNICってなに RPS…

Kernel/VM Advent Calendar 4日目: Linuxのネットワークスタックのスケーラビリティについて

【お願い】私はLinuxカーネルもネットワーク周りも素人です。ここに書いてある事は間違えている可能性もあるのでおかしいなと思ったらすかさず突っ込んでください。宜しくお願い致します。今回は、この記事の内容を全面的に見直して、再度Linuxのネットワー…

NetDMAってなに

Windowsでネットワークスループットを上げる為のハードウェアオフローディングな話を見つけた。 予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか? – Ask the Network & AD Support TeamこんなかのNetDMAがちょっと気になったんで調べてみ…

Linuxのポーリング処理のコードを読んでみよう 〜ポーリング編〜

Linuxのポーリング処理のコードを読んでみよう 〜割り込み編〜 - かーねる・う゛いえむにっきの続き。まず、前回最後にスケジュールしたNET_RX_SOFTIRQってソフトウェア割り込みがどこで登録されてて、どれがハンドラかって所から見てみる。net_dev_init()っ…

Linuxのポーリング処理のコードを読んでみよう 〜割り込み編〜

Linuxのポーリング処理のコードを読んでみよう 〜初期化編〜 - かーねる・う゛いえむにっきの続き。まず、割り込みがかかるとe1000_intrが呼ばれる。 3370 static irqreturn_t e1000_intr(int irq, void *data) 3371 { 3372 struct net_device *netdev = dat…

Linuxのポーリング処理のコードを読んでみよう 〜初期化編〜

みんなの大好きなe1000のドライバから、ポーリング処理を追ってみようと思う。 カーネルのバージョンは、fxr.watson.orgに現時点で上がっている2.6.36-rc2。 但し、何故かnet/core/dev.cのページが破損してるので、その部分は配布ソースコードから。 252 mod…

FreeBSD Ethernet device pollingに関する記事まとめ

2年くらい前にFreeBSDのEthernet device pollingについての記事を書いていたので、ここに再度まとめておこう。 Ethernet device polling(1) Ethernet device polling(2) Ethernet device polling(3) Ethernet device polling(4) Ethernet device polling(5)…

じゃあ、Linuxのネットワークスタックはどうなのん?

この記事の続きになる訳だが、いくらSolaris最強って言っても、大手メーカーがこぞってつつき回して性能改善したり機能追加したりしてるはずのLinuxで何も対策が打たれてない訳が無いよね。じゃあどうなってるんだろう、って話。例によって、Linuxとか全ッ然…

SolarisのネットワークスタックってSMPに強いのん?

「SolarisのネットワークスタックはSMPに強い」という噂を聞いていたので、取り敢えずどんな感じなのか資料を斜め読みしてみた。 Solarisとか全ッ然知らないので、間違ってたらツッコミ下さい。資料: Oracle and Sun Microsystems | Strategic Acquisitions…

あんれー

Distributed binning schemeの論文を読んだ後にHIERASの論文読み返してみたら、binningの説明のところでL1,L2,L3,L4へのレイテンシを3つのレベルに分けます。 Node Aの場合、25ms, 5ms, 30ms, 100msなのでレベルに振り分けると1012になります。 1012がorder…

Topologically-Aware Overlay Construction and Server Selectionのまとめ

読んだ所だけまとめる。オーバーレイネットワークは物理トポロジを考慮しないネットワーク構造で構築されるので、通信の効率が悪い。 ネットワーク構築時に物理トポロジが分かれば、パフォーマンスを改善する事が可能であると考えられる。 或いは、ファイル…

Topologically-Aware Overlay Construction and Server Selectionの翻訳(introductionまで)

Topologically-Aware Overlay Construction and Server Selectionって論文のABSTRACTとINTRODUCTIONを翻訳してみた。 すぐにめんどくさくなってExcite翻訳に頼った。だめじゃん。 物理トポロジを反映させたオーバレイ構築とサーバ選択 ABSTRACT 多くの大規模…

ns-3というのもあるんだけれど

GSOC2009Projects - Nsnam ここを読んでみると、「Large Scale Topology Generation and Management」はGSOC2009のテーマ、となっている。 まだ実装はないかぁ。という訳で、こちらは使えそうにないな。 C++ベースの実装にPythonのバインディングがついてく…

ns-2はOTclとTclCLを使って実装されてるのか。ほぉ〜

両方とも見た事も聞いた事も無いんだが、どうもOTclはオブジェクト指向なTcl、TclCLはOTclをC++にバインドするライブラリらしい。 なんでそんなもん使ってんだろ。まぁ、シミュレーションシナリオ自体は読みやすそうだし(今の所)そんなに訳のわからない文…

ns-2の使い方を調べてる

gt-itmで生成したsgbファイルをJavaでパースして自前で実装したネットワークシミュレータに食わせようかと思っていたが、実現方法が分からない。というか、sgbファイルの構造がよく分からないのだな。 そもそもこれは、ネットワークを表現する為のものじゃな…

Genkidama 0.3.4をリリースしました。

Genkidama 0.3.4をリリースしました。 0.3.3からの変更点は以下の通りです: ・DHTに接続出来ない問題を改善する為、アルゴリズム設定を調整 ・putが失敗する問題を改善する為、挙動を調整 ・GUIの改善、無用な機能の削除http://sourceforge.jp/projects/gen…

Genkidama 0.3.3をリリースしました & Genkidama Web DashboardのURLを変更しました 

Genkidama 0.3.3をリリースしました。 0.3.2からの変更点は以下のとおりです: ・DHTアルゴリズムの変更 ・暫定的なGUIの実装 http://sourceforge.jp/projects/genkidama/downloads/40785/Genkidama-0.3.3.zipまた、Genkidama Web DashboardのURLを変更しま…

genkidama.us買った

http://genkidama.us/お名前.comで\380だった。 今だけ特価だからyouもbuyしちゃいなよ!

Opera Unite

http://journal.mycom.co.jp/news/2009/06/17/003/index.htmlOperaブラウザでしか使えないっぽいのが一番のネックなんだが、何か面白いものに使えそうな予感はするんだよなぁ。重そうな作業やでかいストリームの配信とかをクライアントに一部肩代わりさせて…

Genkidamaテスト版 2009052901をリリースしました。

前回のテストリリースの2009052701にはDHTへキャッシュを公開するのを忘れていたwwww という致命的なバグが有ったので、ここを中心に修正。 一応の動作確認が取れた。 ログ周りの掃除も進行中。 未だバージョンチェックは未実装。あまりにもUPnP周りでトラブ…

UPnP、NAT越え技術(UDP Hole Punching, STUNなど)に詳しい方、オラに力を分けてくれっ!!

http://sourceforge.jp/people/viewjob.php?group_id=4359&job_id=303 え〜、そんな訳でGenkidamaプロジェクトではUPnP、NAT越え技術(UDP Hole Punching, STUNなど)に詳しい方を募集中です。 実際に開発に参加してくれる方を希望していますが、アドバイス…

なんか変だ

DHTへputしたはずのデータがget出来ていないように見える。 DHT Ringが正しく動いていないかもしれない。 dhtshellやlistnodesをGenkidamaのネットワークへ繋いで、色々テストしてみると何か分かるかもしれない。

海外サーバのシェルアカウントを取得する その2

海外サーバのシェルアカウントを取得する - かーねる・う゛いえむにっきの続き。その後も一向にiperf & lmbenchを実行出来る環境は手に入らなかったのだが、どうもPaypalでdonateするか綺麗な写真などの付いたpostcardを送ってあげると使い物になるアカウン…

海外サーバのシェルアカウントを取得する

念の為書いておくけどハッキングの事じゃない。海外と国内のノード、海外のノード同士のスループット・レイテンシを測りたいというニーズが出てきたので、shellアクセスが出来てiperfとlmbenchを走らす事の出来るサーバを探している。 今の所、これだけのリ…

Genkidama now on sourceforge.jp!

sourceforge.jpの承認が降りたので、Genkidamaをsourceforge.jpへ乗せました。 今後の開発はこちらで行います。 Genkidama プロジェクト日本語トップページ - OSDN

ネットワークにおけるスループット・レイテンシの計測ツール

仕事でも研究でもスループットやレイテンシを測らなきゃいけない事があったので、どこのツールが良いか色々調べてみた。 結果、僕は以下の2つを併用している: スループット Iperf download | SourceForge.net UNIX系ならソースからコンパイルすれば良い。 …

祝・ホッテントリ掲載(Genkidamaの件)

今朝のGenkidamaの記事で、初めてはてなのホッテントリに掲載されました。 ネット界隈に友人が一人も居ないから誰も祝ってくれないので、俺が自分を自分で祝うよ。 ∩( ・ω・)∩ばんじゃーい ∩( ・ω・)∩ばんじゃーい ∩( ・ω・)∩ばんじゃーい・・・・うっうっう(…