アカウント名:
パスワード:
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などであれば、 賢いハードがあればそっちに任せられるので、
他にも探してみると色々有りますよ。「賢いハード」を内蔵したネットワークプロセッサなんかも。 このへん [teldevice.co.jp]も参考になるかも。
IOP 80219 です. あと,一部(挑戦者のページなど)ではクロック 416MHz なんて書かれているけど,400MHz が正解です.
それからついでに,カーネルのバージョンは 2.6.8 ではなく,2.6.10 が正解.
まぁ,元の話がどんぶり勘定レベルなので,1500 or 1518 あたりは誤差のうちかと思います. が,「2命令/clock」「DMA 転送」あたりは,どんぶり勘定でも効いてくる事項ですね :) そこらへんも勘案して 6000 clock/packet という値を考慮する必要があるでしょう.
あと,linux / UNIX ベースのプラットフォームで考慮が必要な事項として
処理がカーネル内で完結しているか
で,この「どんぶり勘定メソッド」は CPU 資源に対する見積もりだけではなく,他の資源にも適用できます. 例えば,GLANDISK の PCI バスのバンド幅について考えてみると
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
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 (スコア:4, 参考になる)
他にも探してみると色々有りますよ。「賢いハード」を内蔵したネットワークプロセッサなんかも。
このへん [teldevice.co.jp]も参考になるかも。
Re:XScale 400MHz (スコア:3, 参考になる)
XScaleって、いわゆるPDAなどに使われているPXAシリーズと、
ルータなどのネットワーク機器に使われているIXPシリーズがあるんだけど…
(さらに言うと、RAIDコントローラとかに使われるIOPシリーズもある)
で、IXPシリーズには、XScaleコア以外に、ネットワーク処理専用の
コプロセッサが内蔵されてて、そいつらがXScale側で動くソフトウェアと
協調動作しながらパケットをフィルタリングしたり、振り分けたりとか
できるので、単純にXScaleコア単体の性能だけでは語れない部分もあります。
ただ、うちみたいな弱小組み込み屋ぢゃ、IXPシリーズのコプロセッサで動く
プログラムの開発なんてできませんが…(開発機材やらライセンス料が高いらC…)
おふとぴっく(Re:XScale 400MHz) (スコア:0)
#iAPX386、iAPX486、、、
Re:おふとぴっく(Re:XScale 400MHz) (スコア:0)
#初の32bitプロセッサ
Re:XScale 400MHz (スコア:0)
IOP 80219 です. あと,一部(挑戦者のページなど)ではクロック 416MHz なんて書かれているけど,400MHz が正解です.
それからついでに,カーネルのバージョンは 2.6.8 ではなく,2.6.10 が正解.
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 バスのバンド幅について考えてみると