Энергоэффективность ASIC под пристальным взглядом: что J/TH показывает в реальности и где обманывает паспорт

от автора

Почему именно J/TH, а не Вт и не TH/s

Хешрейт сам по себе плохо описывает экономику фермы: 100 TH/s можно получить и за 3000 Вт, и за 3500 Вт, и разница в счёте за электричество за год превратится в десятки тысяч долларов. Потребление в ваттах тоже мало о чём говорит без привязки к производительности: важна не абсолютная мощность, а то, во что она конвертируется.

Энергоэффективность J/TH (джоуль на терахеш) даёт стабильную единицу сравнения. У современных топовых ASIC она лежит в диапазоне 18–22 J/TH в стоковой прошивке и опускается до 14–16 J/TH на тонко настроенных кастомных прошивках. Это не «процент улучшения», как в графике производителя, а прямое отношение, по которому считается рентабельность.

Главная проблема: J/TH — производная метрика, и её точность зависит от того, как вы измеряете и числитель, и знаменатель.

Три разных J/TH

У одного и того же устройства одновременно сосуществуют как минимум три значения энергоэффективности, и они почти всегда отличаются.

Паспортная J/TH

Та цифра, которую печатают на коробке. Получена в лаборатории производителя при оптимальной температуре, новой прошивке, эталонной нагрузке и часто на отобранных экземплярах из партии. Это потолок, к которому в полевых условиях приближаются только идеально настроенные устройства, и то ненадолго.

Лабораторная J/TH (на стенде)

То, что вы получаете на собственном тестовом стенде с откалиброванным ваттметром, при контролируемой температуре воздуха на входе, на свежем устройстве и без сетевых потерь. Обычно отличается от паспортной в худшую сторону на 3–8 процентов: разные экземпляры даже одной модели имеют разброс по чипам, а измерение мощности «с розетки» включает потери БП.

Полевая J/TH (на ферме)

То, что считается из реального потребления на фидере и реального хешрейта по принятым шарам. Именно это число определяет вашу экономику. Полевая J/TH хуже лабораторной ещё на 5–15 процентов из-за температуры воздуха в зале, состояния термоинтерфейса, износа БП, доли отбракованных шар и потерь сети.

Сценарий, который мы видели регулярно: устройство с паспортом 21 J/TH на стенде показывает 22 J/TH, а в зале при +35 градусах в горячем коридоре — 24,5 J/TH. Это не брак и не «обман производителя», это нормальная физика, которую важно учитывать в расчётах.

Что меняет реальную энергоэффективность

Понимание факторов, влияющих на J/TH, — это половина задачи. Дальше можно осознанно решать, чем жертвовать.

Температура чипов

У ASIC, как и у любых полупроводников, рабочая точка по эффективности уплывает с температурой. На 5 градусов выше — у разных моделей это от 2 до 5 процентов хуже J/TH. Это связано с ростом утечек и необходимостью поднимать напряжение, чтобы удерживать частоту. Поэтому даже без всякого тюнинга простое снижение температуры в зале с +35 до +28 градусов на входе даёт ощутимый прирост по эффективности всего парка — измеримый деньгами.

Напряжение и частота

Вся современная история про undervolt и autotuning — это поиск точки на кривой «частота – напряжение», где соотношение «производительность к мощности» максимально. Стоковая прошивка обычно настроена консервативно, с запасом по напряжению на самые худшие чипы партии. Если у конкретного экземпляра чипы хорошие, можно работать на меньшем напряжении при той же частоте, и это сразу снижает потребление при том же хешрейте.

Качество блока питания

КПД блока питания на разных нагрузках разный. На 100-процентной нагрузке у качественного PSU КПД 93–95 процентов, у изношенного или дешёвого — 85–88. Это означает, что 5–10 процентов «лишних» ватт уходят в тепло, и это тепло вы сначала генерируете, а потом ещё и охлаждаете. На полевой J/TH это даёт прибавку 1–2 единицы.

Прошивка

Кастомные прошивки (Vnish, Braiins OS+, LuxOS и аналоги) делают две вещи: автоматически подбирают рабочие точки под конкретный экземпляр и более агрессивно работают с частотой каждого чипа в отдельности. Производительности обычно не прибавляют, но снижают потребление при том же хешрейте — иногда на 15–20 процентов. Платой становятся: подписка, потенциальная нестабильность на отдельных партиях устройств и риск, что после очередного обновления стоковой ОС часть фич перестанет работать.

Возраст и деградация

У ASIC есть медленный, но неизбежный процесс деградации чипов. За 18–24 месяца типовая ферма теряет 3–7 процентов эффективности при том же режиме работы. Это видно по медленному дрейфу кривой потребления вверх и по росту брака шар. Если игнорировать, через два года ферма «незаметно» становится на 10 процентов дороже в эксплуатации.

Тестовый стенд: как мы измеряли

Все приведённые ниже числа получены на одном и том же тестовом стенде. Сценарий специально устроен так, чтобы исключить максимум переменных и мерить именно энергоэффективность, а не «погоду в зале».

  • Помещение с поддержкой постоянной температуры воздуха на входе устройства +25 градусов, влажность 40–50 процентов.

  • Питание устройства через откалиброванный ваттметр с разрешением 1 Вт и логированием раз в секунду; параллельно — снятие тока и напряжения по 12 В шине внутри устройства.

  • Хешрейт регистрируется двумя способами: через локальный API (cgminer/bmminer summary раз в 10 секунд) и по принятым шарам с тестового пула (с переcчётом в эффективный хешрейт за окно 1 час).

  • Каждое измерение — после 30-минутного прогрева устройства до выхода в стационарный тепловой режим.

  • Каждый эксперимент повторяли минимум 3 раза с интервалом не менее суток на одном и том же экземпляре устройства, чтобы видеть разброс. Метрики собирались тем же контуром мониторинга, который мы используем у себя в продакшене — с теми же парсерами, нормализацией и формулами эффективного хешрейта. Это важно: если для тестов вы пишете отдельный «специальный» код, потом вы будете долго объяснять, почему числа на ферме отличаются от лабораторных.

Серия экспериментов

Эксперимент 1. Стоковая прошивка против undervolt

Брали популярную модель ASIC последнего поколения с паспортным значением 21 J/TH. Сравнивали стоковую прошивку и undervolt вручную (опускали напряжение шагами по 10 мВ до момента, после которого начинали расти ошибки на чипах).

Конфигурация

Хешрейт, TH/s

Потребление, Вт

J/TH

Сток (паспорт)

110,0

2310

21,0

Сток (стенд)

108,7

2380

21,9

Undervolt -40 мВ

108,1

2210

20,4

Undervolt -60 мВ (на грани)

107,6

2150

20,0

Что важно: на каждом дополнительном шаге андервольта вы уходите от стоковой стабильности, и доля брака шар начинает медленно расти. На -60 мВ устройство стабильно работало в стенде, но повторение эксперимента после изменения условий (другая партия чипов, более высокая температура) показало, что граница безопасного андервольта плавает на 10–15 мВ от экземпляра к экземпляру. Поэтому на ферме мы не используем единый профиль — autotuning по чипу почти всегда даёт лучше число, чем единый андервольт по парку.

Эксперимент 2. Прошивки с автотюнингом

Тот же экземпляр устройства, последовательно: стоковая прошивка → Vnish → Braiins OS+ → LuxOS. На каждой запускали процедуру автотюнинга в режиме «эффективность». После завершения тюнинга — 24 часа стационарного измерения.

Прошивка

Хешрейт, TH/s

Потребление, Вт

J/TH

Сток

108,7

2380

21,9

Vnish (efficiency)

107,9

2070

19,2

Braiins OS+ (efficiency)

108,2

2050

19,0

LuxOS (efficiency)

108,4

2080

19,2

Все три кастомные прошивки сошлись в районе 19,0–19,2 J/TH, что на 12–13 процентов лучше стоковой. Хешрейт остался почти тем же (расхождение в пределах 0,7 TH/s — на уровне шума). Но это число «стенда» при +25 градусах. На ферме при +33 градусах в горячем коридоре та же конфигурация даёт уже 20,1–20,4 J/TH, а при +38 — около 21 J/TH, что почти возвращает нас к стоковой эффективности. Это часто упускают, когда считают экономику тюнинга «по табличке».

Эксперимент 3. Влияние входной температуры

На той же конфигурации (Braiins OS+ efficiency) поднимали температуру воздуха на входе с +20 до +40 градусов с шагом 5 градусов. Каждое измерение — после полного прогрева в новый стационар.

Темп. входа, °C

Хешрейт, TH/s

Потребление, Вт

J/TH

+20

108,3

2030

18,7

+25

108,2

2050

19,0

+30

108,0

2090

19,4

+35

107,7

2160

20,1

+40

107,1

2240

20,9

Двадцать градусов разницы превратились в 11 процентов J/TH. Если перевести в деньги, для парка из тысячи устройств с потреблением 2 кВт каждое и тарифом 7 центов за киловатт-час это разница порядка 60 тысяч долларов в год — только из-за поднятой температуры воздуха в зале. Это, как правило, дешевле решается улучшением охлаждения, чем заменой устройств на следующее поколение.

Эксперимент 4. Износ блока питания

Сравнивали два экземпляра одной модели PSU: новый и поработавший два года в условиях фермы (с потёртыми вентиляторами и небольшим запылением). Конфигурация устройства одинаковая.

PSU

Хешрейт, TH/s

Потребление, Вт

J/TH

Новый

108,2

2050

19,0

С пробегом 2 года

108,0

2160

20,0

Один процент разницы по хешрейту, пять процентов по потреблению. На уровне отдельного устройства это незаметно; на уровне парка — это статья расходов, которая годами «прячется» в общем счёте за электричество. Хорошая практика — раз в 12–18 месяцев иметь регламент проверки PSU и метрику износа в своём мониторинге.

Что нужно от мониторинга, чтобы считать энергоэффективность честно

Чтобы получить полевую J/TH, которой можно доверять, контур мониторинга должен покрывать четыре точки.

  • Эффективный хешрейт устройства за окно (по принятым шарам), а не мгновенный из API. Мгновенный шумит, и арифметическое среднее по нему систематически завышено на 1–3 процента.

  • Электрическое потребление либо с откалиброванного ваттметра в стойке, либо с «умного» PDU; полагаться только на цифры из API устройства нельзя — они часто рассчитанные, а не измеренные.

  • Температура воздуха на входе — не «внутри устройства», а именно на входе, отдельным датчиком; иначе при росте оборотов вентиляторов вы будете считать энергоэффективность «лучше», чем она есть на самом деле.

  • Версия прошивки и активный профиль настройки — отдельной меткой в TSDB. Без этого вы не сможете разобрать, почему одна группа устройств вдруг стала на 4 процента хуже остальных. Производная метрика, которую полезно держать на главном дашборде — скользящее среднее J/TH за 24 часа на устройство и за 7 дней на стойку. По этим кривым видны и разовые регрессии (после обновления прошивки), и медленные дрейфы (деградация PSU, забивание радиаторов, износ чипов).

Несколько практических выводов

  • Паспортная J/TH — это маркетинг, лабораторная — спорт, полевая — деньги. Считайте экономику только по третьей.

  • Сначала охлаждение, потом тюнинг. Снизить температуру воздуха на входе на 5–7 градусов чаще всего дешевле и эффективнее, чем покупать кастомную прошивку.

  • Кастомные прошивки дают реальные 12–18 процентов по J/TH, но только если вы измеряете эффект на своих устройствах, а не верите рекламным графикам.

  • Не используйте единый профиль андервольта по парку. Лучше тратить время на autotuning, который подбирает напряжение под каждый чип.

  • Раз в год регламентно проверяйте PSU на стенде. Износ за два года заметно «съедает» эффективность.

  • Версия прошивки — это метрика, а не подпись на коробке. Мониторьте её, чтобы разбираться в регрессиях.

Что в итоге

Энергоэффективность ASIC — это не одна цифра, а распределение, которое формируется температурой, прошивкой, состоянием БП, возрастом устройства и качеством сети. Если строить эксплуатацию вокруг паспортного J/TH, вы будете годами недоумевать, почему счёт за электричество не сходится с моделью. Если строить её вокруг полевого J/TH, измеренного честным способом, у вас появляется рычаг управления экономикой, потому что каждая улучшенная единица в этой метрике сразу превращается в деньги. Все эксперименты выше — это, по сути, про то, как сделать так, чтобы у вас полевая J/TH максимально приблизилась к лабораторной, а лабораторная — к паспортной.

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

ссылка на оригинал статьи https://habr.com/ru/articles/1033398/