Как рендерить на рендер ферме
Перейти к содержимому

Как рендерить на рендер ферме

  • автор:

Установка и настройка рендер-фермы ⁠ ⁠

Набор программ и скриптов для автоматизации распределения решений задачи по вычислительным мощностям ЛВС. Как правило серверно- клиентская архитектура, сервер организует удаленный запуск процессов решения на рабочих машинах и ведет общий мониторинг решения. Допустимы только задачи с возможностью распараллеливанияя, т.е. решение каждой части задачи не зависит от решения других ее частей. Все как в жизни: у меня теща если замечает что ее негативные реплики в мою сторону не вызывают ответную реакцию заводит мою жену против меня и они с двойной силой начинают выносить мне мозги.

А тоже самое но человеческим языком можно?

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

Для лучшего понимания концепции работы менеджера рендер-фермы можно объяснить ее понятной каждому аналогией: проститутки — сутенер — клиенты.

Итак сутенер Гиви (сервер) прекрасно осведомлен о том какие шлюхи (рендер-станции) у него есть в обойме и их возможности. Он знает что его проститутка Сашка Грейка имеет груди 1 размера и может как стандартный секс так и ОГО-ГО какой нестандартный секс , Лизка Энн имеет 3 размер груди и занимается только стандартным сексом, Елена Беркова имеет 2 размер и любой вид секса.

Приходит первый клиент (задача) к сутенеру и говорит: «Мне нужны проститутки с 2-3 размером для стандартного секса».

Сутенер смотрит кто подходит из шлюх к выставленным клиентом требованиям и кто из подходящих свободен: Ленка и Лизка свободны и удовлетворяют условиям клиента, уходят с ним, а сутенер отмечает для себя что эти две шалавы заняты.

Вдруг к сутенеру прибегает еще один клиент и говорит: «Мне СРОЧНО требуется на день рождения хорошего человека -депутата все проститутки с любым размером груди для совсем-совсем нестандартного секса, даю тройную цену!»

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

Надеюсь принцип работы менеджера рендеринга Вам теперь понятен.

Для чего это мне нужно?

Для решения сложных задач: майнинга, рендеровки, научных расчетов,прогрев углов с плесенью в квартире. Также вы можете предоставлять вычислительные мощности вашей фермы другим людям через интернет за деньги, платных ВФ сейчас очень много: https://ru.rebusfarm.net , http://megarender.ru/ , http://ru.forrender.com/ и тд. Подвид ВФ есть рендер-ферма(РФ)

Рендер-ферма(РФ) что это?

Это частный случай вычислительных ферм, когда они профилируется на работе с графикой, например прорисовка изображения из трехмерной сцены. В нижеследующем примере мы будем настраивать РФ на работу с ПО Blender.

Рендер-ферма как правило управляется специальным программным обеспечением называемым Рендерменеджер.

Сколько и каких компьютеров мне нужно для РФ

Чем больше ПК и чем они мощнее тем лучше. Но дополнительно для ускорения работы РФ применяйте несколько правил:

— Скорость сетевого соединения критична при больших размерах пересылаемых данных поэтому лучше использовать скорость 1gb и более

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

— GPU все больше используют как устройства рендеринга(да и не только) поэтому на рендер станции хорошо иметь мощную видеокарту с большим объемом VRAM, для blender cycles положительно зарекомендовали себя видеокарты NVIDIA, при этом чем больше CUDA ядер и чем больше частоты работы видеокарты тем лучше. Для освобождения VRAM памяти занятой под интерфейс ОС и уменьшения нагрузки рендер станции как правило грузятся в текстовом режиме. Имеет смысл использования нескольких GPU на одном ПК.

— Автоматизация включения и выключения рендер станций по наличию для нее работы, это снизит расход энергии и увеличит ресурс РФ.

— Ученные эксперты с blender-3d.ru опытным путем доказали что если в полнолуние в одних трусах встать посреди рендерфермы и напевая «Чижик — пыжык» пальцами правой ноги дотронуться до вашего левого носа то это ускорит работу вашей рендерфермы примерно на 0% а ваши шансы попробовать галоперидол на 99%.

Почему в качестве РМ выбран Afanasy (cgru.info)?

-постоянное развитие и выпуск новых версий

-открытость и бесплатность

-масштабируемость и тесная интеграция с большим количеством ПО по работе с графикой, высокий уровень мониторинга и автоматизации

-расширяемость функционала работы

-разработчики просто. приплатили мне. а. а я не умею отказывать когда мне в лицо кидают пачки долларов.

Сколько все эти программы стоят?

$=0,нервов туюву хучу.

Повторим из чего будет состоять наша РФ:

Компьютер с сервером далее просто серверПК(AFSever) — получает и распределяет решение задач от клиента.

Компьютер(ы) решающий задачу на своих локальных мощностях по запросу сервера, далее просто рендерПК(AFRender).

Компьютер(ы) создающие задачи для сервера далее клиенты.

Кот Васька далее просто шерстяной засранец- жрет пыль с ковра и блюет ей на углы хаты из-за чего на них растет плесень.

Итак начнем минимальную (базовую) установку РМ Афанасия для РФ с Blender на Ubuntu 16.4 64bit и удаленным администрированием через SSH клиент Putty.

Создайте нового пользователя Ubuntu или используйте существующего, для примера я буду использовать пользователя igor

Проверьте что у вас установлена служба доступа к шаре Samba введя в терминале:

если она не установлена введите:

sudo apt install samba

Если вы не планируете под шару отдельный диск то создайте в директории /home/igor/ новую папку под эту шару

нажмите правой клавишей мыши на созданную папку или диск который вы выбрали под шару и выберете:

Свойство-Общедоступная папка локальной сети

Введите любое имя шары (я буду использовать имя Prj) и установите галочку «Опубликовать эту папку» и «Разрешить другим создавать и удалять файла»

Добавьте права доступа к шаре Prj пользователю igor и его пароль, для чего введем в терминале:

smbpasswd -a igor

smbpasswd -e igor

sudo service smbd restart

Если под шару выбран диск то для полноценной его работы в сети необходимо его перемонтировать из /media/igor/ в /home/igor/Prj для автоматического монтирования при загрузки необходимо:

Создать папку под точку монтирования в /home/igor/

В терминале введите:

в таблице найдите диск для шары и скопируйте его UUID

В терминале введите:

sudo nano /etc/fstab

Добавьте в самом конце файла строку:

UUID=fd53ba8b-8c9b-4e66-af43-899e5b6ad211 /home/igor/Prj ext4 auto,rw,user,async 0 2

но при этом поменяйте UUID на свой и вместо /home/igor/Prj укажите свой путь до созданной вами папки.

1-3)Установка сервера Афанасий

скачайте из http://cgru.info/downloads установочный архив для своей ОС

разархивируйте его в папку и откройте терминал

проверьте что у install_afserver.sh есть права на исполнение, для этого нажмите на файл install_afserver.sh правой кнопкой мыши и выберете свойства-Права и установите галочку «Разрешить выполнение файла как программы»

В терминале введите:

cd <путь до разархивированной папки>

откройте браузер и в адресной строке введите http://127.0.0.1:51000/ , должна появиться вэбморда Афанасия

В терминале введите:

sudo apt install putty

Повторите нижеописанные действия для всех рендерПК

Создайте нового пользователя Ubuntu или используйте существующего, для примера я буду использовать пользователя igor

создайте папку в домашней директории пользователя

В терминале введите:

sudo nano /etc/fstab

Добавьте в самом конце файла строку:

//192.168.0.105/Prj* /home/igor/Prj** cifs username=igor***,password=werq11****,iocharset=utf8,sec=ntlm 0 0

звездочки печатать не надо, это сноски!

*-укажите ваш сетевой путь до шары

**-укажите путь до созданной вами папки

*** и **** — укажите имя пользователя и пароль samba шары (см п.1-2)

Итак мы подключили шары и они надежно присоединены к файловой системе в отличии от шаров моего кота Васьки.

2-3)Настройка сервиса рендеринга AFRender

скопируйте разархивированную папку полученную в п.1-3 в домашнюю директорию на данном ПК

проверьте что у install_cgru.sh есть права на исполнение, для этого нажмите на файл install_afserver.sh правой кнопкой мыши и выберете свойства-Права и установите галочку «Разрешить выполнение файла как программы»

В терминале введите:

cd <путь до разархивированной папки>

Создадим файл конфигурации рендера

В терминале введите:

sudo nano /opt/sgru/config.json

измените afanasy на ip серверПК

Настроим пользователя запускающего AFRender по умолчанию:

В терминале введите:

sudo nano /opt/sgru/afanasy/nonrootuser

удалите весь текст и напишите логин вашего пользователя созданного в п.2-1 в моем случае это igor

В терминале введите:

sudo /etc/init.d/afrender start

в правом верхнем углу у вас должна появиться иконка CGRU с зеленой R в центре

нажмите на иконку и выберете:

AFANASY-Set server и укажите IP сервера созданого в п.1-1

AFANASY-Set user и укажите вашего пользователя созданного в 2-1

AFANASY-Software-Setup software-Blender и укажите путь до исполняемого файла Блендера

В терминале введите:

sudo nano /etc/default/grub

введите в терминале:

sudo systemctl multi-user.target —force

sudo systemctl set-default multi-user.target

если вам понадобиться включить графический интерфейс наберите sudo startx

3-5)Установка SSH сервера.

sudo apt install openssh-server

Укажите устройства рендеринга в настройках, нажмите сохранить настройки.

скопируйте разархивированную папку полученную в п.1-3 в домашнюю директорию на данном ПК

проверьте что у install_cgru.sh есть права на исполнение, для этого нажмите на файл install_afserver.sh правой кнопкой мыши и выберете свойства-Права и установите галочку «Разрешить выполнение файла как программы»

В терминале введите:

cd <путь до разархивированной папки>

Создадим файл конфигурации клиента

В терминале введите:

sudo nano /opt/sgru/config.json

измените afanasy на ip серверПК

в правом верхнем углу у вас должна появиться иконка CGRU с зеленой R в центре

нажмите на иконку и выберете:

AFANASY-Set server и укажите IP сервера созданого в п.1-1

AFANASY-Set user и укажите вашего пользователя созданного в 2-1

AFANASY-Software-Setup software-Blender и укажите путь до исполняемого файла Блендера (если необходимо)

Рендер-ферма. Теоретическая часть по подбору железа


Профессия 3D визуализатора появилась сравнительно недавно. Особенно она востребована в архитектурном дизайне и дизайне интерьеров. Основными инструментами визуализатора являются компьютер, программы 3D-моделирования и визуализации, работы с растровой и векторной графикой. Практически все приложения ресурсоемкие, и чем быстрее «железо», на котором работает профессионал, тем больше денег он сможет заработать.

Подбору «железной» части и посвящена данная статья.

Как работают визуализаторы

Работа визуализатора состоит из двух частей: создание 3D сцены и визуализация. Работа с 3D сценой обычно происходит за рабочей станцией и может быть разделена на несколько работников. Процесс визуализации (рендеринг) хорошо параллелится на несколько компьютеров. Как показывает практика, программное обеспечение по работе со сценой особо не требовательно к «железу» рабочей станции, и упор в основном идет на объем оперативной памяти и видеокарту. Рендеринг же требует максимального количества вычислительных ресурсов. Так как процесс визуализации может занимать несколько часов, ошибка на последних этапах может дорого стоить.

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

CPU или GPU?

Сейчас в программах визуализации, таких как mental ray, V-Ray, Brazil r/s, Renderman основной обсчет сцен выполняется на CPU, с редкими вкраплениями помощи в виде GPU. Однако ситуация меняется в лучшую сторону и уже начали появляться программы, которые могут использовать простаивающую силу видеокарты в рассчетах 3D визуализации. К ним относится iray.

Видеокарты появились уже давно, но только сейчас начались хоть какие-то телодвижения в сторону задействования GPU в ресуркоемких рассчетах. Этому способствовало продвижение производителями таких технологий как CUDA и OpenCL. Возможно, через пару лет, баланс нагрузки сместится в сторону GPU, но на данный момент времени это вотчина CPU.

Основные проблемы рендер-фермы

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

Процессор

Выбор процессора, как основного «работника» фермы, самая сложная задача. Дабы расставить все точки над «i», рассмотрим несколько показателей, которые придется нам учитывать.

Частота процессора
  • архитектура процессора
  • количество ядер
  • объем кэш-памяти
  • температура процессора

Количество ядер и объем кэш-памяти позитивно влияют на скорость обработки данных. Хотя одного и второго много таки бывает.

Температуру процессора рассмотрим чуть позже.

TDP — количество тепла, которое нужно отводить от процессора, потому что практически все электричество, которое он потребляет, переводится в тепловую энергию. Intel и AMD по-разному рассчитывают данный показатель, и если упрощенно, то для Intel это типичное тепловыделение процессора, а для AMD — максимальное. Это очень важно, так как при подборе системы охлаждения для систем на процессорах Intel нужно брать хоть немного, но с запасом.

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

Разгон

С разгоном нужно быть очень аккуратным. Да, разгон дает больше производительности за те же деньги, но есть и ограничивающие факторы.

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

Производительность системы не прямо пропорциональна разгону, при разгоне на 50% вы получаете всего около 25% роста производительности.

Следует обратить внимание на тот факт, что не все процессоры из представленных на рынке можно разгонять. Intel маркирует свои модели суфиксом К, а AMD добавляет Black Edition. Остальные либо будут иметь слабый разгонный потенциал или разгон будет невозможен в принципе.

Turbo Boost и Turbo Core

Это две технологии, которые позволяют временно увеличивать частоту отдельных ядер процессора для ускорения работы. Ни одна ни вторая не работают при 100% загрузке всех ядер. Другими словами, забудьте, что они вообще существуют.

Hyper Threading

Это технология компании Intel, которая позволяет на одном ядре выполнять два потока. Для операционной системы процессор с 4-мя ядрами и включенной технологией HT, выглядит как 8-ми ядерный. Однако не стоит раскатывать губу, виртуальные ядра дают примерно 20-30% прироста производительности. Но и они лишними не бывают.

Система охлаждения

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

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

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

Тепловые трубки

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

Иногда производители «хитрят», выводя тепловые трубки на подошву радиатора, мол нет теплопотерь от пайки. Стоит помнить, что важно не наличие прямого контакта с тепловыми трубками или «лишней» пайки, а площади соприкосновения радиатора с крышкой теплораспределителя, чем она больше, тем эффективнее будет отводиться тепло.

Вентиляторы

Размер вентилятора и их количество тоже не играет роль, так как для охлаждения важна скорость переноса тепла. Другими словами, чем больше поток воздуха, тем лучше. Одного и того же результата можно достигнуть как с медленно вращающимся 140 мм вентилятором, так и с четырмя скоростными 70 мм. Большими вентиляторы делают для того, чтобы уменьшить шум от системы охлаждения. Следует всегда следить за состоянием вентиляторов и периодически чистить их от пыли. Пыль сильно снижает эффективность системы охлаждения.

Уровень шума

Если вам не критичен уровень шума, то задача упрощается. Можно смело брать середнячков из имеющегося на рынке, они все равно справятся за счет более высоких оборотов вентиляторов. Для малошумных систем подбор нужного решения практически всегда будет с ударом по кошельку.

Стоит отметить, что более высокие обороты вентиляторов быстрее их изнашивают, вызывая еще больший уровень шума. Остановка вентиляторов из-за спекания смазки в подшипниках приводит как минимум к потере части работы. Лучше всего заменять вентиляторы при первом же случае возникновения посторонних шумов в работе.

Термоинтерфейс

Хорошая термопаста может помочь понизить температуру процессора на дополнительные 5 градусов (в сравнении с самой дешевой из имеющихся на рынке). И если возникает вопрос, стоит ли покупать что-то дорогое, ответ всегда положительный. Для более эффективной работы системы охлаждения ее приходится часто снимать для очистки. Термопасту следует заменять при каждом демонтировании радиатора, да и периодически ее следует заменять, так как постоянные высокие температуры приводят к ее спеканию, что, в свою очередь, ощутимо снижает ее теплопроводность.

Корпус

Если вы используете стойку, то тут выбор очевиден — серверный корпус. Для всех остальных случаев нужно довольно осторожно подходить к выбору «коробки». Однозначно нельзя брать полностью закрытый корпус. Уже через 10 минут система уйдет в отключку из-за превышения температуры внутри. Теплу ведь нужно куда-то деваться! Но и полностью «дырявый» корпус тоже не выход — пыль будет быстрее попадать внутрь.

Залог успеха — поток более холодного воздуха. Корпус, который позволяет создать такое перемещение воздушных масс и будет самым эффективным. Чем меньше преград на пути потока — тем лучше. Стоит понимать, что идеального решения не существует, эффективность решений может быть легко снижена из-за банального местоположения компьютера в помещении.

Материнская плата

Требований к материнской плате не много.

Если вы будете разгонять процессор, то лучше всего брать материнские платы, которые хоть минимально, но рассчитаны на этот самый разгон. В разгоне CPU потребляет гораздо больше энергии (могут «гулять» токи до 10 Ампер!), чем при обычном функционировании, так что чем стабильнее будет система питания, тем лучше. Гоняться за самым дорогим, что есть на рынке, нет смысла, для простой числодробилки с процессором без особого разгона может хватить даже mini-ITX платы. Производители любят кичиться количеством фаз питания. Но, как и в случае с тепловыми трубками, нужно понимать, что банальное использование самых дешевых компонентов может нивелировать качество и стабильность питания.

Количество слотов памяти

Много памяти не бывает. Однако во многих «материнках» начального уровня ставят всего два слота, что серьезно ограничивает доступное суммарное количество устанавливаемой памяти. Сейчас оптимальными по цене являются 4GB модули, и в два слота можно поставить всего 8GB. Для некоторых сцен этого может быть недостаточно.

Максимальный объем памяти для современных, не серверных решений, равен 32GB. Однако, для достижения этой привлекательной цифры, придется использовать весьма дорогостоящие модули объемом 8GB, которые еще и поискать придется. Возможно, более дешевым решением окажется платформа Intel с сокетом 1366 для процессоров i7 первого поколения. В этих CPU используется трехканальный контроллер памяти, который позволяет устанавливать 6 модулей суммарным объемом до 24GB.

Оперативная память

Тут правила тоже просты.

Существуют два основных показателя работы памяти: частота работы и задержки доступа к данным. Для рендеринга данные показатели почти не играют роли. Если вам все же хочется выжать дополнительный один процент ускорения за непропорционально завышенную цену, то берите самое высокоскоростное (=дорогое), что есть в продаже, не ошибетесь. Оптимальным выбором на данный момент времени является память стандарта DDR3-1333 (PC3-10600).

Стоит также помнить, что для настольных решений не подходят модули с функцией контроля четности (ECC).

Видеокарта

Как уже было сказано выше, на данный момент времени GPU слабо помогает в процессе визуализации. Опираясь на факт, что самые популярные программы по работе с 3D умеют использовать ресурсы видеочипа во время работы со сценой, делаем вывод, что для рабочей станции мощная видеокарта будет к месту. Для примитивных «молотилок» видеокарта особо не нужна, и можно легко обойтись интегрированным решением (встроенном в CPU или чипсет материнской платы)

Если предположить, что завтра появятся программы визуализации, которые активно используют «дурную мощь» GPU, то не факт, что смена парадигмы вычислений будет выгодной.

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

Блок питания

Мощность данного устройства должна браться не с потолка и не по формуле «самое мощное или дорогое из того, что представлено на рынке», а по формуле «максимальное потребление системы, умноженное примерно в полтора раза». Многие блоки питания не могут обеспечить стабильного напряжения при недостаточной нагрузке, что чревато сбоями. Дополнительно стоит обращать внимание на КПД блока питания. Чем он выше — тем лучше.

Если выбирать устройства с пассивным или активным охлаждением, то предпочтение стоит отдавать активному охлаждению. Хоть вентилятор в БП и будет дополнительным источником шума и расходным материалом, зато обеспечит более стабильную работу в условиях длительных максимальных нагрузок.

Заключение

Надеюсь, данная статья поможет вам хоть немного разобраться в маркетинговых джунглях и выбрать устройства, которые будут оптимальными по соотношению «цена/качество».

Как рендерить на рендер ферме

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

Для своих четырех машин я использовал коммутатор D-Link DGS-1008D. От него, конечно, чудес ждать не приходится, но свои 1,5 тысячи рублей отрабатывает. Замеры сети проводил в JPerf. Идет она в двух вариациях, разница только в визуализации. В одной версии используется командный ввод, то есть ручками вводим необходимые нам команды — это, конечно, для продвинутых пользователей. В другой все попроще, откомпилированная на java она имеет более привычный вид и разобраться в ней не составит труда.

d7e12c75e794e9956fbd7cbd49582d35.jpg

0d0884012bc337bdd24c75db73cd0be8.jpg

По окончанию установки сети замеры показали скорость в 896 Мбит/с., делим на 8 и получается 112 мегабайт за секунду. Тестировалось по схеме: главная машина – это клиент, а ноды сервера. То есть DRServer получит запрашиваемую информацию с примерно такой же скоростью. На мой взгляд это не плохой показатель. Для сравнения, скорость чтения/записи из буфера HDD в среднем идет 120-140 Мбайт/с. В конечном счете считывание информации для последующего рендеринга будет ограничиваться скоростью вашего HDD. Приличное ускорение дадут SSD накопители, так как там скорости уже начинаются от 350 Мбайт/с. При планировании своей рендер-фермы это надо учитывать. Если хотите выжать по максимуму, то стоит поставить SSD.

Работаю я в Windows 7 и 8.1, на головной машине стоит 8.1, а на нодах 7ка. Вообще без разницы на каких версиях Windows работают компьютеры в сети и с этим проблем не должно возникнуть. Казалось бы, а когда все машины работают на одной ОС, то тут вообще все просто будет. Вот и я решил поставить 8.1 на все ноды и вышло не очень. Возникло очень много глюков с сетью, работала не стабильно, текстуры то подгружаются, то нет, в общем бился я долго, но так и не решил это. Все эти проблемы связаны были с ОС. Позже установив Win 7 все стало работать идеально. Ни разу не подводила меня. Несмотря на то что на головной машине я так и оставил Win 8.1, все работает. Не буду рекламировать ничего, сами решайте, что ставить.

Настройка сети в Win 7 и 8 ничем не отличается. Первое что делаем назначаем одну рабочую группу компьютерам в сети и присваиваем каждому ноду имя. Заходим в свойства системы и нажимаем «Изменить»:

149a1a17770e4a23de6ef1467aa99dab.jpg

Я назначил своим нодам имена nd0, nd1, nd2, nd3, nd4 и одна рабочая группа RENDERFARM. Рекомендую использовать короткие имена для компьютеров. К примеру, если у вас размер Backet’a в Vray 16×16 или еще меньше, то вы не проследите какой Backet от какого нода в работе. Длинное имя просто не поместиться в контейнер. После внесения изменений нам нужно будет перезагрузится, чтобы изменения вступили в силу.

64f8981c1be81cb5b4127c98db6e36ad.jpg

Следующее необходимо назначить IP адреса удаленным компьютерам, для этого открываем свойства сетевого адаптера (Панель управления\Сеть и Интернет\Сетевые подключения). Настраиваем IPv4, выбираем его и жмем свойства.

d5f89ac9ee70c245242847d278b89308.jpg

Приводим все к следующему виду:

9ed223c51f773804b0a014094aedfb10.jpg

IP у меня начинается с 192.168.0.7 – это nd0IP для последующих нодов, соответственно:192.168.0.8 – nd1192.168.0.9 – nd2192.168.0.10 – nd3Все сохраняем и перезагружаем компьютер.

Теперь, желательно «пропинговать» ноды, чтобы удостовериться что все друг друга видят, сетка работает. Нажимаем сочетание клавиш Win+R и вводим cmd. Пишем следующее: ping (пробел) IP адрес.Должно выглядеть так:

3bba82d0f7bccc3330c126c227769dbe.jpg

c9413c4a93500019ecdf19b2cadc5b57.jpg

При успешном «пинговании» должна быть такая же картина. Все это повторяем для всех нодов. После успешного тестирования можно переходить к настройкам общего доступа.

Заходим в Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом и кликаем на «Дополнительные параметры общего доступа». Выставляем так:

68ddb826d8c0cf25e5da73d7de8d7b4c.jpg

Ну все, теперь можем расшаривать папки, создавать сетевые диски. Сеть готова для работы.

Ниже пример для тех, кто не знает, как расшаривать папки для общего доступа.Создаем папку, затем заходим в свойства папки, выбираем вкладку Доступ:

fd245db6d77c368bcac8e9c120ace5fa.jpg

Нажимаем «Расширенная настройка»

e907a2a792ab1ef30a60c0681c83071f.jpg

Отмечаем пункт «Открыть общий доступ к этой папке». Далее «Применить» и ОК. Возвращаемся к свойствам папки, кликаем на кнопку «Общий доступ»

06bd9cb54fa033ca3b87d32a477a81e3.jpg

Пишем «Все» и нажимаем «Добавить»

e198780b0d9f87d14d883678bfbbd0b4.jpg

Далее указываем что могут делать с содержимым этой папки другие пользователи. Затем нажимаем «Поделиться». Появится окно, уведомляющее что доступ открыт, готово.

454e3fbcc97d5fecf0b10fa61af79d86.jpg

После сборки рендер-фермы понадобиться монитор, который будет подключаться к нодам, так как устанавливать ОС, настраивать BIOS удаленно не получится. До момента установки драйверов будет неудобно, но потом мы можем установить удаленное управление на наши компьютеры и забыть про клавиатуру, мышку и монитор. У меня управление нодами происходит при помощи программы Lite Manager Free — это бесплатная утилита для удаленного управления. Есть и более продвинутая версия Lite Manager Pro, но она уже платная, с более расширенными возможностями. Но в моем случае мне достаточно и версии Free. В целом мне понравилось как она работает, ее интерфейс, настройки и стабильность. В рабочем состоянии выглядит она вот так (Viewer):

147704a560060b6fa016952d89776e0a.jpg

Управление удаленными компьютерами происходит в графическом режиме, мышкой и клавиатурой (Server):

3e094be2051b2f2c354b6dcc55b70fea.jpg

Также работают горячие клавиши и копирование из буфера текстовой информации. Вообще конечно были с ней проблемы, в Windows 8.1. При работе в графическом режиме была сильнейшая задержка, просто невозможно было работать. Как можно было оптимизировал, но это не сравниться с работой в 7ке. Тут все отлично, просто работаешь как на обычном компьютере. Также присутствует функция Wake on Lan. Существуют конечно и отдельные утилиты для посылки «магического пакета», но по — моему, когда все объединено в одной программе, то это очень удобно. Есть еще много чего полезного в ней, все не буду описывать, существует официальный сайт, форум, там все можно почитать. Получилась какая-то реклама, но в любом случае, если вам нравится ваше удаленное управление, то очень хорошо. Можете поделится опытом тоже, будем признательны.

Работу с файлами организовал я следующим образом. Для нодов доступна только одна расшаренная папка где и лежат все файлы проектов для сетевого рендеринга. Она расположена на головной машине, на рабочем диске, в корне «E:\Farm\». Далее в ней будут просто создаваться папки проектов, куда копируются текстуры, proxy, ies. Выглядит это следующим образом:

3afe992d7fbd74631f7bcf56a2db3aa8.jpg

Рабочие сцены лежат в другой, не расшаренной папке. Нет необходимости размещать сцены в папке Farm. Главное обеспечить нодам доступ для текстур, proxy, ies наших проектов.

Для сборки файлов использую стандартный 3ds max’овский Resource Collector. Перед каждым превью сразу собираю в папку Farm все использованные файлы в сцене. Некоторые сетуют что не надежный стандартный коллектор, но не знаю, у меня всегда работал исправно. Сторонними плагинами не пользуюсь. Только файлы типа HDR или EXR ручками скидываю. Может он их не видит, или не считывает с Environment’a. Это его минус кончено, в остальном все хорошо срабатывает. Что касается рабочего ПО, то я работаю в 3d’s Max Design 2015, V-Rray 3.00.7 и Corona Renderer A7.1, соответственно на всех машинах стоят одинаковые версии. Если будут стоять разные, то могут возникнуть конфликты. И вообще, весь софт, участвующий в сетевом рендеринге, должен быть одинаков и на всех машинах. Это касается и мелких плагинов, к примеру, Bercon Maps или Multitexture – Это процедурные карты. Отсутствие данных плагинов будет расцениваться как отсутствие текстур, и вы получите на рендере битые участки, где они должны были быть использованы.

Теперь, когда настроена сеть, открыт доступ к папке с текстурами, нам нужно указать пути к этим папкам в 3d’s max на каждом ноде.

a0a38ffeed3c0b48d293e1eeae183af7.jpg

Customize > Configure User Paths > External Files

Жмем Add и открываем сеть, выбираем наш главный компьютер (nd0), папка Farm. Ну а дальше папку, в которой хранятся текстуры. Можно сделать немного по-другому, подключить на каждом ноде сетевой диск. Этот сетевой диск будет, по сути, расшаренная папка Farm. Но только имеет он свойства локального диска HDD и будет отображаться как диск с буквой. При добавлении в пути нужно будет заходить не в Сеть, а в Мой Компьютер, а далее на сетевой диск, как при обычном добавлении путей на стационарном компе. Как подключить сетевой диск будет чуть ниже, только сделаю оговорку насчет них. Я отказался от такого метода добавления путей, так как в Windows 8.1 возникли проблемы с сетевыми дисками. Они были созданы, все работало, с перебоями конечно, в Win 8 вообще мало что работает стабильно, наверно только MS Store, но вот 3d’s max отказался их видеть. Были предприняты масса попыток исправить это, но не получилось. После этого я для себя решил, что буду добавлять пути только напрямую. Либо текстуры грузятся, значит сетка работает, либо нет, отсутствует доступ к удаленному компу. Нет желания больше доверять эти сетевым дискам, даже в Win 7 поставил все напрямую. Все работает исправно. Оставил сетевой диск только для быстрого доступа к файлам.

Подключение сетевого диска. Открываем Мой Компьютер, вверху под адресной строкой находим «Подключить сетевой диск», нажимаем.

36d59eb23804bc52cad2ffc3a75ea2e7.jpg

558cc32b8683c06063aecf167d69098b.jpg

Здесь указываем под какой буквой будет создан диск и указываем расположение расшаренной папки на удаленном компе, на основе которой он будет создан. Жмем «Готово». Сразу же должен появиться вот такой значек:

7ea122a05d9374aed0d1e91f3525666a.jpg

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

Настройка рендер-фермы завершена. Как оказалось, все не так уж и сложно. Все выше изложенные действия не заняли много времени. В процессе настройки, на каждом этапе могут возникать ошибки, какие-то конфликты, главное быть внимательным. Вообще не представляется реальным описать все возможные проблемы и их решения, все индивидуально. Существуют другие статьи на эту тему в сети. Рекомендую не полениться и перечитать как можно больше информации перед началом работ. Если будут какие-то замечания по теме, предложения может быть, не стесняйтесь, пишите. На самом деле я сам только учусь и этой статьей я рассчитываю не только поделиться своим опытом в настройке, но и перенять его у других.

Как правильно использовать рендер фермы

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

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

Содержание

  1. Небольшое введение об истории и трендах сферы онлайн рендеринга
  2. Как оценить затраты на рендер ферму
  3. Варианты использования облачных ресурсов
  4. Основные этапы при работе с рендер фермами
  5. Краткие выводы
  6. Введение

Основной тренд последних лет – увеличение потребления визуального контента. Больше фильмов, анимации, бизнес графики, мэппингов и тому подобного требует бесперебойной отгрузки контента визуализаторами. Сроки производства при том только сокращаются. Все началось с больших рендер ферм, которые
киностудии создавали для себя. Они были изолированы от всего мира по причине внутреннего использования и слабого развития Интернет-каналов для доступа извне. Повсеместное развитие Интернет сетей, рост пропускной способности значительно повысили доступность удаленных центров обработки данных для разных видов вычислений. В дальнейшем это и привело к буму облачных сервисов, в числе которых и рендер фермы для рендеринга компьютерной графики.

Онлайн рендер ферма – это идеальное решение для отдельных фрилансеров и студий, которым необходим доступ к значительным рендер мощностям по требованию. Время на загрузку исходных данных и рендеринг кратно меньше времени рендера на собственном компьютере и даже нескольких компьютерах студии. Для крупных разрешений даже отправка статичных кадров на ферму имеет смысл – рендер одного изображения может идти в распределенном режиме с использованием значительного количества серверов. В конечном итоге, время – это всегда деньги и с помощью рендер ферм можно немало этого времени сберечь. Помимо этого, использование фермы даже студии спасает от следующих проблем:
• Необходимости инвестировать значительные средства в серверную комнату
• Потребности покупать, продлевать, распределять дополнительное количество лицензий на софт
• Решения проблем с железом
• Необходимости покупать новые комплектующие и серверы каждые 3-5 лет
• Решать проблему простоя оборудования, когда потребности в ферме нет, а обслуживать железо надо и электричество оно тоже жрет

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

Как оценить затраты на рендер ферму

Вопрос очень важный, денежный и частый, но… Важно уяснить, что на данный момент способов корректно и с приемлемой точностью оценить, предсказать, спрогнозировать время рендера сцены, не делая этот самый рендер частично или полностью НЕ СУЩЕСТВУЕТ. Все, расходимся!

Нет, серьезно. Ни в одном софте, учитывая бесконечное количество параметров и настроек, вариативность материалов, текстур, освещенности и внешних плагинов невозможно предсказать время рендера не делая этот самый рендер. ИТ гиганты вроде Google давно работают над решением этой проблемы, но даже с их ресурсами, помощи разработчиков софта и большим накопленным данным хорошего решения, по крайней мере публичного – просто нет.
Однако, примерную, грубую оценку получить можно. У каждой рендер фермы есть измеримая единица производительности, на основе которой в дальнейшем рассчитывается и цена. Это может быть стоимость рендеринга на одном сервере за 1 час, Гигагерц мощности в час или что-то подобное. На основании этой информации можно сравнить цены ферм между собой и примерно оценить стоимость рендера вашего проекта. Все рендер фермы имеют собственные калькуляторы стоимости, которые помогут рассчитать цену рендера до начала использования сервиса.

Калькуляторы стоимости рендера

Рендер фермы не могут предсказать затраты на рендер, просто основываясь продолжительности анимации, количестве кадров и их разрешении или количестве полигонов. Как и говорили выше – пока это утопия.

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

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

Далее мы выбираем CPU или GPU рендер (Octane, Redshift), анимацию или статичную картинку будем рендерить и время рендера кадра на ВАШЕМ компьютере – я задаю анимацию, 100 кадров, по 60 минут на кадр.

Потом нужно ввести информацию о СВОЕМ компьютере, на котором было получено такое время рендера. Выбираю i7-8700K.

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

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

Всегда неплохо уделить время на рендер тестового кадра в сцене, даже если сцена еще не закончена. Таким образом можно будет выявить потенциальные проблемы – например, совместимости софта, плагинов и тогда у вас будет резерв времени на внесение изменений или на уточнение нюансов с поддержкой фермы. Конечно, это не отменяет необходимость тестового рендера уже на финальной сцене.
Важно познакомиться с одной или несколькими рендер фермами заранее, без жесткого дедлайна за плечами, чтобы было время спокойно разобраться. Плюсы такого подхода очевидны:
• Спокойное ознакомление с возможностями и инструментами рендер фермы
• Возможность проверить скорость передачи через Интернет на ферму и с нее
• Уточнить возможность поддержки специфического софта или плагинов с поддержкой, задать вопросы по работе с фермой
• Проверить корректно ли рендерятся ваши проекты на ферме. Для этих целей можно отрендерить пару кадров из уже сданного проекта и сравнить кадры с фермы с вашими

Ассеты из Интернета (отсутствующие пути, неправильные шейдеры)

Отдельно стоит предупредить с осторожностью использовать ассеты, скачанные из Интернета, потому что иногда они создают проблемы при рендеринге. Профессиональные онлайн магазины моделей, например, Evermotion, предлагают отличные модели, на 100% готовые к рендеру, но если вы качаете модели из разных мутных источников, в моделях могут быть незаполненные пути или ссылки на шейдеры других рендер движков, что гарантирует некорректный рендер в дальнейшем. Нужно проверять, что модели не ссылаются на отсутствующие текстуры или шейдеры из других рендереров.

Проверка поддерживаемого софта

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

Пропустим существенные различия в версии, например, 3ds Max 2018 и 3ds Max 2019, но даже отличия в одной цифре мелкого плагина могут послужить источником проблем в дальнейшем. Более поздние версии софта далеко не всегда совместимы с предыдущими, а ведь может оказаться так, что вы используете какой-то древний или вообще экспериментальный билд какого-то плагина. Короче говоря, лучше уточнить и выяснить!

В отдельных случаях рендер фермы могут помочь обновить или наоборот снизить версию отдельного софта на какой-то части серверов, чтобы корректно отрендерить ваш проект, но нужно разговаривать и договариваться. И тестовый рендер не помешает, как всегда.

Основные особенности рендер ферм

До выбора рендер фермы и запуска рендера, рекомендую уделить внимание особенностям работы, а иногда даже стоит вчитаться в пользовательское соглашение при регистрации. Вот несколько основных моментов, заслуживающих внимания:
Хранение данных на рендер ферме не предусматривает длительных сроков. Обычно через какое-то время после рендера (от пары дней до нескольких недель) ваши проекты и результаты будут удалены. Важно уточнить срок хранения данных, есть ли ограничения по объемам и нет ли дополнительных платежей за место.
Средства на счету онлайн сервиса обычно действуют бессрочно, но некоторые фермы могут и обнулять баланс спустя какое-то время. Лучше уточнить.
Политика возврата денег у различных ферм отличается, но по моему опыту, чаще рендер фермы не возвращают средства после покупки кредитов и пополнения счета.
Правила использования кредитов и бонусных средств для тестирования сервиса тоже отличаются значительно, но, обычно, при регистрации вам сервис начисляет какое-то количество средств бесплатно, а потратить вы можете только на тестовые кадры. Такие кадры будут иметь водяные знаки и/или будут сделаны в меньшем разрешении.
Все онлайн сервисы работают 24/365, в идеале, техническая поддержка тоже должна быть круглосуточной.

Соглашение о неразглашении

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

Скидки на рендер фермах

Если вы собираетесь рендерить большой проект или постоянно использовать какой-то конкретный сервис, будет полезно подробно изучить скидки за единоразовые крупные пополнения и политику специальных акций и предложений. Все что сэкономлено, то заработано!

Краткие выводы

Первый опыт с рендер фермами может быть довольно противоречивым. Существует много разных сервисов, с разными подходами и инструментами и требуется время, чтобы посмотреть, протестить и разобраться в них. И только потом придут удобство, простота и экономия времени.

Первым делом нужно проверять поддерживается ли ваш софт, какие у фермы цены. Можно сравнить несколько ферм по калькуляторам, но многие факторы, влияющие на реальную стоимость, все же будут упущены. В любые предварительные оценки и прогнозы я советую закладывать дополнительно 20-30% смело.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *