アカウント名:
パスワード:
GbEといっても実効性能はまあ400Mbpsぐらいでしょうけれど、普通にジャンボパケットを使わずに1500byteぐらいのパケットと考えると、
400Mbps / (1500byte/packet * 8bit) = 33333packet/sec
このパケットを200MHzのCPUで処理するとなると、1packetにかけられるクロック数は
200MHz / 333333packet/sec = 6000clk/packet
MMX Pentiumは楽観的に見積もっても1命令1clk程度でしょうから、I/Oとかあらゆる全部1クロックで終わるとしても、6000
やることが決まっているNATなどであれば、 賢いハードがあればそっちに任せられるので、
まぁ,元の話がどんぶり勘定レベルなので,1500 or 1518 あたりは誤差のうちかと思います. が,「2命令/clock」「DMA 転送」あたりは,どんぶり勘定でも効いてくる事項ですね :) そこらへんも勘案して 6000 clock/packet という値を考慮する必要があるでしょう.
あと,linux / UNIX ベースのプラットフォームで考慮が必要な事項として
処理がカーネル内で完結しているか
で,この「どんぶり勘定メソッド」は CPU 資源に対する見積もりだけではなく,他の資源にも適用できます. 例えば,GLANDISK の PCI バスのバンド幅について考えてみると
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
XScale 400MHz (スコア:0)
的な記事があったものだけどギガLANだとこの程度無いと厳しいですか?
それともデブアンが足引っ張ってこれですか?
Re:XScale 400MHz (スコア:3, 参考になる)
GbEといっても実効性能はまあ400Mbpsぐらいでしょうけれど、普通にジャンボパケットを使わずに1500byteぐらいのパケットと考えると、
400Mbps / (1500byte/packet * 8bit) = 33333packet/sec
このパケットを200MHzのCPUで処理するとなると、1packetにかけられるクロック数は
200MHz / 333333packet/sec = 6000clk/packet
MMX Pentiumは楽観的に見積もっても1命令1clk程度でしょうから、I/Oとかあらゆる全部1クロックで終わるとしても、6000
-- Takehiro TOMINAGA // may the source be with you!
Re:XScale 400MHz (スコア:0, フレームのもと)
ダメだよ、参考になるなんて評価しちゃ。
Re:XScale 400MHz (スコア:1, すばらしい洞察)
「参考になる」お答えを...
Re:XScale 400MHz (スコア:1)
・1500バイトのデータを送るのにイーサネットならアドレスやらタイプにCRCやらもろもろ込みで1518バイト必要
・MMX Pentium は 1 clock に 2 命令以上実行できる
・今時のイーサネットカードはDMA(Direct Memory Access)経由でメモり読み書きしているので上手く実装すればCPUの関与は最小限ですむ。(実際に上手く実装されているかは別。知らない。誰か教えて!)
・バッファのアラインメントは普通揃えるでしょう
あたりがつっこみどころでしょうか。
Re:XScale 400MHz (スコア:2, 参考になる)
まぁ,元の話がどんぶり勘定レベルなので,1500 or 1518 あたりは誤差のうちかと思います. が,「2命令/clock」「DMA 転送」あたりは,どんぶり勘定でも効いてくる事項ですね :) そこらへんも勘案して 6000 clock/packet という値を考慮する必要があるでしょう.
あと,linux / UNIX ベースのプラットフォームで考慮が必要な事項として
というものがあります. ルータの場合は,パケットの操作はカーネル内で完結しています. が,NAS の場合は apache / ftpd / samba など,上位プロトコルはユーザ空間のプロセスで処理を行います. このため,カーネル←→ユーザプロセス間のトラフィックがかなり重要なポイントとなります.で,この「どんぶり勘定メソッド」は CPU 資源に対する見積もりだけではなく,他の資源にも適用できます. 例えば,GLANDISK の PCI バスのバンド幅について考えてみると