add support for NAT under netperf stream, maerts, and spec-surge.
authorLisa Hsu <hsul@eecs.umich.edu>
Wed, 17 Nov 2004 03:43:12 +0000 (22:43 -0500)
committerLisa Hsu <hsul@eecs.umich.edu>
Wed, 17 Nov 2004 03:43:12 +0000 (22:43 -0500)
configs/boot/spec-surge-client.rcS:
configs/boot/surge-client.rcS:
    fix this rcS - don't sleep, instead wait for the server to tell you it's done.
configs/boot/spec-surge-server.rcS:
configs/boot/surge-server.rcS:
    notify the client you're done starting the server.

--HG--
extra : convert_revision : b708bd0a9147e248eed7c27e7078668fbd98b95e

configs/boot/nat-netperf-maerts-client.rcS [new file with mode: 0644]
configs/boot/nat-netperf-server.rcS [new file with mode: 0644]
configs/boot/nat-netperf-stream-client.rcS [new file with mode: 0644]
configs/boot/nat-spec-surge-client.rcS [new file with mode: 0644]
configs/boot/nat-spec-surge-server.rcS [new file with mode: 0755]
configs/boot/natbox-netperf.rcS [new file with mode: 0644]
configs/boot/natbox-spec-surge.rcS [new file with mode: 0644]
configs/boot/spec-surge-client.rcS
configs/boot/spec-surge-server.rcS
configs/boot/surge-client.rcS
configs/boot/surge-server.rcS

diff --git a/configs/boot/nat-netperf-maerts-client.rcS b/configs/boot/nat-netperf-maerts-client.rcS
new file mode 100644 (file)
index 0000000..24d7c2c
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+SERVER=192.168.0.1
+CLIENT=10.0.0.2
+
+echo "setting up network..."
+ifconfig lo 127.0.0.1
+ifconfig eth0 $CLIENT txqueuelen 1000
+
+echo "modifying route table..."
+route add default gw 10.0.0.1
+
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
+echo "262143" > /proc/sys/net/core/rmem_max
+echo "262143" > /proc/sys/net/core/wmem_max
+echo "262143" > /proc/sys/net/core/rmem_default
+echo "262143" > /proc/sys/net/core/wmem_default
+echo "262143" > /proc/sys/net/core/optmem_max
+echo "100000" > /proc/sys/net/core/netdev_max_backlog
+
+echo -n "waiting for server..."
+/usr/bin/netcat -c -l -p 8000
+
+BINARY=/benchmarks/netperf/netperf
+TEST="TCP_MAERTS"
+SHORT_ARGS="-l -100k"
+LONG_ARGS="-k16384,0 -K16384,0 -- -m 65536 -M 65536 -s 262144 -S 262144"
+
+
+SHORT="$BINARY -H $SERVER -t $TEST $SHORT_ARGS"
+LONG="$BINARY -H $SERVER -t $TEST $LONG_ARGS"
+
+echo "starting test..."
+echo "netperf warmup"
+echo $SHORT
+eval $SHORT
+
+echo "netperf benchmark"
+echo $LONG
+/sbin/m5 ivlb 1
+/sbin/m5 resetstats
+/sbin/m5 dumpresetstats 2000000000 2000000000
+/sbin/m5 checkpoint 2000000000 2000000000
+eval $LONG
+/sbin/m5 exit
diff --git a/configs/boot/nat-netperf-server.rcS b/configs/boot/nat-netperf-server.rcS
new file mode 100644 (file)
index 0000000..c0646b6
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+SERVER=192.168.0.1
+CLIENT=10.0.0.2
+NATBOX=192.168.0.2
+
+echo "setting up network..."
+ifconfig lo 127.0.0.1
+ifconfig eth0 $SERVER txqueuelen 1000
+
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
+echo "262143" > /proc/sys/net/core/rmem_max
+echo "262143" > /proc/sys/net/core/wmem_max
+echo "262143" > /proc/sys/net/core/rmem_default
+echo "262143" > /proc/sys/net/core/wmem_default
+echo "262143" > /proc/sys/net/core/optmem_max
+echo "100000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "running netserver..."
+/benchmarks/netperf/netserver
+
+echo -n "signal client to begin..."
+echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
+echo "done."
+
+echo "starting bash..."
+exec /bin/bash
diff --git a/configs/boot/nat-netperf-stream-client.rcS b/configs/boot/nat-netperf-stream-client.rcS
new file mode 100644 (file)
index 0000000..9e29378
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+SERVER=192.168.0.1
+CLIENT=10.0.0.2
+
+echo "setting up network..."
+ifconfig lo 127.0.0.1
+ifconfig eth0 $CLIENT txqueuelen 1000
+
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
+echo "262143" > /proc/sys/net/core/rmem_max
+echo "262143" > /proc/sys/net/core/wmem_max
+echo "262143" > /proc/sys/net/core/rmem_default
+echo "262143" > /proc/sys/net/core/wmem_default
+echo "262143" > /proc/sys/net/core/optmem_max
+echo "100000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "modifying route table"
+route add default gw 10.0.0.1
+
+echo -n "waiting for server..."
+/usr/bin/netcat -c -l -p 8000
+
+BINARY=/benchmarks/netperf/netperf
+TEST="TCP_STREAM"
+SHORT_ARGS="-l -100k"
+LONG_ARGS="-k16384,0 -K16384,0 -- -m 65536 -M 65536 -s 262144 -S 262144"
+
+
+SHORT="$BINARY -H $SERVER -t $TEST $SHORT_ARGS"
+LONG="$BINARY -H $SERVER -t $TEST $LONG_ARGS"
+
+echo "starting test..."
+echo "netperf warmup"
+echo $SHORT
+eval $SHORT
+
+echo "netperf benchmark"
+echo $LONG
+/sbin/m5 ivlb 1
+/sbin/m5 resetstats
+/sbin/m5 dumpresetstats 2000000000 2000000000
+/sbin/m5 checkpoint 2000000000 2000000000
+eval $LONG
+/sbin/m5 exit
diff --git a/configs/boot/nat-spec-surge-client.rcS b/configs/boot/nat-spec-surge-client.rcS
new file mode 100644 (file)
index 0000000..39e3e50
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# /etc/init.d/rcS
+#
+CLIENT=10.0.0.2
+SERVER=192.168.0.1
+
+echo -n "mounting swap..."
+/sbin/swapon /dev/hdc1
+echo "done."
+
+echo -n "setting up network..."
+/sbin/ifconfig eth0 $CLIENT txqueuelen 1000
+/sbin/ifconfig lo 127.0.0.1
+
+echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
+echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
+echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
+echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
+
+echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
+
+echo "524287" > /proc/sys/net/core/rmem_max
+echo "524287" > /proc/sys/net/core/wmem_max
+echo "524287" > /proc/sys/net/core/optmem_max
+echo "300000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "131072" > /proc/sys/fs/file-max
+echo "done."
+
+echo "changing route table..."
+route add default gw 10.0.0.1 
+
+echo "waiting for server..."
+/usr/bin/netcat -c -l -p 8000
+
+echo -n "running surge client..."
+/bin/bash -c "cd /benchmarks/surge && ./spec-m5 1 20 1 $SERVER 5 40000 1000000000 1000"
+echo "done."
+
+echo -n "halting machine"
+m5 exit
+
+echo -n "starting bash shell..."
+/bin/bash
diff --git a/configs/boot/nat-spec-surge-server.rcS b/configs/boot/nat-spec-surge-server.rcS
new file mode 100755 (executable)
index 0000000..39eb5be
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# /etc/init.d/rcS
+#
+NATBOX=192.168.0.7
+
+echo -n "mounting swap..."
+/sbin/swapon /dev/hdc1
+echo "done."
+
+echo -n "setting up network..."
+/sbin/ifconfig eth0 192.168.0.1 txqueuelen 1000
+/sbin/ifconfig eth0:1 192.168.0.2 txqueuelen 1000
+/sbin/ifconfig eth0:2 192.168.0.3 txqueuelen 1000
+/sbin/ifconfig eth0:3 192.168.0.4 txqueuelen 1000
+/sbin/ifconfig eth0:4 192.168.0.5 txqueuelen 1000
+/sbin/ifconfig lo 127.0.0.1
+
+echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
+echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
+echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
+echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
+
+echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
+
+echo "524287" > /proc/sys/net/core/rmem_max
+echo "524287" > /proc/sys/net/core/wmem_max
+echo "524287" > /proc/sys/net/core/optmem_max
+echo "300000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "131072" > /proc/sys/fs/file-max
+echo "done."
+
+echo -n "mounting file set..."
+mkdir -p /z/htdocs
+mount /dev/hdb1 /z/htdocs
+echo "done."
+
+echo -n "starting httpd..."
+/benchmarks/apache2/bin/apachectl start
+sleep 2
+cat /benchmarks/apache2/logs/error_log
+echo "done."
+
+echo "notifying natbox..."
+echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
+echo "done"
+
+echo -n "starting bash shell..."
+/bin/bash
diff --git a/configs/boot/natbox-netperf.rcS b/configs/boot/natbox-netperf.rcS
new file mode 100644 (file)
index 0000000..d665670
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+EXTIF=192.168.0.2
+INTIF=10.0.0.1
+CLIENT=10.0.0.2
+
+echo "setting up network..."
+ifconfig lo 127.0.0.1
+ifconfig eth0 $EXTIF txqueuelen 1000
+ifconfig eth1 $INTIF txqueuelen 1000
+
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
+echo "262143" > /proc/sys/net/core/rmem_max
+echo "262143" > /proc/sys/net/core/wmem_max
+echo "262143" > /proc/sys/net/core/rmem_default
+echo "262143" > /proc/sys/net/core/wmem_default
+echo "262143" > /proc/sys/net/core/optmem_max
+echo "100000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "1" > /proc/sys/net/ipv4/ip_forward
+
+echo "waiting for netserver..."
+/usr/bin/netcat -c -l -p 8000
+
+echo "setting up iptables..."
+IPTABLES=/sbin/iptables
+EXTIF=eth0
+INTIF=eth1
+
+$IPTABLES -P INPUT ACCEPT
+$IPTABLES -F INPUT
+$IPTABLES -P OUTPUT ACCEPT
+$IPTABLES -F OUTPUT
+$IPTABLES -P FORWARD DROP
+$IPTABLES -F FORWARD
+$IPTABLES -t nat -F
+
+$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
+$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
+$IPTABLES -A FORWARD -j LOG
+
+$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
+
+echo "informing client..."
+echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
+
+echo "starting bash..."
+exec /bin/bash
diff --git a/configs/boot/natbox-spec-surge.rcS b/configs/boot/natbox-spec-surge.rcS
new file mode 100644 (file)
index 0000000..ed74b71
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+EXTIF=192.168.0.7
+INTIF=10.0.0.1
+CLIENT=10.0.0.2
+
+echo "setting up network..."
+ifconfig lo 127.0.0.1
+ifconfig eth0 $EXTIF txqueuelen 1000
+ifconfig eth1 $INTIF txqueuelen 1000
+
+echo "0" > /proc/sys/net/ipv4/tcp_timestamps
+echo "0" > /proc/sys/net/ipv4/tcp_sack
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
+echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
+echo "262143" > /proc/sys/net/core/rmem_max
+echo "262143" > /proc/sys/net/core/wmem_max
+echo "262143" > /proc/sys/net/core/rmem_default
+echo "262143" > /proc/sys/net/core/wmem_default
+echo "262143" > /proc/sys/net/core/optmem_max
+echo "100000" > /proc/sys/net/core/netdev_max_backlog
+
+echo "1" > /proc/sys/net/ipv4/ip_forward
+
+echo "waiting for netserver..."
+/usr/bin/netcat -c -l -p 8000
+
+echo "setting up iptables..."
+IPTABLES=/sbin/iptables
+EXTIF=eth0
+INTIF=eth1
+
+$IPTABLES -P INPUT ACCEPT
+$IPTABLES -F INPUT
+$IPTABLES -P OUTPUT ACCEPT
+$IPTABLES -F OUTPUT
+$IPTABLES -P FORWARD DROP
+$IPTABLES -F FORWARD
+$IPTABLES -t nat -F
+
+$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
+$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
+$IPTABLES -A FORWARD -j LOG
+
+$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
+
+echo "informing client..."
+echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
+
+echo "starting bash..."
+exec /bin/bash
index d02241a3ed77374d3753479f189a3d8863b40f96..b7a2a12e465e990b87e623944e297a662bb47c5d 100644 (file)
@@ -32,9 +32,8 @@ echo "300000" > /proc/sys/net/core/netdev_max_backlog
 echo "131072" > /proc/sys/fs/file-max
 echo "done."
 
-echo -n "sleeping until server is running..."
-sleep 3
-echo "done."
+echo "waiting for server..."
+/usr/bin/netcat -c -l -p 8000 
 
 echo -n "running surge client..."
 /bin/bash -c "cd /benchmarks/surge && ./spec-m5 1 20 1 192.168.0.1 5 40000 1000000000 1000"
index b7e5d73c03b6893483c44d2a4ec027413b481422..61afd78bf09fad1ff0380d772adbc8904cd39a55 100755 (executable)
@@ -47,5 +47,9 @@ sleep 2
 cat /benchmarks/apache2/logs/error_log
 echo "done."
 
+echo "notifying client..."
+echo "server ready" | /usr/bin/netcat -c 192.168.0.10 8000
+echo "done"
+
 echo -n "starting bash shell..."
 /bin/bash
index 1213082f38f6164b135f9b4bc5b786c7e4fe582e..f41c13882d17ab7b4ba9a8a255cae5048aa8a740 100755 (executable)
@@ -32,9 +32,8 @@ echo "300000" > /proc/sys/net/core/netdev_max_backlog
 echo "131072" > /proc/sys/fs/file-max
 echo "done."
 
-echo -n "sleeping until server is running..."
-sleep 3
-echo "done."
+echo "waiting for server..."
+/usr/bin/netcat -c -l -p 8000
 
 echo -n "running surge client..."
 /bin/bash -c "cd /benchmarks/surge && ./Surge 2 100 1 192.168.0.1 5"
index 28e6261204e8e2348e1b65e009c59f8082aee004..75642c259b52caafdc1e9a5821a813bf1a8c974a 100755 (executable)
@@ -3,6 +3,7 @@
 # /etc/init.d/rcS
 #
 
+
 echo -n "mounting swap..."
 /sbin/swapon /dev/hdc1
 echo "done."
@@ -47,5 +48,7 @@ sleep 2
 cat /benchmarks/apache2/logs/error_log
 echo "done."
 
+echo "server ready" | /usr/bin/netcat -c 192.168.10 8000
+
 echo -n "starting bash shell..."
 /bin/bash