В июле этого года появилась первая часть обзора 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 тестом:
результаты 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”, и после перезагрузиться. Это заставит вентилятор вращаться постоянно с высокой скоростью.
Давайте посмотрим, как выглядят новые результаты по сравнению с 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.
Оригинал статьи вы можете прочитать здесь.