dpdk_netperf: more README and config files

This commit is contained in:
Amy Ousterhout 2019-01-24 13:13:45 -05:00
parent 8f394206a3
commit 254e82f73f
3 changed files with 50 additions and 3 deletions

6
apps/bench/stress.config Normal file
View File

@ -0,0 +1,6 @@
# an example runtime config file for filling all unused cores
# (assuming 24 total available) with batch work
host_addr 192.168.1.111
host_netmask 255.255.255.0
host_gateway 192.168.1.1
runtime_kthreads 22

6
apps/bench/waking.config Normal file
View File

@ -0,0 +1,6 @@
# an example runtime config file
host_addr 192.168.1.2
host_netmask 255.255.255.0
host_gateway 192.168.1.1
runtime_kthreads 1
runtime_guaranteed_kthreads 1

View File

@ -1,8 +1,10 @@
# Latency Benchmarks
First build DPDK (without driver modifications), then build
dpdk_netperf in this directory with `make clean && make`. To run the
benchmark:
dpdk_netperf in this directory with `make clean && make`.
## DPDK only
To run the benchmark with pure DPDK on both machines:
On the server (IP 192.168.1.2):
```
@ -11,5 +13,38 @@ sudo ./build/dpdk_netperf -l2 --socket-mem=128 -- UDP_SERVER 192.168.1.2
On the client (IP 192.168.1.3):
```
sudo ./build/dpdk_netperf -l2 --socket-mem=128 -- UDP_CLIENT 192.168.1.3 192.168.1.2 50000 8000 5 32
sudo ./build/dpdk_netperf -l2 --socket-mem=128 -- UDP_CLIENT 192.168.1.3 192.168.1.2 50000 8001 10 8
```
## Shenango spinning (IOKernel + runtime)
To run Shenango with the server runtime thread spinning, start the
IOKernel and then in `shenango/apps/bench`:
```
./netbench_udp tbench.config server
```
Then run the client as above.
## Shenango waking (IOKernel + runtime + wakeup)
To run with Shenango in its default mode but no batch work, start the
IOKernel and then in `shenango/apps/bench`:
```
./netbench_udp waking.config server
```
Then run the client as above.
## Shenango preempting (IOKernel + runtime + wakeup + preemption)
To run Shenango with a batch application running concurrently, start
the IOKernel and then in `shenango/apps/bench`:
```
./stress stress.config 100 100 sqrt
./netbench_udp waking.config server
```
Then run the client as above. If your server does not have 24
hyperthreads, you will need to adjust `runtime_kthreads` in
stress.config to be 2 fewer than the number of hyperthreads on your
server.