Диапазон рабочих температур Raspberry Pi. Результаты тестов

Содержание

Популярный одноплатный компьютер Raspberry Pi применяется в различных промышленных приложениях [3] и находит все новые применения. В сети довольно много информации по оценке и сравнению производительности систем [4], однако промышленные заказчики хотят знать диапазон рабочих температур. Производитель такой информации не предоставляет. Предпринятые энтузиастами испытания на воздействия внешних факторов [5, 6] решают несколько другие задачи.

Целью нашего исследования была оценка диапазона рабочих температур одноплатного компьютера Raspberry Pi. Испытаниям подвергнуты Raspberry Pi 3 Model B и Raspberry Pi 2 Model B. Во время подготовки статьи появилась новая версия Raspberry Pi 2 Model B V1.2 с процессором BCM2837, мы тестировали RPi 2 V1.1 с процессором BCM2836.

Исследования проведены сотрудниками и студентами МГТУ им. Баумана по заказу компании RS Components Russia, которая бесплатно предоставила образцы для тестирования, в рамках летней стажировки 2016 года в компании Совтест АТЕ [13].

Условия эксперимента

Большинство компонентов на платах Raspberry Pi 3 Model B и Raspberry Pi 2 Model B имеют индустриальный температурный диапазон -40℃…+85℃. Представляет практический интерес провести испытания плат в более широком температурном диапазоне от -55℃ до +110℃ и оценить границы их работоспособности.

Схема экспериментальной установки приведена на рис. 1. Одноплатные компьютеры Raspberry Pi помещались в камеру тепла-холода TCT-811. RPi 2 подключались к маршрутизатору LP-Link TL-WR720N по Ethernet, а RPi 3 — по Wi-Fi. Питание плат осуществлялось посредством USB адаптеров. Управление платами и сбор данных осуществлялись через SSH доступ с компьютера оператора.

image

Рисунок 1. Схема экспериментальной установки температурного тестирования

В качестве операционной системы использовалась Raspbian, как основная рекомендуемая и поддерживаемая производителем. Тестирование производительности осуществлялось при помощи утилиты SysBench — модульного, кроссплатформенного многопотокового приложения, позволяющего быстро оценить параметры системы для работы под высокой нагрузкой. Данные тестов записывались на внутреннюю память платы, а затем по запросу копировались на компьютер оператора. В качестве носителя данных была использована SD-карта памяти QUMO 32GB Class 10.

Ход эксперимента

Испытание проводились следующим образом. Платы помещались в камеру и подключались согласно схеме на рис. 1. Затем задавался алгоритм изменения температура в камере. Камера программировалась на ступенчатое повышение температуры сначала от комнатной +23℃ до +110℃, затем на быстрое охлаждение до комнатной и дальнейшее ступенчатое понижение температуры до -50℃ (рис. 2). Всего реализовано 19 этапов измерений с шагом температуры между этапами в 10℃ (Таблица 1).

Номер этапа тестирования 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Температура в камере на этапе, ℃ +23 +30 +40 +50 +60 +70 +80 +90 +100 +110 +106 +27 -20 -25 -30 -35 -40 -45 -50

На каждом этапе тестирования в камере сначала устанавливалась соответствующая температура, затем платы выдерживались при этой температуре в выключенном состоянии около 6 минут. Далее платы практически одновременно включались, на каждой запускался тест Sysbench, и дополнительно проводилось измерение температуры процессора. После завершения тестов платы выключались и повторно выдерживались 1-2 минуты при той же температуре, прежде чем камера переходила к следующему этапу. Скорость изменения температуры между этапами составляла примерно 1℃/мин.

image

Рисунок 2. Изменение температуры в камере в течении испытаний

Каждый полный этап прохождения теста Sysbench состоял из последовательного запуска трех модулей: теста процессора, теста памяти и теста потоков. Результатом работы каждого модуля Sysbench было определение времени его выполнения в секундах. Опишем подробнее каждый из тестов.

Тест процессора (—test=cpu) Sysbench использует 64х-битные целые для расчета простых чисел до значения, заданного параметром —cpu-max-primes. Так же возможно задание нескольких потоков, но мы пользовались значением по умолчанию — одним потоком.

Тест памяти (—test=threads) выделяет буфер памяти и производит операции чтения или записи. Количество данных, прочитанных или записанных за одну операцию, определяется размером указателя 32 или 64 бит. Процесс повторяется, пока не будет обработан заданный объем (—memory-total-size). Возможно задать количество потоков (—num-threads), размер буфера (—memory-block-size) и тип операции (чтение или запись —memory-oper=[read | write]).

Тест потоков (—test=memory) проверяет работу процессора в условиях большого количества конкурирующих потоков. Тест заключается в создании нескольких потоков (—num-threads) и нескольких мутексов (—thread-locks). Далее каждый поток начинает генерировать запросы, которые блокируют мутекс, исполняют процессорные задачи (для симуляции реальной работы) и разблокируют мутекс. Для каждого запроса действия блокировки-исполнения-разблокировки выполняются несколько раз, количество которых задается параметром —thread-yields.

Сокращенный текст bash-скрипта запуска модулей Sysbench с соответствующими параметрами приведен ниже:

Значения температуры процессора в градусах Цельсия выводились с его встроенного датчика. Вывод показаний встроенного датчика температуры осуществлялись командой vcgencmd measure_temp.

Результаты эксперимента

Результаты тестов Sysbench приведены на рисунке 3. На каждом этапе тест Sysbench повторялся последовательно 5 раз, данные производительности усреднялись по результатам 5 тестов. Значения температуры процессора взяты максимальные из измеренных на каждом этапе.

image

Рисунок 3. Результаты тестов Sysbench на одноплатных компьютерах Raspberry Pi 3 и Raspberry Pi 2

На рисунке 3 видно, что картина производительности на всех трех тестах практически одинакова как для RPi 3, так и для RPi 2. В диапазоне температур от -35℃ до +50℃ плата RPi 3 работает примерно в 1,6 раза быстрее, чем RPi 2, что согласуется с результатами официальных тестов производительности [4]. При достижении температурного порога процессора, заданного в файлах конфигурации, по умолчанию это +85℃, запускается механизм защиты процессора от перегрева за счет пропуска машинных тактов — дросселирование тактов или троттлинг [8].

Компьютеры переставали запускаться при разных значениях температуры: RPi 3 при температурах выше +90℃, а RPi 2 — при температурах выше +106℃. При температурах ниже 0℃ изменения производительности у обеих плат не происходит. При температурах ниже -35℃ плата RPi 3 и температурах ниже -45℃ плата RPi 2 перестают запускаться. Как при высоких, так и при низких температурах платы возобновляли свою работоспособность после снятия нагрузки – и возвращения в рабочий диапазон температур.

image

Рисунок 4. Температура процессоров Raspberry Pi 3 и Raspberry Pi 2 при различной температуре окружающего воздуха в испытательной камере

Значения температуры в испытательной камере и соответствующие значения температур процессоров плат RPi 2 и RPi 3 приведены на рисунке 4. Поскольку процессор RPi 3 греется сильнее, чем процессор RPi 2, пороговая температура троттлинга +85℃ в нем достигается при +50℃ окружающей среды, в то время как RPi 2 запускает троттлинг при температуре +70℃. Поэтому в результатах тестов мы видим, что на температурах более +50℃ RPi 3 уступает RPi 2 по производительности. При этих температурах рекомендуется использовать охлаждение процессора [8].

В проведенных испытаниях платы RPi 3 запускались и работали в диапазоне температур от -35℃ до +90℃, а платы RPi 2 – от -45℃ до +106℃. Эти диапазоны близки к индустриальному диапазону температур применяемых электронных компонентов -40…+85℃.

Проведенное нами исследование не претендует на полноту и безусловность инженерных рекомендаций. На его результаты повлияли следующие условия и обстоятельства. Во-первых, проблемы вызвали SD-карты памяти, которые при работе часто давали сбои, для восстановления работоспособности карт их приходилось переформатировать и записывать образ системы повторно. Во-вторых, на сопоставимость результатов тестов RPi 2 и RPi 3 могли повлиять разные способы связи с платами: RPi 2 по Ethernet, а RPi 3 по Wi-Fi. В-третьих, параметры тестирования были выбраны таким образом, чтобы суммарное время испытаний укладывалось в период одного рабочего дня, поэтому мы не можем судить о сохранении работоспособности плат при более длительном воздействии температур. В-четвертых, испытания проводились не в сертифицированном центре и не в строгом соответствии с ГОСТ, хотя применяемая методика разработана на основе стандартов ГОСТ 28199-89 “Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание А: Холод” и ГОСТ 28200-89 “Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание В: Сухое тепло”.

Результаты измерений и анализа относятся только к испытанным образцам и не могут быть распространены на другие изделия производителя. Результаты испытаний не могут являться основой для принятия решения в коммерческих и правовых вопросах деятельности организаций. В то же время авторы надеются, что приведенные результаты будут полезны инженерной общественности.


Источник: habr.com