Render.ru

Рендер ферма SheepIt + облачные вычисления

Иван Давыденко (Singular)

Пользователь сайта
Рейтинг
4
#1
Многие из вас наверняка слышали про распределённою рендер ферму SheepIt.
А кто не слышал, вкратце расскажу. SheepIt - рендер ферма состоящая из моделистов-добровольцев, готовых предоставить своё железо для рендера чужих проектов. Работает система очень быстро. Я вчера отрендерил ролик за 40 мин, который на моём железе занял бы 72 часа.
Заинтересовал??? Прошу на регистрацию. Больше народу - быстрее рендеры.

Но тема не о том.
Дабы противостоять паразитированию (всё себе и ничего людям), на сайте действует рейтинговая система. Выше рейтинг - быстрее рендер, и наоборот (может даже уходить в минус). Рендеришь чужие проекты - рейтинг растёт, предоставляешь свой - падает. На каждый потраченный бал рейтинга заказчика система начисляет +4 балла исполнителю.
Иногда, по тем или иным причинам мы не можем предоставить компьютер на рендер. "Надо самому", "слишком слабый", "уезжаю и надо выключить", "перегревается"... еще куча отговорок.
В данном посте я хочу поделится с вами решением данной проблемы. А решение на поверхности - Google Cloud, Amazon AWS, Oracle Cloud. Эти компании предоставляют облачные сервера бесплатно, а в Google Cloud ещё есть квота на 300$ и 90 дней теста любого оборудования.

Для развёртывания рендер ноды (так я называю виртуальную машину занятую рендером) делаем следующее
1. Регистрируемся на сервисе
2. Создаём виртуальную машину для облачных вычислений. Я создавал на Debian и Ubuntu, потому команды выкладываю для них.
3. В консоли вводим следующие команды по очереди и жмём Enter
sudo apt-get update
sudo apt-get install openjdk-11-jre screen wget
sudo chmod 777 * -R
wget https://www.sheepit-renderfarm.com/media/applet/sheepit-client-6.21175.0.jar;
sudo screen sudo java -jar sheepit-client-6.21175.0.jar -ui text -login *логин от аккаунта sheepit* -password *Пароль от аккаунта sheepit*


В случае если вы хотите воспользоваться сервером с установленным GPU надо будет 2-ю команду заменить на
sudo apt-get install libboost-all-dev libgl1-mesa-dev default-jre openjdk-11-jre screen wget
Это дополнительно установит библиотеки для гетерогенных вычислений (CUDA и OpenCL)

Что может пойти не так:
На 3-й команде может не скачаться клиент. Причина будет в изменённой версии. На момент написания статьи версия клиента 6.21175.0. Если версия изменится, её проверяем на сайте. Скачиваем, смотрим номер, меняем номер во 2-й команде.

Если кто считает что это читинг. Это не так. Мы предоставляем реальное железо для решения реальных задач. Своими действиями мы помогаем другим людям.
Я этим уже сутки занимаюсь. Метод работает, всё супер. За 24 часа мой рейтинг вырос с -15000 до 36000. На снимке видно что я использую бесплатные сервера от Amazon и Google, а так же припахал один гугловский сервер по квоте 300$ и еще задействовал платформу Google Colab.

изображение_2021-09-07_204300.png
 

Иван Давыденко (Singular)

Пользователь сайта
Рейтинг
4
#3
Хочу добавить скрипт для использования Google Colab. Это тоже бесплатный сервис предоставляющий серверные мощности в личных целях.
В Colab используется Pyton а не Bash, потому команды будут выглядеть немного иначе.
!sudo apt-get update
!sudo apt-get install libboost-all-dev libgl1-mesa-dev default-jre openjdk-11-jre screen wget
!sudo chmod 777 * -R
!wget https://www.sheepit-renderfarm.com/media/applet/sheepit-client-6.21175.0.jar;
!sudo screen sudo java -jar sheepit-client-6.21175.0.jar -ui text -login *логин от аккаунта sheepit* -password *Пароль от аккаунта sheepit*

Всё то же самое, только со знаком !

Преимущество Colab в том что можно запускать несколько экземпляров кода одновременно, это распределит выполнение по разным машинам.
Недостаток - нужно держать вкладки браузера открытыми, иначе выполнение скрипта прекратится. Опять же, это проще и перспективнее для всех.

Примерно так выглядит мой аккаунт сейчас. Моделирую на одном ПК со стареньким атлоном, а в целях рендера предоставляю 13 машин, большинство из которых XEON.
1631186742405.png
 
Сверху