Рендер-ферма "Бормотунчика" )

Список разделов Общие разделы Обсуждение CG

Описание: О работах, выполненных на компьютере. Видео, тридешечка, просто рисунки.
Модератор: exooman

  • 20

Сообщение #1 girafenok » 30.03.2014, 01:48

Что такое Рендер-ферма
Рендер-ферма представляет собой объединение компьютеров в сеть с целью ускорение процесса рендеринга изображения или анимации. Анимация разбивается на кадры, изображение разбивается на части и рендерятся независимо на отдельных компьютерах, подключенных к ферме, тем самым позволяя ускорить процесс рендеринга за счет параллельного просчета проекта.
Рендер-ферма состоит из компьютеров, осуществляющих ренедеринг проектов - нодов, работающих под управлением компьютера, распределяющего задания - сервера.
Управлением рендер-фермой рсуществляет программное обеспечение, называемое менеджером сетевоого рендринга.

Вступление: идея, цели, анализ рынка
Так случилось, что много лет назад я заинтересовался темой сетевого рендеринга. Компьютеров было достаточно много, поэтому вопрос стоял только в подходящем менеджере рендеринга. При этом, так как часть работы осуществлялась вне учреждения, компьютеры работали под разными операционными системами, программы для рендеринга использовались разные и много других нюансов, то для менеджера сетевого рендаринга были соформулированы следующие требования:
1. Кроссплатформенность. Система управления должна работать под управлением различных операционных систем, как минимум под управлением трех основных: Linux, MacOS и Windows. Система должна иметь возможность запуска системы в консольном режиме.
2. Гетерогенность. Система должна уметь управлять компьютерами в смешанных сетях, т.е объединять компьютеры, находящиеся в разных локальных сетях, а также не имеющих внешнего ip-адреса..
3. Автонастройка. Система должна самостоятельно уметь включать или исключать компьютеры из рендер-фермы. Подключаемые к рендер-фермы компьютеры должны автоматически настраиваться на участие в рендер-ферме.
4. Универсальность. Система должна поддерживать различные программы создания 3d графики и рендеринга.
5. Многопользовательская система. Систему одновременно и независимо друг от друга должны иметь возможность использовать несколько пользователей.

Поиск показал, что существуют следующие готовые решения: собственные средства систем 3D графики по управлению рендерингом в компьютерных сетях, коммерческие менеджеры, свободные менеджеры Loki Render, DrQueue, Farmjoe, Afanasy. Анализ существующих систем управления сетевым рендерингом выявил, что ни одна из рассмотренных систем не соответствует установленным критериям. Наихудшие показатели для большинства систем оказались по критериям автонастройка и гетерогенность. Некоторые менеджеры мне даже попробовать не удалось из-за черезвычайно сложной установки и настройки.
В итоге возникла идея создания собственного менеджера и построения на его основе рендер-фермы. За 4 года неспешного развития система доросла до уровня, когда ей можно начать пользоваться.

Рендер-ферма "Бормотунчика" является бесплатной community-based рендер-фермой, т.е. вычислительные мощности фермы складываются из ресурсов пользователей-добровольцев.

Программное обеспечение состоит из программ сервера, нода и клиента.
Описание программного комплекса
Нод превращает ваш компьютер в узел рендер фермы, осуществляющий рендеринг проектов пользователей.
Клиент - программа, с помощью которой можно формировать задания для рендер-фермы, следить за ходом и получать информацию о рендер-ферме в целом.
Управление клиентами и нодом осуществляет программа сервер, работающая на VDS.

Программное обеспечение фермы разработано с использованием языка программирования Python, сетевого фрейворка Twisted и инструментария разработки Qt.
Программное обеспечение не требует какой-либо настройки и готово к использованию сразу после установки и регистрации.

На текущей момент ПО обеспечение фермы поддерживает
Программы:
Blender верси 2.69 и 2.70, рендеры: internal, cycles, lux, povray.
LuxRender 1.3.1 standalone.
PovRay 3.7 standalone.
В разработке находится поддержка Pixie, Aqsis, 3DELight, Vray и др. На самом деле, может быть добавлен любой рендер имеющий возможность ренедрить из командой строки.

Операционные системы и дистрибутивы:

Ubuntu 12.04 и новее, а также производные от них.
Windows XP/7/8.
Поддержка других ОС и дистрибутивов будет осуществляться по мере необходимости.

Для стимулирования использования фермы введен рейтинг.
Расчет рейтинга
Рейтинг считается в ТГц/ч. Сид - нод. Лич - задачи пользователя.
Для сида считается количество ГГц потраченных на рендеринг задачи и времени, проведенном нодом в ожидании. Время переводится как 0.1 ГГц/ч за час ожидания вне зависимости от мощности машины.
Для лича считается количество ГГц/ч потраченных на рендеринг задач сумарно всеми нодами.
Рейтинг - отношение значений лича и сида.

Внешний вид клиента:
Изображение

Официальный сайт проекта: render.gabbler.ru.
Скачать: render.gabbler.ru/download.html
Для того, чтобы нод могу работать в графическом режиме, необюходимо устанавливать программы и клиента, и нода. Для подсчета рейтинга необходимо зарегистрировать в ферме пользователя и зарегистрировать нод(ы) от имени этого пользователя.
Немного документации: render.gabbler.ru/work.html. Будет обновляться по мере возможностей.

Замечания:
1. Программное обеспечение рендер-фермы все еще находится в разработке, поэтому возможны ошибки и сбои в работе фермы.
2. Защита проектов на текущий момент не реализована. Проект доступен всем нодам в открытом виде, пока задача не будет удалена.
3. Рендеринг проектов, не умещающихся в памяти нодов проходит не предсказуемо, просьба это учитывать. Размер файла проекта на рендеринг влиять не должен.
4. Репозитарий для дистрибутивов Linux находится в разработке.
5. Поддержка рендеринга на GPU появиться позже.

Пожелания по работе и возможностям рендер-фермы приветствуются!



Последняя версия программного обеспечения.
Это алmфа версия значительно переработанного программного обеспечения. Поддерживает только Blender: Internal и Cycles. После стабилизации кода, будут восстановлены все возможности. Работает параллельно с предыдущей версией.

Пост с описанием изменений: /viewtopic.php?p=58242#p58242

Пакеты deb и rpm собирались в Ubuntu 12.04.
Пакеты для Arch собирались в Manjaro 0.8.
Версия для Windows собиралась в Windows 7 64 bit.

Deb:
http://render.gabbler.ru/download/debs/gbfarm.blender27-plugin_8.0_amd64.deb
http://render.gabbler.ru/download/debs/gbfarm.node_0.60-4_amd64.deb

RPM:
http://render.gabbler.ru/download/rpms/gbfarm.blender27-plugin-8-1.x86_64.rpm
http://render.gabbler.ru/download/rpms/gbfarm.node-0.60-4.x86_64.rpm

Windows:
http://render.gabbler.ru/download/win/gbfarm-blender27-plugin_8-1_x64.exe
http://render.gabbler.ru/download/win/gbfarm-node_0.60-4_x64.exe
Последний раз редактировалось girafenok 21.01.2017, 02:41, всего редактировалось 6 раз(а).
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626


Сообщение #801 Levitanus » 20.07.2016, 09:55

Юрий Небесный, 941E5 - моя, у меня там были траблы со шлюзом, потом вроде вернулся
пишу музыку, примеры тут
Levitanus M
Аватара
Откуда: Новосибирск
Сообщения: 741



Сообщение #802 girafenok » 20.07.2016, 10:00

Юрий Небесный писал(а):Error while command execute
Работаем над этим.
Юрий Небесный писал(а):А чья нода а7F86? Можно попросить ее на ЦПУ переключить?
Это кто-то из ВКонтакте, еще бы вспомнить кто.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #803 Жолт Безруков » 20.07.2016, 10:08

girafenok, а клиент для виндовса у вас есть? А то мне что то попробовать тоже захотелось. Не убунту же для этого специально ставить?

Добавлено спустя 1 минуту 18 секунд:
А, все, нашел, извиняюсь.

Добавлено спустя 18 минут 48 секунд:
И у меня не работает. Как запустить?

http://imgur.com/DZsYh9E
Жолт Безруков

  • 1

Сообщение #804 girafenok » 20.07.2016, 10:35

Жолт Безруков, Плагин для Блендера - это только маленькая часть системы.Чтобы можно было рендерить задачу нужно еще устновить клиент.

http://render.gabbler.ru/download/win/gabbler_client_0.51alpha-1_x64.exe

И плагин в начальной стадии разарбатки, лучше пользоваться непосредственно клиентом.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #805 Жолт Безруков » 20.07.2016, 10:47

girafenok писал(а):лучше пользоваться непосредственно клиентом.
Ага. Далее я в блене сохраняю файл модели, потом его открываю в клиенте и запускаю рендеринг?
Жолт Безруков

  • 1

Сообщение #806 girafenok » 20.07.2016, 10:50

Жолт Безруков,
Да. Только текстуры надо упаковать.
Чуть подробнее здесь:
http://render.gabbler.ru/docs/work.html#prepare
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #807 stark » 22.07.2016, 19:02

Юрий Небесный, разбань меня, нод eb282. Ещё раз попробую на GPU кадр посчитать.

Добавлено спустя 1 час 43 минуты:
Неа, не работает. Хотя локально рендерит и результат выглядит правильно. Переключил назад на СPU.
stark M В сети
Сообщения: 1411

Сообщение #808 СамСуCам » 22.07.2016, 21:26

stark, На ферме Blender 2.76, а у тебя наверно 2.77
В любой непонятной ситуации спи, кушай и улыбайся. SATtva
Моя галерея Ежедневный конкурс моделирования в Blender
СамСуCам M
то добрый, то злой админ
Аватара
Откуда: Русь, Китеж
Сообщения: 3051



Сообщение #809 stark » 22.07.2016, 22:17

СамСуCам, 2.76b тоже рендерит в офлайне.

Добавлено спустя 16 часов 49 минут:
Ура, заработало! :beer:
Дело было в том, что blender 2.76b из пакета-плугина к рендерферме хочет писать kernel cache (файлы .clbin) в /opt/gabbler/render/node/blender27/2.76/cache/ а ему это запрещено, оттого и FAILED. Разрешил всем желающим писать в этот cache каталог, и теперь работает.
Ещё насторожило, что в User Preferences этого blender указан Compute Device: None а не OpenCL, - но оказалось что это не мешает.

Есть проблемка с тем, что от запуска к запуску Blender иногда возникает ошибка рендеринга в Cycles на моём AMD GPU, которая лечится перезапуском Blender до победного. Но текущая логика нода справляется с этой ситуацией: нод пробует делать второй запуск в случае неудачи и со второго раза пока срабатывает. Потому работает само.

Но для каждой задачи мне придётся проверять корректность рендера тестом вручную, если я хочу рендерить на GPU и корректные кадры выдавать, из-за того, что не все фичи Cycles поддерживаются.

Надеюсь сейчас Юрий правильные кадры от меня получает :)

Добавлено спустя 2 минуты 46 секунд:
3 нода, все на GPU, сейчас рендерят около 21 кадра в час... ещё часов на 6-7 работы при неизменной конфигурации рендерфермы.
stark M В сети
Сообщения: 1411

Сообщение #810 girafenok » 23.07.2016, 15:38

stark писал(а):Ещё насторожило, что в User Preferences этого blender указан Compute Device: None а не OpenCL, - но оказалось что это не мешает.
Эта настройка переписывается скриптом при запуске задачи в соответствие с тем, что указано в настройках нода.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #811 stark » 23.07.2016, 16:10

girafenok писал(а):Эта настройка переписывается скриптом при запуске задачи в соответствие с тем, что указано в настройках нода.
Это хорошо. Я на самом деле не представляю как её при установке изменять - ведь не запишешь в поставочный .blend.
stark писал(а):blender 2.76b из пакета-плугина к рендерферме хочет писать kernel cache (файлы .clbin) в /opt/gabbler/render/node/blender27/2.76/cache/
А вот это нормально? :) Надо с этим что-то делать?
stark M В сети
Сообщения: 1411

  • 1

Сообщение #812 girafenok » 23.07.2016, 16:15

stark писал(а):А вот это нормально? :) Надо с этим что-то делать?
Я так понимаю,что Блендер считает рабочей папкой ту, в которой он нашел свои настройки. Так как с Блендером для нода идут настройки в указанной выше папке, то он туда и пытается писать. Подумаем какэт исправить.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #813 stark » 23.07.2016, 21:27

girafenok, у вас там сервер в норме? Кажется он кадры не принимает - заставляет перерендеривать.
Код: Выделить всё
2016-07-23 22:45:28 Render job ceadddfbe125c3bf0e64e41828349e19 begin. Engine: Blender27Anim. Frame 220.
2016-07-23 22:59:46 Render job ceadddfbe125c3bf0e64e41828349e19 successfull. Engine: Blender27Anim
2016-07-23 22:59:46 Render job ceadddfbe125c3bf0e64e41828349e19 begin. Engine: Blender27Anim. Frame 220.
2016-07-23 23:14:04 Render job ceadddfbe125c3bf0e64e41828349e19 successfull. Engine: Blender27Anim
2016-07-23 23:14:04 Render job ceadddfbe125c3bf0e64e41828349e19 begin. Engine: Blender27Anim. Frame 220.
Другие ноды тоже не могут отрендерить 218, 221 и 222 кадры. Похоже что-то сломалось.
stark M В сети
Сообщения: 1411

  • 1

Сообщение #814 girafenok » 23.07.2016, 21:33

stark,
Да, какая-то ошибка вылезла, перезапустил сервер.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

  • 1

Сообщение #815 stark » 23.07.2016, 21:33

Оперативно, однако )

Добавлено спустя 13 минут 57 секунд:
Неа, буксуем :(

Добавлено спустя 29 секунд:
Может место на диске кончилось? Сервер подключения принимает - живой значит - но файлы отправляются а не берутся.
stark M В сети
Сообщения: 1411

  • 2

Сообщение #816 girafenok » 23.07.2016, 21:50

stark,
Да, место закончилось, 50ГБ скушали. Почистил немного. Сервер еще раз перезапустил.
Уважаемые пользователи фермы, поудаляйте ненужные задачи из клиента, место на сервере нерезиновое :)
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

  • 4

Сообщение #817 girafenok » 25.07.2016, 20:31

Обновление программного обеспечения. Версия 0.58.

Это альфа-версия значительно переписанного программного обеcпечения.
В процессе рефакторинга было удалено около 1000 строк дублирующего и устаревшего кода на стороне клиента. Дело еще за сервером.

Основные особенности.
1. Нод и клиент объединены друг с другом, теперь остался только нод.
2. Нод может работать в трех режимах:
Консольный нод - запусается только нод без графической оболочки. В зависимостях нету графических библиотек, поэтому его можно запускать на серверах без установленной графической подсистемы.
Графический нод - запсукается нод с минмумом графической части - значок в трее и окно настроек.
Клиент - полностью запускается графический интерфейс пользователя.
3. Настройки нода полностью перенесены в графическую часть на вкладку Мои ноды, где можно настраивать все свои ноды независимо от того на каком компьюетре они находятся и в каком режиме работают. Изменения в настройках, в том числе на удаленных нодах, происходят практически немедленно.
4. Информация в графической части нода обновляется автоматически по мере выполнения рендеринга (в процессе доработки).
5. Переработан предварительный просмотр визуализируемой задачи, теперь виден прогресс рендеринга всего изображения.
6. Найдена и устранена, я надеюсь, ошибка из-за которой нод мог долго не подключаться к серверу.
7. Изменилась система рейтинга. Теперь рейтинг расчитывается на основе тестирования нода. После регистрации нода необходимо на вкладке "Мои ноды" нажать кнопку "Test node", которая запускает процесс тестирования. Тестирование проводится для всех найденных вычислительных устройств компьютера: CPU, GPU, Multi GPU. Процесс может быть длительным, в зависимости от мощности и количества устройств компьютера. Результаты тестирования появляются на вкладке рейтинг в "Моих нодах". Без проведенного тестирования рейтинг не считается.
Результат тестирования указывается в секундах.
Ретинг рассчитывается по следующей формуле:
рейтинг=время (с)/3600*время теста эталонного нода/время теста Вашего нода*коэффициент устройства*коэфециент приоритета задачи/1000.

Коэффициент устройства для GPU равен единицы, для CPU равен количество задействованных в рендеринге ядер к общему их кличеству.

Коэфециент приоритета задачи:
garbage - 0, рейтинг не считается, ограничение 3 нода.
background - 1, количество нодов не ограничено, задача рендерится при отсутствии других задач.
low - 0.6.
normal - 1
high - 1.5

Из-за малого количества участников количество нодов, выделяемых для приоритетов low, normal и high сейчас не существенно.

В качестве эталонного нода выступил мой компьюетр, а точнее его процессор Phenom II 960T (4 ядра по 3ГГц). Такми образом рейтинг по прежнему измеряется в ТГц*ч в единицах Phenom II.

8. Введен рейтинг нода, количественная характеристика quality, которая высчитывается по следующей формуле:
quality= 100 - недачно отрендеренные кадры/всего отренедрено кадров*100.

Также для нода отдельно считается время и количество THz сидирования. Информацию можно найти на вкладке Инфо наведя мышку на соответствющий нод.

9. Blender обновлен до версии 2.77a

10. В процессе добавления задачи проходит анализ проекта и параметры рендеринга выставляются в соответсвии с этим анализом. На данный момент определяется движок рендеринга: Internal, Cycles,Luxrender или Povray, номер текущего кадра, а также номер стартового и конечногокадров для анимации.Информацию можно посмотреть на влкадке Analyze даилога добавления задачи.

Еще много мелких и средних недоработок, но в целом функционал старой версии работает.
Для этой версии в качестве рендера доступен тольк Blender, Internal и Cycles.

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

В связи с существенным изменением в новой версии база данных пользователей была конвертирована, но ноды придется регистрировать заново. Возможно ноды придется еще раз перерегистрировать после выхода стабильной версии.
Цель релиза - проверка стабильности работы нового ПО в разных режимах.

Программное обеспечение.
Для работы необходимо установить как нод, так и плагин для Blender.

Пакеты deb собирались в Ubuntu 12.04.
Версия для Windows собиралась в Windows 7.

Deb:
http://render.gabbler.ru/download/debs/gbfarm.blender27-plugin_7.0_amd64.deb
http://render.gabbler.ru/download/debs/gbfarm.node_0.59-1_amd64.deb

RPM:
http://render.gabbler.ru/download/rpms/gbfarm.blender27-plugin-7-1.x86_64.rpm
http://render.gabbler.ru/download/rpms/gbfarm.node-0.59-1.x86_64.rpm

Arch
http://render.gabbler.ru/download/arch/gbfarm.blender27-plugin-7-1-x86_64.pkg.tar.xz
http://render.gabbler.ru/download/arch/gbfarm.node-0.59-1-x86_64.pkg.tar.xz

Windows:
http://render.gabbler.ru/download/win/gbfarm-blender27-plugin_7-1_x64.exe
http://render.gabbler.ru/download/win/gbfarm-node_0.59-1_x64.exe
Последний раз редактировалось girafenok 07.08.2016, 04:38, всего редактировалось 6 раз(а).
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #818 stark » 25.07.2016, 21:00

Поставил и запустил новое ПО. Мой нод сразу был в списке. Но я не могу запустить тест. Переименовать вроде могу и настройки менять. Удалить его тоже не могу.
Как будто секретное слово неправильное или что-то в этом роде, что раньше было нужно для дистанционного управления нодами.
Понятно что альфа-версия ещё и я не тороплюсь :)
stark M В сети
Сообщения: 1411

Сообщение #819 girafenok » 25.07.2016, 21:02

stark,
Перерегистрируйте нод, пожалуйста. Для этого надо удалить файл auth.crt из /home/stark/.gabbler/render и запустить клиент заново.
girafenok В сети
рендер-фермер
рендер-фермер
Сообщения: 626

Сообщение #820 stark » 25.07.2016, 21:14

Вообще всё удалил. Но не помогает.

Добавлено спустя 2 минуты 47 секунд:
У меня на вкладках Info и My Nodes время Seed Time не идёт, показывает одно значение 0:00:23.

Может у меня 14.04 и что-то криво встало? В opt/gabbler свой каталог для нового ПО создался, со старым не пересекается.

Добавлено спустя 4 минуты 55 секунд:
В процессах только gbnode. Можете пояснить, какова логика запуска нода? Вот запускаю я gabbler render new node и всё, есть gui и нод запустился?
Раньше было понятно: вот нод, если он работает, то клиент его видит, нод можно завершить, а клиент будет дальше работать. А тут я пока не разобрался как нодом управлять. На My nodes весь верхний ряд кнопок не работает. Я выхожу из Gui (Exit), захожу снова, программа показывает что нод не завершался при этом - Seed time несколько минут.
Последний раз редактировалось stark 25.07.2016, 21:23, всего редактировалось 1 раз.
stark M В сети
Сообщения: 1411

Пред.След.

Вернуться в Обсуждение CG

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: girafenok и 1 гость