Skip to content

Instantly share code, notes, and snippets.

@kay21s
Last active August 17, 2017 13:23
Show Gist options
  • Save kay21s/eba0a1dc69779c38bc0a47c9e6f3af7f to your computer and use it in GitHub Desktop.
Save kay21s/eba0a1dc69779c38bc0a47c9e6f3af7f to your computer and use it in GitHub Desktop.
Poseidon CMD
====== SETUP =======
echo export RTE_SDK=$(pwd) >> ~/.bashrc
echo export RTE_TARGET=x86_64-native-linuxapp-gcc >> ~/.bashrc
source ~/.bashrc
======  END  =======
cores = [0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13]
sockets = [0]
Socket 0
--------
Core 0 [0, 12]
Core 1 [1, 13]
Core 2 [2, 14]
Core 3 [3, 15]
Core 4 [4, 16]
Core 5 [5, 17]
Core 8 [6, 18]
Core 9 [7, 19]
Core 10 [8, 20]
Core 11 [9, 21]
Core 12 [10, 22]
Core 13 [11, 23]
sudo $SCRIPTPATH/$RTE_TARGET/onvm_mgr -l $cpu -n 4 --proc-type=primary -- -p${ports}
sudo gdb onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr
set args -l 0,1,2,3 -n 4 --proc-type=primary --log-level 7 -- -p1
set args -l 0,1,2,3,4 -n 4 --proc-type=primary --log-level 7 -- -p1
sudo gdb ./build/pktgen
set args -l 9 -n 4 --proc-type=secondary
sudo onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,1,2,3,4 -n 4 --proc-type=primary -- -p1
sudo ./build/pktgen -l 6 -n 4 --proc-type=secondary --log-level 8
sudo gdb ./build/ipv4fwd
set args -c 0x1f0 -n 4 --proc-type=secondary --log-level 7 -- -k 4
set args -l 4,5,6,7,8 -n 4 --proc-type=secondary --log-level 7 -- -k 4
set args -l 5,6,7,8 -n 4 --proc-type=secondary --log-level 7 -- -k 3
set args -l 5,6,7 -n 4 --proc-type=secondary --log-level 7 -- -k 2
set args -l 5,6 -n 4 --proc-type=secondary --log-level 7 -- -k 1
sudo ./build/ipv4fwd -l 5 -n 4 --proc-type=secondary --log-level 7
sudo ./docker.sh -h /dev/hugepages/ -o /home/kai/secret/ -n router -D /dev/uio0
# 4 nfs -- 1 rx, 4 tx, 1 scheduler, 1 manager = 7 cores. GPU scheduler in each NF runs together with its RX thread
=====================================================================================================================================
sudo /home/kai/secret/onvm/onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,1,2,15,17,19,21 -n 4 --proc-type=primary -- -p1
./go.sh 3 1
./go.sh 5 1
./go.sh 7 1
./go.sh 9 1
>> hyperthreading version
1) Low perf: launcher with 1 worker on a physical core, TX with 1 worker on a physical core
launch sequence: scheduler, manager, rx, tx
sudo /home/kai/secret/onvm/onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,12,13,14,16,18,20,22 -n 4 --proc-type=primary -- -p1
sudo /home/kai/secret/firewall/build/firewall -l 3,4,15 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/nids/build/nids -l 5,6,17 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/ipsec/build/ipsec -l 7,8,19 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/router/build/router -l 9,10,21 -n 4 --proc-type=secondary -- -k 2
2) High perf:
tx1, tx2, tx3 runs on core 1,2,3 independently, tx4 runs with a worker thread
0-scheduler, 12-manager
1-tx1, 2-tx2, 3-tx3, 4-tx10, 17-rx1, 19-rx2
NF1: 4-launcher, 5-worker1 (with 17-rx1), 16-worker2 (with 4-launcher)
NF2: 6-launcher, 7-worker1 (with 19-rx1), 18-worker2 (with 6-launcher)
NF3: 8-launcher, 9-worker1 (with 21-launcher from NF4), 20-worker2 (with 8-launcher)
NF4: 21-launcher, 22-worker1 (with 10-tx4), 23-worker2
sudo /home/kai/secret/onvm/onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,1,2,3,10,12,17,19 -n 4 --proc-type=primary -- -p1
sudo /home/kai/secret/firewall/build/firewall -l 4,5,16 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/nids/build/nids -l 6,7,18 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/ipsec/build/ipsec -l 8,9,20 -n 4 --proc-type=secondary -- -k 2
sudo /home/kai/secret/router/build/router -l 21,22,23 -n 4 --proc-type=secondary -- -k 2
# 3 nfs -- 1 rx, 3 tx, 1 scheduler, 1 manager = 6 cores
=====================================================================================================================================
./go.sh 6
./go.sh 6 1
./go.sh 8 1
./go.sh 10 1
>> hyperthreading version
scheduler and manager works on the same core
3 TX threads work on 3 cores
For each NF, RX thread runs with a launcher
2 worker works on 2 cores independently
launch sequence: scheduler, manager, tx, rx
0-scheduler, 12-manager
13-tx1, 14-tx2, 15-tx3
18-rx1, 21-rx2
3-launcher1(with 15-tx3), 4-worker1, 5-worker2
6-launcher1(with 18-rx1), 7-worker1, 8-worker2
9-launcher1(with 21-rx2), 10-worker1, 11-worker2
sudo /home/kai/secret/onvm/onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,12,13,14,15,18,21 -n 4 --proc-type=primary -- -p1
./go.sh 3 2
./go.sh 6 2
./go.sh 9 2
#2 nfs -- 2 rx, 2 tx, 1 scheduler, 1 manager = 6 cores
=====================================================================================================================================
./go.sh 6
./go.sh 6 2
./go.sh 9 2
>> hyperthreading version
launch sequence: scheduler, manager, tx, rx
RX1 and RX2 runs together with a launcher, respectively
0-scheduler, 12-manager, 13-tx1, 14-tx2, 15-rx1, 19-rx2, 23-rx3
nf1: 3-laucher (with 15-rx1), 4-worker1, 5-worker2, 6-worker3
nf2: 7-laucher (with 19-rx2), 8-worker1, 9-worker2, 10-worker3
sudo /home/kai/secret/onvm/onvm_mgr/onvm_mgr/x86_64-native-linuxapp-gcc/onvm_mgr -l 0,12,13,14,15,19,23 -n 4 --proc-type=primary -- -p1
./go.sh 3 3
./go.sh 7 3
./build/router -l 4,5 -n 4 --proc-type=secondary --log-level 7 -- -k 1
sudo ./docker.sh -h /dev/hugepages/ -o /home/kai/secret/ -n router -D /dev/uio0
sudo ./docker.sh -h /mnt/huge/ -o /home/kai/secret/ -n router -D /dev/uio0
sudo ./docker.sh -h /mnt/huge/ -o /home/kai/secret/ -n nids -D /dev/uio0
sudo ./docker.sh -h /mnt/huge/ -o /home/kai/secret/ -n ipsec -D /dev/uio0
sudo find . -name "rtemap*" -print0 | sudo xargs -0 rm
nvidia-smi -ac 5005,1911
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment