prototype-cjdns-pi
prototype-cjdns-pi copied to clipboard
CJDNS Version bump - (Testing Needed)
Talked to CJD and confirmed that the -O2 issue is fixed ( Issue #165 )
Can we test to confirm its fixed.
Test using raspberry pi 3b using tbase100 Ethernet
gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
Clear over ipv4
[ 4] 0.00-1.00 sec 11.2 MBytes 94.2 Mbits/sec 0 33.9 KBytes
[ 4] 1.00-2.00 sec 11.2 MBytes 93.6 Mbits/sec 0 35.4 KBytes
[ 4] 2.00-3.00 sec 11.2 MBytes 94.2 Mbits/sec 0 35.4 KBytes
[ 4] 3.00-4.00 sec 11.2 MBytes 94.1 Mbits/sec 0 35.4 KBytes
[ 4] 4.00-5.00 sec 11.2 MBytes 94.1 Mbits/sec 0 35.4 KBytes
[ 4] 5.00-6.00 sec 11.2 MBytes 94.2 Mbits/sec 0 35.4 KBytes
CJDNS binary compiled with prototype on
sudo CFLAGS="-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard" ./do
[ 4] 0.00-1.00 sec 4.35 MBytes 36.5 Mbits/sec 0 205 KBytes
[ 4] 1.00-2.00 sec 4.28 MBytes 35.9 Mbits/sec 0 391 KBytes
[ 4] 2.00-3.00 sec 4.22 MBytes 35.4 Mbits/sec 0 576 KBytes
[ 4] 3.00-4.00 sec 2.81 MBytes 23.5 Mbits/sec 27 443 KBytes
CJDNS binary compiled on orange pi one
CJDNS_BUILD_CMD="sudo Seccomp_NO=1 CFLAGS=\"-s -static -Wall -mfpu=neon-vfpv4\" ./do"
source
gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
[ 4] 0.00-1.00 sec 7.33 MBytes 61.4 Mbits/sec 0 333 KBytes
[ 4] 1.00-2.00 sec 6.05 MBytes 50.7 Mbits/sec 22 420 KBytes
[ 4] 2.00-3.00 sec 5.80 MBytes 48.7 Mbits/sec 4 478 KBytes
[ 4] 3.00-4.00 sec 5.93 MBytes 49.7 Mbits/sec 0 527 KBytes
[ 4] 4.00-5.00 sec 5.80 MBytes 48.6 Mbits/sec 0 563 KBytes
In comparison same binary on Orange Pi One (which is slower then the rpi)
[ 4] 21.00-22.00 sec 7.94 MBytes 66.6 Mbits/sec 0 604 KBytes
[ 4] 22.00-23.00 sec 8.92 MBytes 74.8 Mbits/sec 2 450 KBytes
[ 4] 23.00-24.00 sec 7.94 MBytes 66.7 Mbits/sec 0 481 KBytes
[ 4] 24.00-25.00 sec 7.94 MBytes 66.6 Mbits/sec 0 502 KBytes
[ 4] 25.00-26.00 sec 8.74 MBytes 73.3 Mbits/sec 0 511 KBytes
[ 4] 26.00-27.00 sec 7.94 MBytes 66.6 Mbits/sec 0 515 KBytes
[ 4] 27.00-28.00 sec 7.94 MBytes 66.6 Mbits/sec 0 515 KBytes
What is this on?
CJDNS binary compiled with prototype on sudo CFLAGS="-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard" ./do
If it's rpi3b why is it so slow?
Can we test to confirm its fixed.
What needs to happen before we can merge this?
-O2 issues seems to be fixed
CJDNS is preforming really poorly (not meeting recorded benchmarks at all.
Two things we should check
-
Test past versions of CJDNS to see if they can preform as well ass they used to
-
[ ] Initial
TAG_CJDNS=cjdns-v19.1 -
[ ] Oct 28, 2017
TAG_CJDNS=186169f9a8631633795e4e9d70c501519a7800f4 -
[ ] Current Develop
d2e55d58548d83940482fe1bbbe1fd36f7f1b4ef -
[ ] Proposed Fix
a86c3e147b5e3eefbbe2c94c8c5aded57e3dfbaf -
Test compile strings from previous releases to see if that is the issue
-
[ ] Initial
CJDNS_BUILD_CMD="sudo NO_TEST=1 CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard\" ./do" -
[ ] Oct 28 2017
CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do" -
[ ] -O2 Workaround -
CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do" -
[ ] Proposed Fix
CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard\" ./do"
Test where done against a i7 test point
-
Test Pi 3 and 3b+ to see if thats the issue
-
Test to see if IPFS is hogging the cpu more then it used to
Needs nodejs installed (apt-get install -y nodejs)
Phase one compile script
CJDNS_BUILD_CMD="sudo CFLAGS=\"-march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2\" ./do"
#CJDNS_BUILD_CMD="sudo ./do"
TAG_CJDNS=cjdns-v19.1
ID=1
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD
cd ..
TAG_CJDNS=186169f9a8631633795e4e9d70c501519a7800f4
ID=2
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD
cd ..
TAG_CJDNS=d2e55d58548d83940482fe1bbbe1fd36f7f1b4ef
ID=3
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD
cd ..
TAG_CJDNS=a86c3e147b5e3eefbbe2c94c8c5aded57e3dfbaf
ID=4
sudo git clone https://github.com/cjdelisle/cjdns.git cjdns$ID
cd cjdns$ID
eval $CJDNS_BUILD_CMD
cd ..
cp cjdns1/cjdroute cjdroute1
cp cjdns2/cjdroute cjdroute2
cp cjdns3/cjdroute cjdroute3
cp cjdns4/cjdroute cjdroute4
First round of testing
Result 1
[ 4] 0.00-30.00 sec 180 MBytes 50.3 Mbits/sec 31 sender
[ 4] 0.00-30.00 sec 178 MBytes 49.9 Mbits/sec receiver
Result 2
[ 4] 0.00-30.00 sec 142 MBytes 39.7 Mbits/sec 538 sender
[ 4] 0.00-30.00 sec 140 MBytes 39.3 Mbits/sec receiver
Result 3
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-30.00 sec 185 MBytes 51.6 Mbits/sec 28 sender
[ 4] 0.00-30.00 sec 183 MBytes 51.1 Mbits/sec receiver
Restul 4
[ 4] 0.00-30.00 sec 186 MBytes 51.9 Mbits/sec 38 sender
[ 4] 0.00-30.00 sec 184 MBytes 51.4 Mbits/sec receiver
What's going on with this now? What CJDNS version should we update too and test now?
Do we want to do something with this before #291 gets merged?
Do we want to do something with this before #291 gets merged?
Depends if we can get an answer.. right now its an enigma!
Shall we merge this for v0.4?
Test Script Replace ID with 1 2 3 or 4
TARGET="fc......"
ID=1
sudo ./cjdroute$ID < test.conf
sudo sleep 2
sudo ./cjdroute$ID --bench | grep Benchmark\
sudo iperf3 -c $TARGET
sudo killall cjdroute$ID
bumped to latest because it would not compile anymore