パスワードを忘れた? アカウント作成
497018 journal

bananan_wの日記: 今週末のToDo 1

日記 by bananan_w
EPIA EN12000EGをしゃぶり尽くす

・longhaul(省電力な機能)を使ってみる
VIA Arena から longhaul なモジュールをもらってきて、マニュアル通りのセットアップで難なく可。
割と直観的な設定なので困ることもないかな。
以下のコードがCPUのクロック数に応じてリニアに処理時間が増えるのが素敵。
まぁ、当然っちゃ当然だけど。
---
#include <limits.h>
int main()
{
    int i = 0;
    while(i<INT_MAX){
        i++;
    }
    return 0;
}
---

・NICの性能測定
netperf で測定。
netserver 動作ホスト:
NIC: sk98lin
CPU: AthlonXP1400+
RAM: DDR400 768MB

via-velocity(VT6122 GbE)
netperf(TCP_STREAM)
251.71Mbps, 75.49%
netperf(UDP_STREAM)
293.6Mbps, 74.21%

via-velocity(VT6122 100Base)
netperf(TCP_STREAM)
94.03Mbps, 29.97%
netperf(UDP_STREAM)
96.1Mbps, 25.72%

e1000
netperf(TCP_STREAM)
370.73Mbps, 19.61%
netperf(UDP_STREAM)
512.9Mbps, 58.65%

e1000(100Base)
netperf(TCP_STREAM)
93.96Mbps, 11.79%
netperf(UDP_STREAM)
96.1Mbps, 13.39%

de4x5
netperf(TCP_STREAM)
76.51Mbps, 9.85%
netperf(UDP_STREAM)
94.4Mbps, 8.19%

e100
netperf(TCP_STREAM)
94.06Mbps, 9.98%
netperf(UDP_STREAM)
96.1Mbps, 9.41%

3C905-TX
netperf(TCP_STREAM)
94.08Mbps, 18.33%
netperf(UDP_STREAM)
96.1Mbps, 11.63%

その他(何かNIC持ってたかな...)

参考(PentiumIII850MHz, e1000)
netperf(TCP_STREAM)
363.64Mbps, CPU45.07%
netperf(UDP_STREAM)
438.2Mbps, CPU:99.99%

参考2(e1000 <-> e1000)(C7 -> P3)
netperf(TCP_STREAM)
352.09Mbps, CPU11.65%
netperf(UDP_STREAM)
672.0Mbps, CPU:67.50%

VT6122は巷では速くて発熱少なくてCPU負荷軽くて最高。って多く書かれていた。
e1000は発熱多くて、CPU負荷高くて、遅い。って多く書かれていたけど、
発熱はともかくとして、性能的には実際は真逆ではないか。
VT6122をGbEのNICとして使用するメリットは見当たらない。
33MHz PCIなのに672Mbpsも出てしまうe1000まんせー。

NIC総括
TCP/UDP の転送する際のCPU使用率と転送量を比較すると、
性能の良いものから順に以下の通りになった。
e1000(GbE)>>>(壁)>e100>e1000(100Base)>de4x5>3c905>>>(壁)>>>velocity(GbE)>velocity(100Base)

e1000のLinuxのドライバがIntelがカリカリにチューニングしているとか、
velocityのドライバがかなり古い(via arenaにあるものは1.23だけど、
vanilla は1.14)とか色々と気になるところはある。
新しいvelocityを使用したいけど、新しいカーネルでコンパイルできなかった。
velocityイクナイ。Intel見習えw

EPIA EN12000EGはPCIが一本しかないので、velocityをGbEで繋げて、
e100をONUに繋げる構成にしてみようと思う。velocityなんて
使いたくないのがホンネだけどねー。
e1000が二個付いてるNICがほすぃ(ぶぶぶ

---
velocityget を linux-2.6.20.6 でコンパイルできた。
変なところに最新kernel用パッチを含むソースが転がってた。わかりにくいよ。っていうかわからん。
ぐちゃぐちゃにソースを分けておくのはかんべんして下さい>viaarenaの中の人

Download -> Drivers で出てくるリストのうち、Source って奴を選びたくなるんだけど、
Ubuntu か Fedora Core6 を選択して、そこから更にソースを選択すると、
コンパイルが通すパッチが含まれるtarball(ただしドライババージョンは同一)が
ダウンロードできた。パッチはすべてのtarballに含めておいてくれないの?
ってわけで、これから新しい velocityget をカーネルに含めたものを作ってくる。
効果が出るかどうか夢がひ(ry

---20070414 23:30
velocityget 1.23 をカーネルに含めてコンパイルできた。
Makefile の書き方が変わってたのと、どのオブジェクトが必要なのか
よくわからなかったから微妙に戸惑った。で、結果。

e1000にはやや及ばないものの、1.14のCPU負荷が嘘のように低くなった。
100Baseで使う分には文句がないレベル。GbEでは若干負荷が高いかな。
velocity は 100Base の口に使用して、GbEの口にはe1000で行こう。

velocity(ver1.23 GbE)
netperf(TCP_STREAM)
371.54Mbps, 73.77%
netperf(UDP_STREAM)
517.4Mbps, 58.17%

velocity(ver1.23 100Base)
netperf(TCP_STREAM)
94.04Mbps, 14.33%
netperf(UDP_STREAM)
95.1Mbps, 9.84%

・ネットワークブートさせて楽しむ
kernel に dhcpclient を動かさせて、nfs mount する手順をすっかり忘れて微妙に困った。
kernel には以下の項目を必須で組み込むこと
-NIC のドライバ
-NFS Client
-NFS ROOT
-Networking -> Networking options -> IP: kernel level autoconfiguration -> IP: DHCP support
pxlinux の APPEND行は以下のようにすること
APPEND root=/dev/nfs nfsroot=NFSSERVERIP:/path/to/nfs/root ip=::::::dhcp

・mpeg2の再生支援を使ってみる
・alsaで音を出してみる
・爆速と噂のopensslで楽しむ

とりあえずこのぐらい?
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2007年04月15日 14時51分 (#1142972)
    UDPの方が軽いってのは、いまどきの「かしこいネットワークI/F」にしてはめずらしいかも。 ハードコアFPSゲーマー向け?
typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...