Тестирование Khadas VIM3 в Linux и сравнение с Raspberry Pi 4

В июле этого года появилась первая часть обзора SBC Khadas VIM3 с процессором Amlogic A311D и примерно месяц назад этот одноплатный компьютер был протестирован с Android, а также было рассмотрено в какие игры на нем можно играть.

Производительность графики и общие результаты тестов в Android были довольно хорошие, особенно те результаты, которые были получены с радиатором для охлаждения, поскольку они соответствовали собственным результатам Khadas с радиатором + вентилятором. Поэтому сейчас будет установлена последняя версия Ubuntu 18.04, доступная на тот момент (19 июля) для того, чтобы повторить все тесты в Linux и посмотреть, какие будут результаты.

Системная информация в Ubuntu 18.04:

khadas@Khadas:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
khadas@Khadas:~$ uname -a
Linux Khadas 4.9.179 #73 SMP PREEMPT Fri Jul 19 09:56:46 CST 2019 aarch64 aarch64 aarch64 GNU/Linux
khadas@Khadas:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            305M     0  305M   0% /dev
tmpfs           187M  9.5M  177M   6% /run
/dev/rootfs      15G  2.6G   12G  19% /
tmpfs           931M     0  931M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           931M     0  931M   0% /sys/fs/cgroup
tmpfs           187M   12K  187M   1% /run/user/1000
khadas@Khadas:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1861         358        1100          10         402        1479
Swap:           930           0         930

Была попытка установить armbianmonitor, чтобы нарисовать несколько хороших графиков температуры, как это было сделано с Raspberry Pi 4:

wget https://github.com/armbian/build/raw/master/packages/bsp/common/usr/bin/armbianmonitor
sudo cp armbianmonitor /usr/bin/
sudo chmod +x /usr/bin/armbianmonitor
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
sudo armbianmonitor -r

Но при установке появилась ошибка:

sudo armbianmonitor -r
Installing RPi-Monitor. This can take up to 5 minutes. Be patient please/usr/bin/armbianmonitor: line 189: /etc/armbian-release: No such file or directory

Now you're able to enjoy RPi-Monitor at http://192.168.1.8:8888

И не смотря на то, что можно загрузить веб-страницу с отображением верхнего меню, она не будет показывать никаких данных, поскольку, вероятно, она работает только на Armbian.

SBC Bench на Khadas VIM3

Теперь давайте скачаем SBC Bench:

wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh

Обратите внимание, что пришлось закомментировать CheckLoad в скрипте, потому что среднее значение процессора Amlogic будет сходиться к 1,0 вместо 0,0 в режиме бездействия. Это происходило и на ODROID-N2. Теперь можно запустить тест на VIM3 с предустановленным радиатором:

sudo /bin/bash ./sbc-bench.sh -c
sbc-bench v0.6.8

Installing needed tools. This may take some time... Done.
Checking cpufreq OPP... Done.
Executing tinymembench. This will take a long time... Done.
Executing OpenSSL benchmark. This will take 3 minutes... Done.
Executing 7-zip benchmark. This will take a long time... Done.
Executing cpuminer. This will take 5 minutes... Done.
Checking cpufreq OPP... Done.

./sbc-bench.sh: line 802: [: too many arguments
./sbc-bench.sh: line 805: 80
67817 - 80
532 : syntax error in expression (error token is "67817 - 80
532 ")
ATTENTION: Throttling might have occured on CPUs 0-3. Check the log for details.

./sbc-bench.sh: line 802: [: too many arguments
./sbc-bench.sh: line 805: 84
28235 - 84
69 : syntax error in expression (error token is "28235 - 84
69 ")
ATTENTION: Throttling might have occured on CPUs 4-5. Check the log for details.

Memory performance (big.LITTLE cores measured individually):
memcpy: 2130.6 MB/s 
memset: 7418.0 MB/s 
memcpy: 5036.1 MB/s 
memset: 8135.3 MB/s (0.9%)

Cpuminer total scores (5 minutes execution): 6.91,6.90,6.89,6.88,6.87,6.86,6.85,6.84,6.82,6.79,6.76,6.71,6.64 kH/s

7-zip total scores (3 consecutive runs): 5754,5448,5306

OpenSSL results (big.LITTLE cores measured individually):
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc     158465.23k   470183.21k   901837.14k  1210448.55k  1344091.48k  1352657.58k
aes-128-cbc     359546.09k   862461.76k  1355292.42k  1570375.34k  1650657.96k  1652086.10k
aes-192-cbc     149392.59k   415316.37k   736699.48k   933361.66k  1011316.05k  1016801.96k
aes-192-cbc     330477.60k   734483.16k  1031148.89k  1200931.16k  1248881.32k  1238275.41k
aes-256-cbc     146340.63k   382336.90k   638294.87k   780882.94k   834742.95k   838423.89k
aes-256-cbc     309884.73k   654790.34k   929396.14k  1037305.51k  1057524.39k  1061644.97k

Unable to upload full test results. Please copy&paste the below stuff to pastebin.com and
provide the URL. Check the output for throttling and swapping please.

Были некоторые ошибки, но тест завершен и полные результаты можно посмотреть здесь. Выглядит не очень, с большим количеством пропусков тактов (троттлинга):

System health while running 7-zip multi core benchmark:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
19:29:07: 2208/1398MHz  5.87   4%   0%   3%   0%   0%   0%  72.0°C
19:29:29: 1000/1000MHz  6.26  84%   1%  83%   0%   0%   0%  73.0°C
19:29:50: 1000/1000MHz  6.40  91%   1%  90%   0%   0%   0%  72.9°C
19:30:11: 1200/1200MHz  6.64  87%   2%  85%   0%   0%   0%  72.6°C
19:30:32: 1000/1000MHz  6.38  86%   1%  85%   0%   0%   0%  72.7°C
19:30:53: 1200/1000MHz  6.29  87%   0%  86%   0%   0%   0%  72.7°C
19:31:13: 1000/1000MHz  6.24  88%   1%  86%   0%   0%   0%  72.8°C
19:31:33: 1000/1200MHz  6.66  93%   2%  91%   0%   0%   0%  72.7°C
19:31:55: 1000/1000MHz  6.47  85%   1%  84%   0%   0%   0%  72.5°C
19:32:15: 1200/1200MHz  6.23  86%   1%  85%   0%   0%   0%  72.3°C
19:32:35: 1000/1200MHz  6.58  87%   1%  85%   0%   0%   0%  72.5°C
19:32:56: 1000/1200MHz  6.82  94%   2%  92%   0%   0%   0%  72.4°C
 
System health while running cpuminer:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
19:33:06: 2208/1398MHz  6.53   7%   0%   6%   0%   0%   0%  72.7°C
19:33:27: 1000/1000MHz  6.80  99%   0%  99%   0%   0%   0%  72.7°C
19:33:49: 1000/1000MHz  6.86 100%   0%  99%   0%   0%   0%  72.2°C
19:34:10: 1000/1000MHz  6.96 100%   0%  99%   0%   0%   0%  72.5°C
19:34:32: 1200/1000MHz  7.10 100%   0%  99%   0%   0%   0%  72.6°C
19:34:53: 1200/1200MHz  7.07 100%   0%  99%   0%   0%   0%  72.6°C
19:35:14: 1000/1000MHz  7.12 100%   0%  99%   0%   0%   0%  72.6°C
19:35:36: 1000/1000MHz  7.08 100%   0%  99%   0%   0%   0%  72.1°C
19:35:57: 1200/1200MHz  7.17 100%   0%  99%   0%   0%   0%  72.5°C
19:36:18: 1000/1200MHz  7.20 100%   0%  99%   0%   0%   0%  72.5°C
19:36:40: 1000/1000MHz  7.14 100%   0%  99%   0%   0%   0%  72.6°C
19:37:01: 1000/1000MHz  7.17 100%   0%  99%   0%   0%   0%  72.5°C
19:37:23: 1000/1000MHz  7.33 100%   0%  99%   0%   0%   0%  72.2°C
19:37:45: 1200/1000MHz  7.23 100%   0%  99%   0%   0%   0%  72.2°C
 
Throttling statistics (time spent on each cpufreq OPP) for CPUs 0-3:
 
1800 MHz:  730.53 sec
1704 MHz:    1.87 sec
1608 MHz:    0.63 sec
1512 MHz:    2.49 sec
1398 MHz:   11.03 sec
1200 MHz:  264.31 sec
1000 MHz:  672.85 sec
 667 MHz:       0 sec
 500 MHz:       0 sec
 250 MHz:       0 sec
 100 MHz:         sec
 
Throttling statistics (time spent on each cpufreq OPP) for CPUs 4-5:
 
2208 MHz:  962.30 sec
2100 MHz:   72.99 sec
2016 MHz:   51.18 sec
1908 MHz:   47.23 sec
1800 MHz:    9.68 sec
1704 MHz:    5.51 sec
1608 MHz:    8.84 sec
1512 MHz:    9.15 sec
1398 MHz:    2.29 sec
1200 MHz:  232.89 sec
1000 MHz:  281.66 sec
 667 MHz:       0 sec
 500 MHz:       0 sec
 250 MHz:       0 sec
 100 MHz:         sec

Если сравнить результаты с Raspberry Pi 4 с радиатором и без него, то видно, что-то не так с многопоточным 7-zip тестом:

Чем выше, тем лучше. Единицы измерения: 7-zip: MIPS; memset / memcpy: Мб / сек

результаты memset и memcpy довольно хороши, поскольку являются однопоточными, а вот AES примерно в 10 раз быстрее на VIM3.

кило хешей в секунду

Если вам интересно, почему так, вот подсказка:

file /usr/bin/apt
/usr/bin/apt: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.7.0, BuildID[sha1]=3beb63c750eae93ef7ee09743cb01578d5f32262, stripped

Khadas VIM3 работает под управлением Ubuntu 18.04 64-бит, тогда как RPi 4 под Debian 10 32-бит, это означает, что он может использовать криптографические расширения Armv8, тогда как плата Raspberry Pi не может. Стоит обратить внимание, что это может повлиять только в некоторых решениях.

Самое удивительно, что температура никогда не поднималась выше 73°C и компания Khadas утверждает, что у платы может начаться троттлинг, если температура достигает 75°C. По каким-то причинам система с радиатором работает на полную в Android, но в Linux, похоже, нужно дополнительно охлаждении. Для справки: процессор Broadcom BCM2711 в Raspberry Pi может нагреваться до 85°C, поэтому пока не понятно, проявляет ли компания Amlogic особую предосторожность в данном случае.

Установка вентилятора на Khadas VIM3

Тем не менее, компания предлагает опционально охлаждающий вентилятор 3705, который был специально разработан для их плат VIM и Edge. Он продается в их магазине за $14.95.

Нажмите, чтобы увеличить

Вентилятор имеет четыре провода, поскольку он управляется с помощью ШИМ, это означает, что его можно отключить и / или можно регулировать скорость в зависимости от температуры или пользовательских настроек.

Он поставляться с четырьмя винтами, которые нужны для крепления к радиатору.

Далее радиатор нужно установить на SBC, а также подключить кабель к 4-контактному разъему вентилятора.

Теперь можно установить верхнюю крышку корпуса и прикрутить ее. Для примечания, плата не использовалась некоторое время, поэтому давайте попробуем обновить систему следующим образом:

sudo apt update
sudo apt dist-upgrade
sudo reboot

Система обновилась с Ubuntu 18.04.2 до Ubuntu 18.04.3 и начала загружаться, но с некоторыми забавными цветами на дисплее.

Оказывается, это все было потому, что пакет u-boot изменил имя и не был автоматически обновлен. Поэтому был переустановлен вручную:

sudo apt install --reinstall linux-u-boot-vim3-vendor
sudo reboot

После переустановки тест был запущен снова:

sudo /bin/bash ./sbc-bench.sh -c
[sudo] password for khadas: 
sbc-bench v0.6.8

Installing needed tools. This may take some time... Done.
Checking cpufreq OPP... Done.
Executing tinymembench. This will take a long time... Done.
Executing OpenSSL benchmark. This will take 3 minutes... Done.
Executing 7-zip benchmark. This will take a long time... Done.
Executing cpuminer. This will take 5 minutes... Done.
Checking cpufreq OPP... Done.

ATTENTION: Throttling might have occured on CPUs 4-5. Check the log for details.

Memory performance (big.LITTLE cores measured individually):
memcpy: 2049.4 MB/s 
memset: 7360.1 MB/s 
memcpy: 5037.7 MB/s 
memset: 9321.2 MB/s (1.0%)

Cpuminer total scores (5 minutes execution): 13.10,13.09,13.08,13.07,13.05,12.99 kH/s

7-zip total scores (3 consecutive runs): 8589,8589,8588

OpenSSL results (big.LITTLE cores measured individually):
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc     158488.14k   470345.41k   902567.51k  1210803.88k  1344648.53k  1353383.94k
aes-128-cbc     391893.01k   963920.28k  1460022.19k  1667237.21k  1752132.27k  1758445.57k
aes-192-cbc     150968.87k   418386.50k   736863.49k   933591.72k  1012277.25k  1017271.64k
aes-192-cbc     363905.69k   858793.26k  1226616.66k  1399928.83k  1461602.99k  1466078.55k
aes-256-cbc     146373.89k   385097.66k   638347.43k   781122.56k   835392.85k   837626.54k
aes-256-cbc     351193.97k   784096.90k  1094371.67k  1208373.93k  1253968.55k  1257248.09k

Full results uploaded to http://ix.io/1U7s. Please check the log for anomalies (e.g. swapping
or throttling happenend) and otherwise share this URL.

Это больше похоже на то, что sbc-bench обнаружил троттлинг в big ядрах:

System health while running 7-zip multi core benchmark:

Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
10:28:41: 2208/1800MHz  5.83  12%   0%  12%   0%   0%   0%  51.2°C
10:29:02: 2208/1800MHz  6.00  77%   1%  75%   0%   0%   0%  65.1°C
10:29:22: 2208/1800MHz  6.36  85%   1%  84%   0%   0%   0%  66.1°C
10:29:43: 2208/1800MHz  6.17  84%   1%  83%   0%   0%   0%  71.3°C
10:30:03: 2208/1800MHz  6.56  85%   1%  83%   0%   0%   0%  69.7°C
10:30:24: 2208/1800MHz  6.44  87%   1%  86%   0%   0%   0%  62.3°C
10:30:45: 2208/1800MHz  6.26  79%   1%  78%   0%   0%   0%  69.6°C
10:31:05: 2208/1800MHz  5.89  81%   1%  79%   0%   0%   0%  63.2°C

System health while running cpuminer:

Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
10:31:24: 2208/1800MHz  6.27  18%   0%  18%   0%   0%   0%  59.5°C
10:31:45: 2208/1800MHz  6.54  99%   0%  99%   0%   0%   0%  71.3°C
10:32:06: 2208/1800MHz  6.67 100%   0%  99%   0%   0%   0%  71.5°C
10:32:26: 2208/1800MHz  6.77 100%   0%  99%   0%   0%   0%  71.3°C
10:32:47: 2208/1800MHz  6.91 100%   0%  99%   0%   0%   0%  71.3°C
10:33:08: 2208/1800MHz  6.93 100%   0%  99%   0%   0%   0%  71.2°C
10:33:29: 2208/1800MHz  7.03 100%   0%  99%   0%   0%   0%  71.2°C
10:33:50: 2208/1800MHz  7.02 100%   0%  99%   0%   0%   0%  71.2°C
10:34:11: 2208/1800MHz  7.02 100%   0%  99%   0%   0%   0%  71.2°C
10:34:31: 2208/1800MHz  7.01 100%   0%  99%   0%   0%   0%  71.1°C
10:34:52: 2208/1800MHz  7.01 100%   0%  99%   0%   0%   0%  71.1°C
10:35:13: 2208/1800MHz  7.14 100%   0%  99%   0%   0%   0%  71.2°C
10:35:34: 2208/1800MHz  7.10 100%   0%  99%   0%   0%   0%  71.2°C
10:35:55: 2208/1800MHz  7.07 100%   0%  99%   0%   0%   0%  71.2°C
10:36:16: 2208/1800MHz  7.05 100%   0%  99%   0%   0%   0%  71.1°C

Throttling statistics (time spent on each cpufreq OPP) for CPUs 4-5:

2208 MHz: 1721.62 sec
2100 MHz:       0 sec
2016 MHz:       0 sec
1908 MHz:    0.07 sec
1800 MHz:       0 sec
1704 MHz:       0 sec
1608 MHz:       0 sec
1512 MHz:       0 sec
1398 MHz:       0 sec
1200 MHz:       0 sec
1000 MHz:       0 sec
 667 MHz:       0 sec
 500 MHz:       0 sec

Если посмотреть внимательно на детали, то троттлинга на самом деле не произошло, поскольку частота упала до 1908 МГц только на семь десятых секунды, а температура не превысила 72°C.

После загрузки системы вентилятор в основном выключен и по мере увеличения рабочей нагрузки скорость и шум возрастают. Чтобы полностью избежать троттлинга, нужно отредактировать файл /boot/env.txt и изменив “auto” на “high”, и после перезагрузиться. Это заставит вентилятор вращаться постоянно с высокой скоростью.

Чем выше, тем лучше. Единицы измерения: 7-zip: MIPS; memset / memcpy: Мб / сек

Давайте посмотрим, как выглядят новые результаты по сравнению с Raspberry Pi 4 как на частоте 1.5 ГГц, так и на разогнанной до 2.0 ГГц. На этот раз, как и ожидалось, Khadas VIM3 опередил Raspberry Pi 4 в тесте 7-zip, благодаря своему вентилятору. Результаты memset и memcpy также стали немного лучше.

кило хешей в секунду

Результаты теста OpenSSL / AES также показали, что Khadas VIM3 почти в 20 раз быстрее, чем Raspberry Pi 4 на стандартной частоте, благодаря 64-битному пользовательскому пространству.

Speedometer 2.0

SBC bench отлично подходит для тестирования безголовых сценариев использования, но для людей, которые планируют использовать плату в настольных сценариях, таких как просмотр веб-страниц, был запущен тест Speedometer 2.0 на Khadas VIM3 с радиатором и вентилятором, используя предварительно загруженный Chromium.

Как видите, результаты в значительной степени стабильны и VIM3 достигает 25.6 запусков в минуту. Давайте посмотрим, на что способен Raspberry Pi 4, разогнанный до 2.0 ГГц.

Khadas VIM3 действительно быстрее,но не значительно. Обратите внимание, что Speedometer 2.0 работает по протоколу https, поэтому используется SSL / TLS, но это лишь небольшая часть рабочей нагрузки.

Также была попытка протестировать производительность графического процессора, но Ubuntu 18.04.3 на Khadas VIM3, похоже, пока не поддерживает его, либо могли возникнуть какие-то проблемы во время обновления:

es2gears
EGLUT: failed to initialize EGL display

Как только тест заработает, будет сделан отдельный обзор о производительности графического процессора.

Обратите внимание, что Khadas VIM3 (2 ГБ ОЗУ) продается за $99, тогда как эквивалентный Raspberry Pi 4 (2 Гб) стоит всего $45. Однако VIM3 имеет и другие преимущества с точки зрения воспроизведения мультимедиа и надлежащей поддержки HDMI 2.0 (поддерживается 4K YUV420).

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

3 2 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments