На днях мы тестировали Raspberry Pi 4 с радиатором, поскольку предыдущие многопоточные тесты, запущенные без охлаждения, явно приводили к дросселированию платы.
Ребята из Raspberry Pi Foundation заметили наш пост, и мы получили электронное письмо от Эбена Аптона(Eben Upton), в котором объяснялось, что новая прошивка Raspberry Pi 4 VLI имеет «некоторую оптимизацию температуры, которая по умолчанию не установлена на ранних выпусках». Мы не сразу поняли, что такое VLI, но в конце концов разобрались, что это относится к прошивке для контроллера VIA VL805 PCIe USB 3.0 на плате.
Raspberry Pi Foundation предоставил нам тестовую версию прошивки, которую они выпустят в ближайшие дни или недели после завершения тестирования.
Теперь, если вы собираетесь протестировать платформу, которая будет дросселировать из-за перегрева, очень важно делать это при постоянной комнатной температуре. Мы работаем в офисе, где кондиционер установлен на 28° C.
Перед тем, как приступить к тестированию, мы установили rpi-monitor, чтобы потом иметь хорошие графики температуры процессора:
1 2 3 4 5 |
sudo apt-get install dirmngr 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 apt-get update sudo apt-get install rpimonitor |
Запустим sbc-bench без радиатора со старой прошивкой VLI (версия 00013701):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
sudo /bin/bash ./sbc-bench.sh -c sbc-bench v0.6.7 Installing needed tools. This may take some time... Done. Checking cpufreq OPP... Done. Executing tinymembench. This will take a long time...^[[15~ Done. Executing OpenSSL benchmark. This will take 3 minutes... Done. Executing 7-zip benchmark. This will take a long time..../sbc-bench.sh: line 600: 9284 Killed "${SevenZip}" b >> ${TempLog} ./sbc-bench.sh: line 600: 9454 Killed "${SevenZip}" b >> ${TempLog} ./sbc-bench.sh: line 600: 9615 Killed "${SevenZip}" b >> ${TempLog} Done. Checking cpufreq OPP... Done. ATTENTION: Throttling has occured. Check the log for details. Memory performance: memcpy: 2695.2 MB/s memset: 3703.2 MB/s (0.5%) 7-zip total scores (3 consecutive runs): OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 62423.76k 76661.25k 83079.59k 84544.17k 84863.66k 85082.11k aes-128-cbc 62536.07k 76638.74k 83104.00k 84629.16k 84956.50k 85185.88k aes-192-cbc 56289.64k 67320.53k 72100.18k 73361.75k 73569.62k 73667.93k aes-192-cbc 56288.07k 67469.87k 71959.30k 73264.47k 73566.89k 73536.85k aes-256-cbc 51019.20k 60045.33k 63557.38k 64655.02k 64948.91k 64957.10k aes-256-cbc 50838.41k 60060.05k 63685.29k 64467.29k 64935.25k 64951.64k Full results uploaded to http://ix.io/1NaQ. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
7-zip так и не завершился, так как трижды зависал из-за нехватки памяти. Возможно, это произошло потому, что 1 ГБ RPi 4 переполнен. Включение ZRAM может помочь.
Но, у нас есть данные о температуре для полного теста. Мы начали с 67°C на холостом ходу, со скачком до более 80° C (с 11:26 до 11:30) во время многопоточного теста с 7-zip:
Теперь давайте установим прошивку в терминал Raspberry Pi 4:
1 2 3 4 5 6 |
unzip vl805_update_0137a8.zip chmod a+x vl805 sudo ./vl805 -w vl805_fw_0137a8.bin VL805 FW version: 00013701 VL805 EEPROM successfully reprogrammed - please reboot to activate. sudo reboot |
Для справки, инструмент также может быть использован для резервного копирования прошивки и записи в любое место в EEPROM:
1 2 3 4 5 6 7 8 9 10 |
./vl805 -h Usage: vl805 [<options>] where <options> are taken from: -h Show this help message -r <file> Read EEPROM -w <file> Write EEPROM -v <file> Verify EEPROM -o <offset> Specify an offset to read from/write to (for testing). N.B. Erases to the end of the EEPROM! -d Verbose debugging |
При ошибке вы потеряете USB-соединение, но пользователь сможет подключиться к устройству через ssh или serial, чтобы повторно сохранить старую прошивку для восстановления. Неясно, придется обновлять прошивку вручную, или это будет сделано автоматически как часть процесса обновления. По этой причине мы не можем поделиться файлами сейчас.
Тем не менее, похоже, что это влияет на температуру холостого хода. Раньше у нас было чуть ниже 65° C, а теперь чуть выше 61° C, поэтому новая прошивка снижает температуру на 3-4° C благодаря более низкому энергопотреблению. К сожалению, мы не можем измерить последнее, так как наш измеритель мощности мертв.
Теперь давайте снова запустим sbc-bench без радиатора и новой прошивки VLI (версия 0137a8):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
sudo /bin/bash ./sbc-bench.sh -c WARNING: this tool is meant to run only on Debian Stretch or Ubuntu Bionic. When running on other distros results are partially meaningless or can't be collected. Press [ctrl]-[c] to stop or [enter] to continue. sbc-bench v0.6.7 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..../sbc-bench.sh: line 600: 5469 Killed taskset -c 0 "${SevenZip}" b -mmt 1 >> ${TempLog} Done. Checking cpufreq OPP... Done. ATTENTION: Throttling has occured. Check the log for details. Memory performance: memcpy: 2662.9 MB/s memset: 3719.3 MB/s (0.5%) 7-zip total scores (3 consecutive runs): 5473,5483,4938 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 62552.61k 76725.93k 83106.05k 84651.01k 85273.26k 85185.88k aes-128-cbc 62791.37k 76941.34k 82987.52k 84688.90k 85054.81k 85229.57k aes-192-cbc 56272.02k 67331.56k 72086.95k 73305.43k 73591.47k 73596.93k aes-192-cbc 56187.43k 67463.00k 71973.12k 73198.25k 73706.15k 73596.93k aes-256-cbc 51015.38k 60031.36k 63559.94k 64579.58k 64918.87k 64957.10k aes-256-cbc 46234.68k 58296.15k 63157.42k 64423.94k 64875.18k 64809.64k Full results uploaded to http://ix.io/1NaS. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
На этот раз все три прогона для 7-zip завершились, и, хотя дросселирование все же произошло, это произошло в меньшей степени, и температура была явно ниже во время однопоточных тестов (~ 70 ° C против 75 ° C со старой прошивкой).
Для справки: средний результат теста 7-zip с радиатором составил 5 397 баллов, без радиатора + старая прошивка VLI – 4 423 балла, но результаты «без радиатора с новой прошивкой VLI» намного лучше – 5 298 баллов. Вы также заметите, что результаты первых двух запусков были такими же хорошими, как и результаты с радиатором, но последний упал до чуть менее 5000 баллов, поэтому при полной нагрузке в течение более длительного промежутка времени мы все же рекомендуем использовать радиатор для большей результативности. Достижения новой прошивки впечатляют.
Может возникнуть вопрос, что изменил Raspberry Pi Foundation. Томас Кайзер(Thomas Kaiser), возможно, нашел причину ранее, так как теперь ASPM (Active-State Power Management), кажется, включен:
1 2 3 4 5 6 7 8 9 10 |
sudo apt install pciutils sudo lspci -vvv | grep ASPM LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot+ ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+ L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp- LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+ |
Это было не так со старой прошивкой VLI. Полный выпуск lspci можно найти здесь .
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.