Diary of Sacred Fox - June 23, 2004

The Quintetには通算 179067 人(今日:0, 昨日:1)のお客様が来場しています

2004/06/23(1)

半分以上メモだけど

ここだと一番確実に残るのでここにメモメモ
iperfで10GbEな実験
パラメータ設定はethの番号(1箇所)に注意しつつも基本的にコピペでOK, 順不同こんな感じ

setpci -d 8086:1048 e6.b=2e
ifconfig eth0 mtu 16080 txqueuelen 50000 up
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 20000000 20000000 20000000 > /proc/sys/net/ipv4/tcp_rmem
echo 20000000 20000000 20000000 > /proc/sys/net/ipv4/tcp_wmem
echo 20000000 20000000 20000000 > /proc/sys/net/ipv4/tcp_mem
echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max
echo 16777216 > /proc/sys/net/core/rmem_default
echo 16777216 > /proc/sys/net/core/wmem_default
echo 16777216 > /proc/sys/net/core/optmem_max
echo 16777216 > /proc/sys/net/core/netdev_max_backlog
export TCP_WINDOW_SIZE=256m
export IPERF_LEN=16000

iperfは-bオプションをソースの1箇所を変えるだけで出来る, 演算の順番に注意しながら単位をbitからbyteに内部的に8倍のScaleをかける改造をかけておく
iperfの-bなんて適当に大きい値をかけておけば問題はないのでこんな感じで起動

iperf サーバ-s UDP-u
iperf クライアント-c 相手のホストに10GbEの線経由でいくように設定したnameenshu3-1gb バンド幅, 結構いい加減に設定…つーか8Gbpsちょいぐらいの数字(単位はbyte per sec)-b 1073741824 0.5秒ごとに結果報告, 気分の問題-i 0.5

これはUDPでの測定の場合
一応目標(?)の4Gbpsは出たけど…である

WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to enshu3-1gb, UDP port 5001
Sending 16000 byte datagrams
UDP buffer size: 32.0 MByte (WARNING: requested  256 MByte)
------------------------------------------------------------
[  3] local 192.168.0.2 port 32769 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3] -0.0- 0.5 sec   248 MBytes  4.16 Gbits/sec
[  3]  0.5- 1.0 sec   247 MBytes  4.14 Gbits/sec
[  3]  1.0- 1.5 sec   245 MBytes  4.11 Gbits/sec
[  3]  1.5- 2.0 sec   244 MBytes  4.09 Gbits/sec
[  3]  2.0- 2.5 sec   245 MBytes  4.12 Gbits/sec
[  3]  2.5- 3.0 sec   245 MBytes  4.11 Gbits/sec
[  3]  3.0- 3.5 sec   246 MBytes  4.12 Gbits/sec
[  3]  3.5- 4.0 sec   246 MBytes  4.12 Gbits/sec
[  3]  4.0- 4.5 sec   246 MBytes  4.13 Gbits/sec
[  3]  4.5- 5.0 sec   245 MBytes  4.12 Gbits/sec
[  3]  5.0- 5.5 sec   246 MBytes  4.13 Gbits/sec
[  3]  5.5- 6.0 sec   246 MBytes  4.12 Gbits/sec
[  3]  6.0- 6.5 sec   247 MBytes  4.14 Gbits/sec
[  3]  6.5- 7.0 sec   247 MBytes  4.14 Gbits/sec
[  3]  7.0- 7.5 sec   246 MBytes  4.13 Gbits/sec
[  3]  7.5- 8.0 sec   246 MBytes  4.13 Gbits/sec
[  3]  8.0- 8.5 sec   246 MBytes  4.13 Gbits/sec
[  3]  8.5- 9.0 sec   246 MBytes  4.12 Gbits/sec
[  3]  9.0- 9.5 sec   246 MBytes  4.12 Gbits/sec
[  3]  9.5-10.0 sec   245 MBytes  4.12 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  4.80 GBytes  4.13 Gbits/sec
[  3] Server Report:
[  3]  0.0-10.0 sec  4.74 GBytes  4.07 Gbits/sec  0.027 ms 4443/322316 (1.4%)
[  3] Sent 322316 datagrams

とりあえず妙に安定して4Gbpsを叩き出している

次はTCP単線
コマンドと結果はこんな感じ

iperf -s
iperf -c enshu3-1gb -i 0.5
------------------------------------------------------------
Client connecting to enshu3-1gb, TCP port 5001
TCP window size: 32.0 MByte (WARNING: requested  256 MByte)
------------------------------------------------------------
[  3] local 192.168.0.2 port 32803 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 0.5 sec   212 MBytes  3.55 Gbits/sec
[  3]  0.5- 1.0 sec   210 MBytes  3.52 Gbits/sec
[  3]  1.0- 1.5 sec   186 MBytes  3.11 Gbits/sec
[  3]  1.5- 2.0 sec   204 MBytes  3.42 Gbits/sec
[  3]  2.0- 2.5 sec   206 MBytes  3.45 Gbits/sec
[  3]  2.5- 3.0 sec   206 MBytes  3.46 Gbits/sec
[  3]  3.0- 3.5 sec   207 MBytes  3.47 Gbits/sec
[  3]  3.5- 4.0 sec   204 MBytes  3.42 Gbits/sec
[  3]  4.0- 4.5 sec   206 MBytes  3.46 Gbits/sec
[  3]  4.5- 5.0 sec   207 MBytes  3.47 Gbits/sec
[  3]  5.0- 5.5 sec   204 MBytes  3.42 Gbits/sec
[  3]  5.5- 6.0 sec   206 MBytes  3.46 Gbits/sec
[  3]  6.0- 6.5 sec   207 MBytes  3.47 Gbits/sec
[  3]  6.5- 7.0 sec   203 MBytes  3.41 Gbits/sec
[  3]  7.0- 7.5 sec   205 MBytes  3.45 Gbits/sec
[  3]  7.5- 8.0 sec   207 MBytes  3.47 Gbits/sec
[  3]  8.0- 8.5 sec   203 MBytes  3.41 Gbits/sec
[  3]  8.5- 9.0 sec   206 MBytes  3.45 Gbits/sec
[  3]  9.0- 9.5 sec   206 MBytes  3.46 Gbits/sec
[  3]  9.5-10.0 sec   204 MBytes  3.41 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  4.00 GBytes  3.44 Gbits/sec

で, こっちは4本接続の場合

iperf -c enshu3-1gb -i 0.5 -P 4行数節約 | grep SUM
[SUM]  0.0- 0.5 sec   247 MBytes  4.14 Gbits/sec
[SUM]  0.5- 1.0 sec   224 MBytes  3.76 Gbits/sec
[SUM]  1.0- 1.5 sec   213 MBytes  3.57 Gbits/sec
[SUM]  1.5- 2.0 sec   203 MBytes  3.41 Gbits/sec
[SUM]  2.0- 2.5 sec   205 MBytes  3.43 Gbits/sec
[SUM]  2.5- 3.0 sec   216 MBytes  3.62 Gbits/sec
[SUM]  3.0- 3.5 sec   209 MBytes  3.50 Gbits/sec
[SUM]  3.5- 4.0 sec   214 MBytes  3.59 Gbits/sec
[SUM]  4.0- 4.5 sec   210 MBytes  3.53 Gbits/sec
[SUM]  4.5- 5.0 sec   208 MBytes  3.48 Gbits/sec
[SUM]  5.0- 5.5 sec   209 MBytes  3.51 Gbits/sec
[SUM]  5.5- 6.0 sec   208 MBytes  3.48 Gbits/sec
[SUM]  6.0- 6.5 sec   203 MBytes  3.40 Gbits/sec
[SUM]  6.5- 7.0 sec   195 MBytes  3.27 Gbits/sec
[SUM]  7.0- 7.5 sec   213 MBytes  3.58 Gbits/sec
[SUM]  7.5- 8.0 sec   208 MBytes  3.49 Gbits/sec
[SUM]  8.0- 8.5 sec   207 MBytes  3.47 Gbits/sec
[SUM]  8.5- 9.0 sec   207 MBytes  3.47 Gbits/sec
[SUM]  9.0- 9.5 sec   210 MBytes  3.53 Gbits/sec
[SUM]  9.5-10.0 sec   202 MBytes  3.39 Gbits/sec
[SUM]  0.0-10.2 sec  4.11 GBytes  3.47 Gbits/sec

最初にだけ4Gbps出ている傾向だけは変わらないのでちょっと弄れば上手くいくのだろうか
とりあえず現状のレポートなのである

因みにnetstat -iの結果からするとボトルネックはいまだに送信側にある模様
次は何を弄れば…

Comments (0):

2004/06/23(2)

何を作っていたんだろう

ちょっとしたきっかけからSPARCの内部レジスタの値を読み出すと言うことを実装しようとする
制限はV8系列のコードで書くということ, V9にすると簡単なんだけど, それだと色々なところに問題をきたしてしまうのだ
まずはその目的を果たすことができるレジスタを探す, この辺は当たり前のことではあるが日本語の情報源が少ない, 結果, 英語情報を個人的には情報量の限度はあるが, 取捨選択が比較的短時間で終わる日本語の方が先に当たる価値があると思う, 往々にして外れはするけれど…渡り歩く羽目になる
とりあえずはアセンブラで何とかする方法を探す, そしてその後でそれをインラインアセンブリなんて使ったことないですインラインアセンブリにする方法を模索する
当然こんなことを一人でしたわけではなく, メインでやっていた人がいるのだがこの辺は書いてもいいのか微妙なのであえて伏せてみることに
で, 一通り完成したのは良いが, そこからx86, IA64, i386_64, Powerと, 対応CPUを広げる作業を行う, この辺は完全に趣味の世界, こんなに多くの種類のアセンブラコードを見たのは初めて… たった一つのことでもアセンブラにした途端色々な実現コードに変化するというのは結構面白かった
結局夕食の関係で最後までは見ていられなかったが, 結局V9版のコードもしっかりと搭載する予定の模様, 後日結果物を見てみたいものである

Comments (0):