Домашний кластер на ESP32: производительный и доступный — $7 за ноду
Утомили скучные ПК?! Хочется разнообразия? Постройте универсальный домашний кластер на базе ESP32 и используйте его хоть для рендеринга сложных 3D-сцен, хоть для, прости Господи, майнинга.
Стоимость сборки вычислительного кластера
Мы уже изучали, как из говна и палок Paspberry Pi и ноута собрать в домашних условиях суперкомпьютер, потратив всего $2000. Но откуда у россиянина, живущего в нашей процветающей сверхдержаве, 125 тысяч рублей на развлечения с гаджетами? Тут на Ролтон уже не хватает порой... Удешевим суперкомп за счет перехода с Paspberry Pi, который стоит $35 + доставка, на платы ESP32, которые доступны даже бомжам подзаборным — всего $7 — и заодно повысим производительность в пересчете на единицу цены.
Характеристики одноплатного компьютера ESP32
Характеристики ESP32 на первый взгляд не впечатляют:
[table Характеристика ESP32 | Значение
Процессор | Tensilica Xtensa 32-bit LX6
Количество ядер | 2
Частота | до 240 МГц
ОЗУ | 512 Кб
Особенности | Сопроцессор с ультранизким потреблением энергии]
Но одна нода стоит всего 7 долларов, следовательно, напихать их можно довольно много. А еще ультранизкое потребление энергии сопроцессором приятно порадует, когда придет срок платить за электроэнергию.
Celery для управления кластером
И вот мы купили миллион ESP32 и объединили в кластер. Но как запускать на нем задачи так, чтобы они распараллелились и задействовали всю вычислительную мощь? Знающие люди советуют использовать Celery. Celery — распределенная очередь задач — удобнейший инструмент. Он позволяет разбивать тяжелые процессы на подзадачи, выстраивать их в очереди и параллельно выполнять, собирая за тем результат. Вот пример вычислений:
>>> # (4 + 4) * 8 * 10
>>> res = chain(add.s(4, 4), mul.s(8), mul.s(10))
Proj.tasks.add(4, 4) | proj.tasks.mul(8) | proj.tasks.mul(10)
>>> res = chain(add.s(4, 4), mul.s(8), mul.s(10))()
>>> res.get()
640
Любопытный факт напоследок
Известен случай, когда умельцы собрали домашний кластер из 1000 нод Raspberry Pi. Энергопотребление всех нод + затраты на коммутацию + охлаждение в сумме дали всего 6 киловатт.
Комментарии
Texnoline
18 апреля, 2018 - 07:36
SoC - для беспроводных модулей, Core - очень слабое для майнинга, "почти нулевое"! Производительность - будет в районе: 1х10е-9 хешей/с. :))))
Комментировать