История одного сервера с пассивным охлаждением

Иногда возникают идеи без должной проработки на начальном этапе и эти идеи за счёт убедительности их автора кажутся всем членам команды очень перспективными. Итак, некоторое время назад у группы компаний ВИТ и ComBox Technology родилась идея реализации сервера на базе множества микрокомпьютеров. Назначение сервера – исполнение нейронных сетей на CPU и GPU микрокомпьютеров. Предполагаемый форм-фактор будущего сервера – 1U, стоечный вариант. И все бы ничего, только идея включала пассивное охлаждение, так как анонсированное тепловыделение предполагаемых к использованию микрокомпьютеров было 25 Вт. Собственно, предполагаемым микрокомпьютером для реализации был выбран Intel NUC с процессором Intel Core i5 и встроенным GPU Iris Plus 655. 25 Вт, 1U, пассивное охлаждение, сервер – все это звучит ободряюще, но дальше стали всплывать нюансы.

Во-первых, микрокомпьютеров в сервере предполагалось 8 штук. То есть тепловыделение пропорциональное энергопотреблению уже равно 25*8=200 Вт. И уже на этом этапе пассивному охлаждению можно сказать нет, но эксперимент был продолжен. В том числе, из соображений дальнейшей адаптации технологии под исполнение корпусов наружной эксплуатации. Разработка аппаратной части проходила параллельно с ОКР по использованию нужного программного обеспечения. Мы использовали комплекс по детекции и распознаванию номеров и марок/моделей транспортных средств компании ВИТ под названием EDGE. Как оказалось, при замере энергопотребления под 100% нагрузкой, Intel NUC8i5BEK потребляет 46 Вт вместо заявленных 25. При таком подходе энергопотребление и тепловыделение сервера уже становится 46*8=368 Вт. И это без учёта блоков питания и дополнительных компонентов.

В качестве теплосъемника мы использовали медные пластины после шлифовки и специальной гравировки. Далее, медная пластина отдавала тепло алюминиевому теплообменнику на верхней части сервера. Из-за ошибок в расчетах теплообменник занимал 2/3 верхней крышки и располагался с двух сторон параллельно 4 микрокомпьютерам по левой и правой граням сервера. В центральной области размещался блок питания 550 Вт сзади и маршрутизатор Mikrotik 1 Gbit спереди.

Этап проектирования сервера на базе 8 микрокомпьютеров
Этап проектирования сервера на базе 8 микрокомпьютеров

И результат, который получился:

NUC Server с пассивным охлаждением
NUC Server с пассивным охлаждением

Конечно, данная конструкция работала при средней нагрузке, но при 100% продолжала медленно нагреваться и отдавать значительную часть тепла в окружающую среду. Даже в рамках серверного шкафа с горячим и холодным коридором, конструкция неизбежно нагревала вышестоящего «соседа». Уменьшение числа микрокомпьютеров до 4 штук позволяло стабилизировать температуру нагрева и избегать тротлинга даже при 100% нагрузке, но проблема вышестоящего «соседа» оставалась.

Технологический стек решения разошелся по двум направлениям:

  • Пассивное охлаждение Intel NUC8i5BEK в корпусе наружного применения
  • Активное воздушное охлаждение в серверном корпусе форм-фактора 1U

Сервер 1U, в котором установлено 8 процессоров Core i5 и 8 GPU


Да, да, это много и да, это возможно. Как, спросите вы? Путем объединения множества микрокомпьютеров внутри корпуса 1U на сетевом уровне через маршрутизатор. Конкретно для исполнения нейронных сетей и обработки входящих RTSP-потоков данное решение является оптимальным. Помимо этого, оно позволяет строить масштабируемые системы на базе связки Docker, Docker Swarm и Ansible.

В процессе разработки нам пришлось спроектировать несколько различных версий:

Прототип будущего решения


От первоначальной идеи остались хорошо себя зарекомендовавшие медные теплосъемники и алюминиевые радиаторы, но теперь располагающиеся непосредственно на каждом вычислительном узле внутри корпуса. Далее, для снятия тепла использовались по 2 вентилятора, установленные спереди каждого вычислительного модуля, направляющие теплый воздух из холодного коридора в горячий (от лицевой части сервера). Для активного управления вентиляторами были разработаны специальные платы, которые изменяли их скорость исходя из показателей датчиков температуры на каждом микрокомпьютере. Роутер из-за отсутствия необходимости в PoE лишили активного охлаждения перевели на пассивное с тепловыделением не более 10 Вт. Блок питания на первой версии оставался 500 Вт, но устанавливался на специальные крепления с возможностью быстрой замены, но с отключением питания. Для отслеживания состояния вычислительных узлов, на передней панели была добавлена индикация из 8 диодов.

Прототип сервера NUC Server от ComBox Technology, 8 CPU Core i5 и 8 GPU Iris Plus 655 в форм-факторе 1U
Прототип сервера NUC Server от ComBox Technology, 8 CPU Core i5 и 8 GPU Iris Plus 655 в форм-факторе 1U

Технические характеристики первой версии сервера на Intel NUC:

  • Intel NUC8i5BEK (без корпуса с доработанной системой охлаждения), 8 шт.
  • Модули памяти DDR4 SO-DIMM AMD Radeon R7 Performance, 8 Гб, 8 шт.
  • Дополнительные модули памяти DDR4 SO-DIMM Kingston, 4 Гб, 8 шт.
  • SSD M.2 накопитель WD Green, 240Gb, 8 шт.
  • Корпус 1U (собственного производства)
  • Маршрутизатор MikroTik RB4011iGS+RM (без корпуса с доработанной системой охлаждения), 1 шт.
  • Соединительные провода (патч-корды), 11 шт.
  • БП IBM 94Y8187, 550 Вт.

Как это выглядит в процессе работы:


Продакшн версия NUC Server


Продакшн версия претерпела значительные изменения. Вместо одного блока питания на сервере появилось 2 с возможностью их горячей замены. Мы использовали компактные серверные БП 600 Вт от Supermicro. Для вычислительных модулей появились специальные посадочные места и возможность их горячей замены без отключения питания всего сервера. Множество сетевых шлейфов было заменено на стационарные закреплённые и подведенные к посадочным местам шины. Для управления сервером добавлен микрокомпьютер Nano Pi ARM-архитектуры от FriendlyARM, для которого написано и установлено ПО для проверки и отслеживания состояния вычислительных узлов, информирования о неисправностях и аппаратного сброса конкретных вычислительных узлов через GPIO, в случае необходимости. Вентиляторы в продакшн версии устанавливаются за передней панелью по направлению от холодного коридора в сторону горячего, а ребра алюминиевого теплообменника теперь направлены вниз, а не вверх, что сделало доступным память и диски каждого вычислительного узла.

Корпус для наружной эксплуатации Intel NUC


Так как сами микрокомпьютеры не являются промышленными, то для наружной эксплуатации нужен не только корпус, но и соответствующие климатические условия. Нам требовалась защита от пыли и влаги IP66, а также температурный режим эксплуатации от -40 до +50 градусов Цельсия.

Мы проверили две гипотезы для эффективного теплоотведения: теплотрубки и медные пластины в качестве теплосъемника. Последние оказались более эффективными, хотя при большой площади и более дорогостоящими решениями. В качестве теплообменника применяется все также алюминиевая шпала с расчётными размерами ребер.

Для запуска устройства в минусовых температурах мы использовали керамику для подогрева. Для удобства эксплуатации и внедрения в различных сферах были установлены блоки питания широкого диапазона 6-36 В.

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

Intel NUC в корпусе для наружной эксплуатации, IP66 с климатическим модулем
Intel NUC в корпусе для наружной эксплуатации, IP66 с климатическим модулем

Общая схема гибридного инференса


Для инференса, обычно, применяется три типа устройств: сервера в ДЦ, камеры с установленным в них ПО для детекции и распознавания объектов и микрокомпьютеры наружной установки (к которым камеры подключены, например, через коммутатор). Далее, с множества устройств (например, 2 сервера, 15 камер, 30 микрокомпьютеров) требуется агрегация и хранение данных (событий).

В наших решениях мы применяем следующую схема агрегации и хранения данных с использованием СХД:

Общая схема работы гибридного инференса
Общая схема работы гибридного инференса

Комментарии 44

    0

    Как то я ожидал выводов в конце статьи а там бац и всё. Статья незаконченная?

      0

      Отдельно хотим опубликовать тесты инференса на разных типах сетей. Intel NUC8i5BEK показал себя весьма эффективно. В нашем варианте использования это детекция номерной пластины, распознавание номеров и марок моделей ТС. Получилось стабильно обрабатывать 80 потоков RTSP 15 FPS, Full HD. Далее, данные (события) со всех микрокомпьютеров через REST API собираются на едином хранилище.

    • НЛО прилетело и опубликовало эту надпись здесь
        +2
        Спасибо! Поправили!
        0
        В масле/охлаждающей неэлектропроводной жиже не пробовали топить? или ограничение по объему?
          +1

          Нет смысла. В предыдущих статьях есть обзор применения жидкостного охлаждения для GPU (двухфазное иммерсионное и hot pipes). Там при тепловыделении по 150 Вт и более с каждой карты смысл есть. Здесь, при использовании мобильных процессоров, проще, удобнее и дешевле — воздух.

          0
          я бы прикупил, для обогрева дома зимой, вместо масляного радиатора, сборку из нескольких gpu (или может сразу asic?) с пассивным охлаждением и контролем температуры, да вот только никто не продаёт
            0

            Вопрос в том, чтобы тепло отводить максимально эффективно при наилучшей производительности. Область применения наших решений — это серверные стойки и наружная установка в непосредственной близости от камеры для исполнения нейронных сетей. Варианты интеграции с отоплением были у ASIC'ов с жидкостным охлаждением в пору популярности майнинга, но до серии эти решения так и не дошли.

              0
              А моё желание в том чтобы обогрев был основной функцией устройства с полезным дополнением в виде процессорных мощностей которые даже можно попытаться монетизировать. Эдакий действительно умный обогреватель.
                0
                ASIC'и и системы с водяным охлаждением (подключаемые к системам отопления). Они, в принципе, есть. У нас другие устройств — сервера для стоек и безвентиляторные промышленные ПК для наружной эксплуатации.
            +1
            А в чем смысл использования NUCов? Они вроде не особо шустрые, даже если 8 штук — не проще один нормальный комп взять с топовой картой?
              0

              В том, что они дают минимальную стоимость FPS в инференсе. Получается использовать гибридную схему инференса и параллельно исполнять несколько нейросетей. В нашем случае на CPU — детекция и распознавание номеров, на GPU — классификация марок и моделей ТС. Фактически на 1U мы получили 8 CPU Core i5, 32 физических ядра и 64 потока, 8 GPU для декодинга потоков и инференса. Конкретно в нашей задаче и с топологией сети Darknet19 (YOLO), это аналог сервера на 4 Tesla T4, но с меньшим энергопотреблением и минимум в 2 раза дешевле по стоимости.

                0
                А стоимость работы по созданию и настройке всего этого добра вы в расчет не включили? Во многих странах день работы инженера стоит сравнимо со стоимостью всего этого железа.
                  +1
                  Включили. Мы поставляем сервер в комплекте с софтом по детекции и распознаванию объектов (марки, модели ТС и номера) или предустановленной ОС Linux. Для дальнейшей работой с группой устройств, вы можете использовать связку Docker, Docker Swarm, Ansible для максимально гибкой и быстрой настройки.
              +1
              Как будто выглядит избыточным — вентиляторы на каждый блок. Видимо сделано для возможности замены по блочно о чем написано в тексте. Просится по одной «шпале» на каждую сторону.
                0

                Да, все верно. Вроде, отразили это в тексте. Версия на фото — выставочная. При открытой верхней крышке сервера "шпалы" с вентиляторами (ее достаточно устанавливать с одной стороны) не хватает, так как нарушается поток воздуха. В продакшн версии блок вентиляторов находится на наружной стороне, продувая от холодного коридора в сторону горячего (спереди назад).

                  0
                  Всё-же на высос с горячей стороны обычно эффективнее, чем на вдув с холодной. Кроме того, если ставить что-то типа этого: FAN-0086L, то Вы бы поместились бы внутри, за счет экономии 4х посадочных мест для вентиляторов возле каждого нук-а
                    0
                    Спасибо, учтем!
                0
                Я лично видел рак с супермикрами, у которых грелся в дежурке БП, но так как рак был выключен и в дежурке, то продув не работал и блоки прогревали друг друга, т.к. были в одном месте, и верхние блоки падали в ошибку, убирая дежурку, и таким образом сервера не были доступны даже по IPMI… Вот Вам и пассивное охлаждение…
                  0
                  Здесь уже вопрос условий эксплуатации и своевременного обслуживания оборудования, скорее возникает, чем вопрос проектирования…
                    0
                    Условия эксплуатации — охлаждаемый датацентр. Просто конкретный рэк был полностью выключен и в дежурке, готовый для новых клиентов. А теперь представьте надеплоить рэк пассивных устройств как у Вас, когда продува то и не предвидится. Я вот к чему.
                      0
                      Весь сервер потребляет не более 450 Вт. БП — 500 Вт и оснащен системой активного охлаждения, выведенной на заднюю панель сервера. Он, в принципе, не может настолько нагреться, чтобы выйти за рамки рабочего диапазона. В продакшн версии сервера с активным охлаждением — 2 БП по 600 Вт Supermicro с системой активного охлаждения, которая не требует дополнительного (стоечного) продува.
                  +2
                  Сделайте так, чтобы все разъемы/индикация были спереди сервера. Пожалейте тех, кто будет эксплуатировать это дело…
                    0

                    Согласны, тоже задумывались об удобстве эксплуатации и сделали. На передней части сервера в продакшн версии располагается дисплей, на котором отражается информация по статусу и индикация неисправностей (внутри Nano Pi от FriendlyARM для сбора статистики и управления по GPIO).

                      0
                      По просьбам трудящихся сейчас выпустили второй ревижен сервера с учетом множества замечаний, о которых вы писали в том числе. Был реализован следующий основной функционал:

                      • IPMI/BMC — мониторинг и управлением компонентами системы;
                      • графический OLED дисплей на передней панели с индикацией текущих состояний каждого модуля NUC, IP-адресами, нагрузки на систему, сообщений об ошибках и сбоях, температур всех и вся, оборотов вентиляторов и т.д.;
                      • быстрая горячая замена (Hot Swap) модулей NUC;
                      • быстрая горячая замена высокопроизводительных вентиляторов;
                      • активное управление вентиляторами по температуре с модулей NUC и дополнительных датчиков входящего и выходящего воздуха;
                      • избавились от обилия сетевых проводов- развели их на плате;
                      • установили два БП с поддержкой Power Management и возможностью горячей замены.

                      Схема сервера на базе 8 х Intel NUC
                      image
                      0
                      Как данные попадают в сервер с 8-ю NUCами?
                        0

                        По сети, вход 3 Гбит (основной и резервный), внутрення маршрутизация между узлами — по 1 Гбит. Пол инференс этого хватает с запасом. 80 потоков по 4 Мбит/сек = 320 Мбит/сек на входе и по 10 потоков на каждый Intel NUC: 4 Мбит/сек * 10 потоков = 40 Мбит/сек.

                          0
                          Какие параметры у камеры, что дает 4Мбит/с?
                            0
                            Full HD, 30 FPS, H.264, CBR
                        0
                        вообще говоря, сама идея не очень понятна. Iris как GPU довольно хиленькая, одна нормальная видяха от nVidia по идее должна опережать 8 штук нюков.

                        Вы наверное делали какие-либо сравнения — поделитесь результатами? Почему было выбрано решение «много мелких юнитов» против «один большой с тем же потреблением»? Что бы можно было downscale до одного юнита в IP66?
                          +1

                          Очень многогранный вопрос. Во-первых, все зависит от топологии сети. У нас это Darknet19 (YOLO), сегментация UNET. Аналогичную производительность мы получаем на четырех nVidia Tesla T4, что дороже в два раза и менее выгодно по энергопотреблению. Во-вторых, мы используем гибридный инференс. То есть одна сеть исполняется на CPU (детекция и распознавание номеров), а другая на GPU (классификация марок и моделей ТС). В-третьих, нам нужен аппаратный декодер для обработки входящего видеопотока, чтобы не загружать этим CPU. Таблица сравнений стоимости FPS (стоимость внедрения и стоимость владения) будет в следующем посте. Данные есть в том числе по nVidia GTX, RTX, Tesla, Xavier и другим решениям. Но сейчас не хватает кармы для публикации :(


                          Intel NUC и другие решения "на краю" мы уже применяем. В нижней части статьи показали Outdoor Box NUC, IP66, климатический модуль, температурный диапазон -40+50. Есть варианты на FriendlyARM Nano Pi M4, Upboard и другие. Выбор конкретных устройств зависит от задачи. Не везде Intel NUC будет оптимальным.

                          0
                          Если прям так сильно хотелось безвентиляторный сервак, то вполне логично было бы разместить корпуса вертикально, «на боку», и соответственно поменять направление ребрения радиаторов.
                          Какой смысл колхозить в серверной такую штуку, если там и так постоянно ревут сотни вентиляторов? Я бы еще понял если бы это для дома.
                          Себе я собрал в миди-тауэре домашний «сервачёк» (одна «большая» мать, три распберри и 7 дисков) — поставил три тихоходных 140 мм вентилятора на вдув (через фильтра), корпус стоит под давлением — внутри чисто, заодно работает как очиститель воздуха в квартире. С 2-3 метров его уже не слышно, рядом заметно только шуршание воздуха.
                            0

                            Собственно, так и есть в устройствах наружной эксплуатации. Это линейка Outdoor Box (компактные сервера для инференса на краю). Здесь был, скорее, эксперимент с прицелом на будущее и применением технологий пассивного охлаждения на Нюках восьмого поколения. В рамках стоечного корпуса надеялись на прецизионные системы охлаждения серверных, но при полученном тепловыделении это оказалось невозможным.

                            0

                            А почему использован именно такой микрот? Разве не могла подойти более простая модель?

                              0
                              Требовался SFP и возможность корректировки правил маршрутизации, плюс он стабилен при пассивном охлаждении (в случае отключения PoE).
                                0
                                2011|3011 и простые из серии CRS тоже подходят под эти требования, но стоят ещё меньше.
                                  0
                                  2011 вычеркните, это я не проснулся. У него только 5 гигабитных портов (+ один sfp). Другие 5 портов — 100 мбит.
                                    0
                                    Они кардинально разные. 3011 — температурный диапазон до 40 градусов, 4011 — до 70 градусов. В варианте с пассивным охлаждением в рамках закрытого серверного корпуса это важно. Разница в стоимости 3011/4011 — около 1000 руб. Внутренняя пропускная способность 4011 — 40 Гбит/сек.
                              0
                              Просто интересно, как часто нуки дохнут у Вас?
                                0

                                Полная статистика есть по 4-ому поколению Нюков в корпусах наружного исполнения с климатикой. Там около 10% с 2015 года. По 8-ому поколению за 6 месяцев тестовой эксплуатации нет ни одного вышедшего из строя (48 штук работает исправно).

                                  0
                                  Процессор себя не даёт перегреть, в отличие от внешнего видеочипа. Вероятно, этим и обусловлен полученный результат.
                                    0
                                    Да, верно. Он переходит в тротлинг, т.е. понижает частоту и отключает часть ядер при перегреве. Но это отразится и на быстродействии в том числе. При тестировании устройств (как в серверном исполнении, так и в корпусах наружного применения) мы проверяем устройства на отсутствие тротлинга в процессе эксплуатации, а с работающих устройств собирается статистика (Zabbix, Chronograf), что также позволяет отслеживать тротлинг и температуру по сенсорам.
                                  0
                                  подскажите как/где изготоавливали радиаторы?
                                    0
                                    Вероятно, просто подобрали подходящий. Производство маленькой партии недёшево. Вообще на фрезерах с ЧПУ изготовляют массово то, что невозможно на экструдере.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое