DE0 Nano SoC DE0 Nano SoC - CPU Performance and Power While Running Debian 19 th March 2017 - Satyen Akolkar Group 5 - AR Internet of Things By: Satyen Akolkar OVERVIEW The benchmark was performed by using the sysbench utility. This is a linux CPU benchmark utility where we can specify the number of threads to utilize in order to do the request processing. The utility is not perfect as it only tests for certain CPU features. The benchmark makes the CPU verify prime numbers by dividing them by numbers from 2 up to the square root of the number. The max requests signifies the largest number that should be checked for primality. We ran the benchmark on both the ARM Cortex A9 on the DE0 Nano SoC and my laptop running an Intel i7-6700hq. We kept the number of threads for the benchmark at 2 since the ARM is Dual Core and not give an advantage to the i7 for its quad cores. Result: We can expect a CPU intensive algorithm to run 55x slower on the ARM Cortex A9 on the DE0 Nano SoC than on an i7. We measured power consumption for the board in several states of operation. On the FPGA side there are no Nios II cores only the base components required to perform communication between the FPGA and the HPS. With minimal components on the FPGA side you can expect around 4 Watts when the Debian OS is running. 1
METHOD The following sample shows the method of running the benchmark with max requests being 5000. debian@socsystem:~$ sysbench --test=cpu --max-requests=5000 --num-threads=2 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 2 Doing CPU performance benchmark Threads started! Done. imum prime number checked in CPU test: 10000 Test execution summary: total time: 123.7601s total number of events: 5000 total time taken by event execution: 247.4922 per-request statistics: min: 35.29ms avg: 49.50ms max: 77.63ms approx. 95 percentile: 56.52ms Threads fairness: events (avg/stddev): 2500.0000/0.00 execution time (avg/stddev): 123.7461/0.00 2
RAW DATA Time to Process Requests on ARM Cortex A9 (DE0 Nano SoC [Dual Core]) Time (s) 24.74 49.47 74.21 98.95 123.70 148.43 173.17 197.91 222.64 247.38 24.74 49.48 74.21 98.96 24.73 49.51 74.21 98.96 24.76 49.51 24.74 49.47 Average(s) 24.74 49.49 74.21 98.96 123.70 148.43 173.17 197.91 222.64 247.38 The large requests were taking too long, there was little variance between runs, and the CPU started getting very hot so only one run was done for these. Time to Process Requests on Intel Core i7-6700hq [Quad Core - Hyperthreaded] Time (s) 0.47 0.89 1.34 1.82 2.27 2.69 3.18 3.50 4.08 4.53 0.44 0.88 1.32 1.77 2.22 2.66 3.10 3.55 3.98 4.42 0.44 0.90 1.38 1.81 2.26 2.66 3.09 3.55 3.98 4.40 0.44 0.90 1.35 1.81 2.20 2.66 3.11 3.54 4.00 4.41 0.44 0.91 1.37 1.80 2.24 2.67 3.15 3.54 4.08 4.37 Average(s) 0.45 0.89 1.35 1.80 2.24 2.67 3.13 3.54 4.02 4.43 RESULTS Performance of DE0 Nano SoC CPU Compared to Core i7 Relative Performance 1.82% 1.80% 1.82% 1.82% 1.81% 1.80% 1.81% 1.79% 1.81% 1.79% Slowdown 55.1 55.4 54.9 55.0 55.3 55.6 55.4 56.0 55.3 55.9 3
The blue dots are the time taken on the ARM Cortex A9. The Red dots are the time taken on the Core i7. MODES OF OPERATION Different power consumptions under various operations. Mode of Operation Voltage (V) Current (A) Watts (W) Debian System 4.94 0.85 4.199 Debian System Min 4.94 0.76 3.75 Debian Shutdown 4.94 0.70 3.45 These are the modes of operation of our FPGA. Running at maximum power there is a difference of 0.45W than running at minimum and 0.75W with the linux turned off. We test the maximum power consumption by running the benchmarking program. Minimum system load occurs when we run the server in normal state. Debian Shutdown mode is where we have completely turned off the linux and the system is idle. 4
REFERENCES [1]"Sysbench - Gentoo Wiki", Wiki.gentoo.org, 2017. [Online]. Available: https://wiki.gentoo.org/wiki/sysbench. [Accessed: 19- Mar- 2017]. 5