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で楽しむ
とりあえずこのぐらい?
・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で楽しむ
とりあえずこのぐらい?
U!D!P! (スコア:0)