execute_perf.sh: "Error opening counter cycles"
alihadian opened this issue · comments
The execute_perf.sh
benchmark does not run (Ubuntu 18.04, followed all README instructions).
Is there any extra package/tool that needs to be installed?
Here is the output:
SOSD$ scripts/execute_perf.sh
Executing perf benchmark and saving results...
Executing workload normal_200M_uint32
Repeating lookup code 1 time(s).
read 200000000 values from ./data/normal_200M_uint32 in 1974 ms (101.317 M values/s)
data is unique
read 1000000 values from ./data/normal_200M_uint32_equality_lookups_1M in 37 ms (27.027 M values/s)
Error opening counter cycles
index, time sec,
RESULT: Oracle, 0.00,
Error opening counter cycles
RESULT: rmi, 0.07,
Error opening counter cycles
RESULT: RadixSpline, 0.06,
Error opening counter cycles
RESULT: BinarySearch, 0.81,
Error opening counter cycles
RESULT: InterpolationSearch, 10.93,
Error opening counter cycles
RESULT: RadixBinarySearch18, 0.33,
Error opening counter cycles
RESULT: FAST, 0.30,
Error opening counter cycles
RESULT: ART, 0.24,
Error opening counter cycles
RESULT: TIP, 0.97,
Error opening counter cycles
RESULT: stx::btree_multimap, 0.48,
Yes, a local machine with Ubuntu 18. Everything works fine except execute_perf.sh
.
I suspect there is another package/tool/config required by the perf benchmark that is NOT in setup_anywhere.sh
??
Hi Ali,
Sorry for the trouble!
I believe the Ubuntu package you need it linux-tools-common
. Not sure if that's in the setup script or not.
The default configuration on some distributions restricts perf counter access to superusers. Can you try running the script with sudo
?
If none of that works, try just running perf record build/benchmark build/lognormal_200M_uint64 data/lognormal_200M_uint64_equality_lookups_10M
to see why perf
isn't running on your machine.
Thanks,
Ryan
Thanks guys! It works with sudo