Raspberry Pi 4 стала гораздо холоднее! За последние четыре месяца обновления прошивки уменьшили энергопотребление в ждущем режиме на 1/2 Вт и почти на 1 Вт под полной нагрузкой. Гарет Халфакри провёл тепловое тестирование платы для журнала MagPi.
Raspberry Pi 4 Model B
Raspberry Pi 4 выпустили, снабдив её большим количеством новых свойств, чтобы соблазнить пользователей на обновление: более мощные CPU и GPU, больше памяти, гигабитный Ethernet, поддержка USB 3.0. Увеличение процессорной мощности влечёт увеличение энергопотребления, а Raspberry Pi 4 – самый жадный до энергии член семейства.
Запуск каждой новой модели Raspberry Pi – это лишь начало истории. Разработка платы идёт постоянно, и обновления ПО и прошивок улучшают каждый вариант платы ещё долго после того, как она выходит за пределы фабрики.
Обновления Raspberry Pi 4
Raspberry Pi 4 не является исключением: с момента её выхода уже было выпущено несколько обновлений, уменьшивших её энергопотребление, и в результате – нагрев. И эти обновления подходят к Raspberry Pi 4 вне зависимости от того, купили вы её в день выхода или же заказываете только сегодня.
В данной статье мы рассмотрим, как каждое последующее обновление улучшало Raspberry Pi 4, при помощи искусственной программной нагрузки (не реальной задачи), чтобы как можно скорее разогревать систему на кристалле (СнК) до максимально возможной температуры.
И вот каких чудес способно достичь простое обновление прошивки.
Как мы тестировали обновления прошивки Raspberry Pi 4
Чтобы проверить, насколько хорошо каждая прошивка справляется с нагревом, мы разработали искусственную, требовательную к потреблению высокую нагрузку, имитирующую самый плохой вариант. Утилита stress-ng постоянно нагружает все четыре ядра CPU. Тем временем утилита glxgears загружает работой GPU. Утилиты устанавливаются командой:
sudo apt install stress-ng mesa-utils
Нагрузить CPU можно командой:
stress-ng —cpu 0 —cpu-method fft
На установках по умолчанию команда будет работать весь день; для отмены нажмите CTRL+C.
Нагрузить GPU можно командой:
glxgears –fullscreen
Программа покажет 3D-анимацию шестерёнок, заполняющую экран целиком. Чтобы закрыть её, нажмите ALT+F4.
Подробности работы команд читайте тут:
man stress-ng
man glxgears
Во время тестирования обе нагрузочные программы работали вместе 10 минут. После этого Raspberry Pi 4 остывала 5 минут.
Фотографии с тепловизора были сделаны в режиме ожидания, а потом через 60 секунд после нагрузки одной командой stress-ng.
Показатели для базового уровня: Raspberry Pi 3B+
Устройство Raspberry Pi 3B+ получило широкое признание, и чтобы обойти его по данным показателям, нужно было постараться.
До выхода Raspberry Pi 4, Raspberry Pi 3 Model B+ была обязательным к покупке одноплатным компьютером. Эта модель получила все преимущества, достигнутые при разработке предыдущей, Raspberry Pi 3 Model B, плюс обновлённое железо, и до сих пор является популярным устройством.
Давайте сначала посмотрим, как она ведёт себя, перед тем, как испытывать Raspberry Pi 4.
Энергопотребление
Эффективный процессор и улучшенная по сравнению с предшественником схема цепи питания позволяет Raspberry Pi 3B+ потреблять меньше энергии: в режиме ожидания это всего 1,91 Вт, а под искусственной нагрузкой идёт увеличение до 5,77 Вт.
Снимки с тепловизора
В режиме ожидания
Под нагрузкой
Тепловизор показывает, на что уходит энергия. В режиме ожидания СнК относительно холодная, и горячим местом является контроллер USB/Ethernet справа в середине. Под нагрузкой, после 60 секунд интенсивной работы CPU, СнК становится самым горячим компонентом, достигая температуры в 58,1 °C.
Тепловой пропуск тактов [thermal throttling]
На графике показана скорость и температура Raspberry Pi 3B+ CPU во время десятиминутной нагрузки. Тесты идут одновременно на CPU и GPU, а затем следует пятиминутное остывание. Raspberry Pi 3B+ быстро достигает точки «мягкого пропуска тактов» при температуре 60°C, который призван не дать СнК достичь жёсткого ограничения в 80°C, и CPU продолжает работать в таком режиме на частоте 1,2 ГГц всё время, пока работает измерение.
Прошивка Raspberry Pi 4, шедшая с самого начала
Самая быстрая плата из серии требовала больше всего энергии
Raspberry Pi 4 Model B вышла, имея несколько улучшений по сравнению с Raspberry Pi 3B+, включая значительно более мощный CPU, новый GPU, увеличение объёма памяти до 4 раз, и порты USB 3.0. Но у всего этого железа есть своя цена: увеличение энергопотребления и нагрева. Давайте посмотрим, как Raspberry Pi 4 вела себя с начала продаж.
Энергопотребление
Сомнений нет, Raspberry Pi 4 сразу после выхода была голодной зверюгой. Даже в режиме ожидания на рабочем столе Raspbian плата потребляет 2,89 Вт, достигая максимума в 7,28 Вт в случае искусственной нагрузки CPU и GPU – значительно больше, чем у Raspberry Pi 3 B+.
Снимки с тепловизора
В режиме ожидания
Под нагрузкой
Снимки с тепловизора показывают, что Raspberry Pi 4 с прошивкой первого дня выпуска греется даже в режиме ожидания, и самыми горячими местами служат USB-контроллер справа в середине, и цепь управления питанием слева внизу. Под сильной нагрузкой СнК на 60-й секунде достигает температуры в 72,1°C.
Тепловой пропуск тактов
У Raspberry Pi 4 получается работать дольше, чем у Raspberry Pi 3 B+, прежде чем искусственная нагрузка заставляет его перейти в режим пропуска тактов. Однако она всё же переходит в этот режим – на 65-й секунде. При работающей нагрузке CPU падает с 1,5 ГГц до стабильных 1 ГГц, а потом к концу проседает до 750 МГц.
Прошивка Raspberry Pi 4 VLI
В первом крупном обновлении прошивки Raspberry Pi 4 было сделано управление питанием USB-контроллера Via Labs Inc. Контроллер работает с двумя портами USB 3.0, и прошивка позволила ему меньше нагреваться при работе.
Энергопотребление
Даже без подсоединения чего-либо к портам Raspberry Pi 4 видно улучшения в прошивке VLI: потребление в режиме ожидания упало до 2,62 Вт, а под нагрузкой доходит максимум до 7,01 Вт.
Снимки с тепловизора
В режиме ожидания
Под нагрузкой
Неудивительно, что наибольшее влияние на температуру прошивка оказывает в районе чипа VLI справа посередине; также она помогает уменьшать температуру СнК в центре и цепь правления питанием слева внизу. СнК достиг 71,4 °C под нагрузкой – небольшое, но измеримое улучшение.
Тепловой пропуск тактов
Управление питанием VLI кардинально изменило поведение карты под нагрузкой: точка включения пропуска тактов отодвинулась до 77-й секунды, CPU больше времени работает на максимальной частоте 1,5 ГГц, и вообще не падает до 750 МГц. СнК к концу теста также охлаждается заметно быстрее.
Прошивка Raspberry Pi 4 VLI, SDRAM
Следующая прошивка, разработанная для использования одновременно с управлением питанием VLI, изменяет работу памяти Raspberry Pi 4 — LPDDR4 SDRAM. Не влияя на производительность, она помогает ещё уменьшить энергопотребление как в режиме ожидания, так и под нагрузкой.
Энергопотребление
Как и в случае обновления VLI, обновление SDRAM приносит желанное падение в энергопотреблении как в режиме ожидания, так и под нагрузкой. Теперь Raspberry Pi 4 потребляет 2,47 Вт в режиме ожидания и 6,79 Вт под нагрузкой – серьёзное улучшение по сравнению с первоначальной 7,28 Вт.
Снимки с тепловизора
В режиме ожидания
Под нагрузкой
Снимки с тепловизора показывают самое серьёзное улучшение из всех, и как СнК, так и цепь управления питанием греются в режиме ожидания значительно меньше. После 60 секунд нагрузок СнК остаётся значительно холоднее, 68,8°C – почти на 3 градуса меньше по сравнению с обновлением VLI.
Пропуск тактов
Более холодный СнК положительно влияет на работу платы: точка пропуска тактов под нагрузкой отодвинулась до 109 секунд, а после этого Raspberry Pi 4 продолжает скакать между 1,5 ГГц и 1 ГГц в течение десяти минут – это значительно увеличивает быстродействие.
Прошивка Raspberry Pi 4 VLI, SDRAM, Clocking, и Load-Step
В сентябрьском обновлении 2019 года есть несколько изменений, включая и предыдущие улучшения с VLI и SDRAM. Самое большое изменение состоит в том, как BCM2711B0 увеличивает и уменьшает тактовую частоты в ответ на запросы и температуру.
Энергопотребление
Улучшения сентябрьской прошивки постепенные: потребление в режиме ожидания уменьшилось до 2,36 Вт, а под нагрузкой – до 6,67 Вт, безо всякого снижения быстродействия или потери функциональности.
Снимки с тепловизора
В режиме ожидания
Под нагрузкой
Улучшение управления тактовой частотой значительно снижает температуру в режиме ожидания. Под нагрузкой улучшается всё – СнК доходит до максимума в 65°C через 60 секунд нагрузки, а чип VLI и цепь управления питанием остаются явно более холодными.
Пропуск тактов
С этой прошивкой точка пропуска тактов у Raspberry Pi 4 под нагрузкой отодвигается до 155 секунд – более чем в два раза увеличивая время по сравнению с первой прошивкой. Общая средняя скорость также растёт благодаря более агрессивному возврату до частоты 1,5 ГГц.
Прошивка Raspberry Pi 4 Beta
Однако в Raspberry Pi никто не собирается почивать на лаврах. Идёт тестирование бета-прошивки, которую скоро собираются выпускать. В ней есть множество улучшений, включая более точное управление рабочим напряжением СнК и оптимизация тактовой частоты для конечных автоматов HDMI.
Для обновления вашей Raspberry Pi до последней прошивки, напишите в терминале:
sudo apt update
sudo apt full-upgrade
И перезапустите плату:
sudo shutdown — r now
Энергопотребление
Бета прошивки уменьшает энергопотребление в режиме ожидания, чтобы уменьшить энергопотребление в целом, и подстраивает напряжение СнК, чтобы уменьшить энергопотребление при нагрузках без вреда производительности. В итоге происходит падение до 2,1 Вт в режиме ожидания, и до 6,41 Вт под нагрузкой – наилучшие на сегодня показатели.
Снимки с тепловизора
Улучшения явно видны на снимках с тепловизора. Большая часть платы Raspberry Pi 4 не греется выше 35°C, что было минимумом для первой прошивки. Через 60 секунд нагрузки тоже есть небольшое, но измеримое улучшение, и пиковая температура достигает 64,8°C.
Пропуск тактов
Хотя Raspberry Pi 4 с новой прошивкой всё же переходит в режим пропуска тактов из-за высокой нагрузки синтетического теста, она показывает наилучшие на сегодня результаты: пт происходит на 177-й секунде, а новая система управления тактовой частотой увеличивает среднюю скорость. Также прошивка позволяет чаще увеличивать тактовую частоту в режиме ожидания, ускоряя фоновые задачи.
Улучшайте охлаждение Raspberry Pi 4 её правильной ориентацией
Обновления прошивки обеспечивают отличные результаты, но что если мы повернём Raspberry Pi 4 вертикально?
Хотя самая последняя прошивка способна значительно уменьшить энергопотребление и нагрев, есть ещё один трюк, позволяющий достичь ещё лучших результатов: изменить ориентацию платы. Для данного теста мы поставили Raspberry Pi 4 с последней прошивкой вертикально, так, что интерфейсы GPIO оказались внизу, а порты HDMI наверху.
Пропуск тактов
Простой вертикальный поворот Raspberry Pi 4 даёт мгновенные результаты: СнК в режиме ожидания на 2°C холоднее, чем раньше, и греется медленнее. под нагрузкой плата работает дольше, не переходя в режим пропуска тактов, и поддерживая значительно более высокую скорость.
Тут работает несколько факторов: вертикальная ориентация улучшает конвекцию, позволяя окружающему воздуху быстрее отводить тепло, а поднятие задней части платы с изолирующего тепло стола значительно увеличивает теплоотводящую поверхность.
Время перехода к пропуску тактов
На диаграмме показано, сколько времени потребовалось для перехода на пропуск тактов под нагрузкой. Raspberry Pi 3B+ показала наихудший результат, переходя на пропуск тактов всего через 19 секунд. Каждое последующее обновление прошивки для Raspberry Pi 4 отодвигало эту точку всё дальше и дальше. Однако наиболее серьёзного улучшения можно достичь, поменяв ориентацию платы.
Проверка под реальной нагрузкой
Оставим синтетические нагрузки, и зададимся вопросом – как платы справляются с реальной нагрузкой?
Из всего вышенаписанного сложно сделать вывод о реальной разнице в быстродействии между Raspberry Pi 3B+ и Raspberry Pi 4. Синтетические измерения выполняют требовательные к энергии вычисления, которые редко встречаются в реальных задачах, а кроме того, они бесконечно повторяются.
Компилируем Linux
В данном тесте Raspberry Pi 3B+ и Raspberry Pi 4 получают задание скомпилировать ядро Linux из исходников. Это хороший пример нагрузок на CPU, встречающихся в реальном мире, и гораздо более реалистичная задача, чем синтетические нагрузки из предыдущего теста.
Компиляция ядра: Raspberry Pi 3B+
Raspberry Pi 3B+ совсем рано переходит в режим пропуска тактов и остаётся на 1,2 ГГц до краткого периода охлаждения, когда компилятор переключается с нагрузки на CPU на нагрузку на накопитель, что позволяет плате кратковременно перейти обратно на 1,4 ГГц. Компиляция закончилась за 5097 секунд – один час, 24 минуты, 57 секунд.
Компиляция ядра: Raspberry Pi 4 model B
Явно видно разницу между синтетическими задачами и реальными: Raspberry Pi 4 ни разу не достигает высокой температуры, которая бы заставила её перейти на пропуск тактов, и всю дорогу работает на 1,5 ГГц – за исключением, как и в случае с Raspberry Pi 3 B+, краткого периода, когда изменение работы компилятора позволяет плате упасть до скоростей в режиме ожидания. Компиляция закончилась за 2660 секунд – 44 минуты и 20 секунд.