転送速度

コンピュータにおける最大転送速度はだいたい次の式で求まる。

単位時間あたりの最大割り込み回数×バッファサイズ=最大転送速度

単位時間あたりの最大割り込み回数は

OSの割り込みスケジューリング周期or割り込み処理のCPU処理時間

によって決まり、長い方が採用される。
割り込み処理って結構面倒で、Linuxだとトップハーフとボトムハーフ、WindowsだとISRとDPCのように分かれていて、PCIとかだとトップハーフやISRは複数デバイスでの共有があったりする。そんな中でどこがボトルネックになっているかを見つけるのは難しい(けどおもしろい)
当然、通信路にその他のデバイスが入る場合にはそのデバイスの上記式との兼ね合いになり、ちょっと面倒。
…という話を、自宅イーサネットで2つのNASから1つのPCにデータ転送をしていて思った。