アカウント名:
パスワード:
もしinterfaceがbottle neckになるとしたら、むしろpacket数が増えて受信割込みの処理が重くなってしまう方が可能性としては高そうです。というのは、あくまで私の実測値ですが、1 packetの長さが平均すると高々200-300 bytesしかないためです。
Ethernetでpacket長が300 bytesとして帯域をいっぱいに使ったとすると、packet数は4000 packets/sを超えます。こうなると、chipやOSの作りによっては受信livelockを起こす恐れがあります。1996年に出た論文 [nec.com]だと約2000 packets/sぐらいから性能が落ちてくるそうですが、今でもbusの速度はそんなに変わっていないので性能の限界値もそんなに変わっていないものと予想しています。
今やbroadband router(自分としてはrouterとは呼びたくないのだが)まででき合いのOSを入れて作るわけですから、それらも含めてより性能に効いてくるpacket数での評価をキチンとやって欲しいところなんですが...(ftpなんかでthroughputを測るとpacket長がMTUいっぱいになるので割込みが厳しい状態での評価が全くできない)
うーん、例えばtcpでackを返したりする時にはpayloadが空っぽで、実質headerだけというpacketが大量に飛んでいきませんか? httpなんかだと結構ありそうな気がするのですが。あるいはinstant messagingでもMTUを割るようなpacketが増えそうです。
今のEthernet chipはdata自体はDMAなどを使って転送できるので、payloadの重さはほとんど気になりません。むしろ、割込みの回数が多くなることによって、cpuの状態遷移が重くなるとか、とりあえず受けたpacketをqueueingしてしまうためにいつまで経ってもqueueの中身に手が付けられないという方が気になっています。
routerに限っていえば、pollingという強力な解はありますけどね。ただ、専用OSになってしまう可能性が高いです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
12Mbpsというスピード (スコア:2, すばらしい洞察)
char *A;
モータースポーツ部 [slashdot.jp]
interfaceを心配する場合は... (スコア:1)
もしinterfaceがbottle neckになるとしたら、むしろpacket数が増えて受信割込みの処理が重くなってしまう方が可能性としては高そうです。というのは、あくまで私の実測値ですが、1 packetの長さが平均すると高々200-300 bytesしかないためです。
Ethernetでpacket長が300 bytesとして帯域をいっぱいに使ったとすると、packet数は4000 packets/sを超えます。こうなると、chipやOSの作りによっては受信livelockを起こす恐れがあります。1996年に出た論文 [nec.com]だと約2000 packets/sぐらいから性能が落ちてくるそうですが、今でもbusの速度はそんなに変わっていないので性能の限界値もそんなに変わっていないものと予想しています。
今やbroadband router(自分としてはrouterとは呼びたくないのだが)まででき合いのOSを入れて作るわけですから、それらも含めてより性能に効いてくるpacket数での評価をキチンとやって欲しいところなんですが...(ftpなんかでthroughputを測るとpacket長がMTUいっぱいになるので割込みが厳しい状態での評価が全くできない)
Re:interfaceを心配する場合は... (スコア:0)
たくさんアクセスのある web サーバを立ててる、とか
Re:interfaceを心配する場合は... (スコア:1)
うーん、例えばtcpでackを返したりする時にはpayloadが空っぽで、実質headerだけというpacketが大量に飛んでいきませんか? httpなんかだと結構ありそうな気がするのですが。あるいはinstant messagingでもMTUを割るようなpacketが増えそうです。
今のEthernet chipはdata自体はDMAなどを使って転送できるので、payloadの重さはほとんど気になりません。むしろ、割込みの回数が多くなることによって、cpuの状態遷移が重くなるとか、とりあえず受けたpacketをqueueingしてしまうためにいつまで経ってもqueueの中身に手が付けられないという方が気になっています。
routerに限っていえば、pollingという強力な解はありますけどね。ただ、専用OSになってしまう可能性が高いです。