Установка и настройка рендер-фермы
Набор программ и скриптов для автоматизации распределения решений задачи по вычислительным мощностям ЛВС. Как правило серверно- клиентская архитектура, сервер организует удаленный запуск процессов решения на рабочих машинах и ведет общий мониторинг решения. Допустимы только задачи с возможностью распараллеливанияя, т.е. решение каждой части задачи не зависит от решения других ее частей. Все как в жизни: у меня теща если замечает что ее негативные реплики в мою сторону не вызывают ответную реакцию заводит мою жену против меня и они с двойной силой начинают выносить мне мозги.
А тоже самое но человеческим языком можно?
Общий принцип работы «менеджера рендеринга» можно описать так: Пользователь выставляет задачи с указанием их приоритетов последовательности выполнения а менеджер должен выбрать рендер-станции которые могут выполнять эти задачи, распараллелить ее вычисления между выбранными станциями. Менеджер так же отслеживает прогресс решения задач и ошибки выполнения, хронометраж и запись событий, авторизацию клиентов и еще много всего о чем скажем позже.
Для лучшего понимания концепции работы менеджера рендер-фермы можно объяснить ее понятной каждому аналогией: проститутки — сутенер — клиенты.
Итак сутенер Гиви (сервер) прекрасно осведомлен о том какие шлюхи (рендер-станции) у него есть в обойме и их возможности. Он знает что его проститутка Сашка Грейка имеет груди 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 и укажите путь до исполняемого файла Блендера (если необходимо)
Пока все устал. продолжение следует)
2.8K поста 6.5K подписчиков
Правила сообщества
• Посты должны соответствовать тематике cообщества.
• Не допускается спам и нарушение правил сайта pikabu.
Дружище, либо лыжи не едут, либо я ебанутый. Ну никак не получается у меня настроить афанасия, а тк учусь гудини артиста, ждать по трое суток пока отрендерится домашка не в кайф) Если есть время помоги пожалуйста, а то я уже отчаялся XD вот мой вк vk.com/mrzuzlik
Как "я" заработал 98 000 р за неделю
Решил я однажды благим делом заняться — дать возможность заработать деньжат лицам моложе 18 лет. Два племяша примчались сразу, даже не спрашивая про суть работы. Суть простая: сборка мебели на адресе клиента. Выдал им хорошие бошевские лёгкие шуруповерты и мы поехали на первый адрес. По пути им объяснил, что с первого заказа дам им тысячу каждому, независимо от объема выполненной работы. Чисто чтобы увидели, что можно своими руками за неделю заработать зарплату как на заводе за месяц. На первом адресе они успели собрать каждый по коробу из шестнадцати имеющихся на кухне. Все остальное время просто смотрели как я собираю и ставлю все по уровню. Кухню собрал за почти 9 часов. Заработал 12 000. Дал им в конце дня по тысяче и сказал быть завтра утром у меня. Утром никто не пришел. На мой звонок ответили, что этому долго обучаться, но за тысячу спасибо. Больше они не изъявляли желание собирать мебель, но охотно раздавали листовки прохожим за копейки на улице. Немного погодя звонит мне племянница. Ей 14 лет. Просится со мной на сборку по адресам. Я отказываю, но она парирует тем, что сама сколотила будку собаке на даче. Я вновь отказываю и объясняю, что она маленькая и слабая, даже шкаф не поднимет для навески на стену. Просится все равно и говорит, что даже денег не будет просить. Ну я сломался и решил один раз ее свозить, чтобы сама увидела и обломилась. На первом заказе успела тоже только один короб собрать, но быстро вникла как работать с уровнем и пару раз с осторожностью указала мне, где я ошибся. Я бы и сам заметил ошибку потом, но ее я похвалил и все же заплатил ей в конце дня. Постепенно она постигала все как губка и за лето работала со мной из расчета 30/70, затем 40/60. 50/50 отказывалась, мотивируя тем, что она делает заметно меньше работы. Я же был готов ей платить, только за то, что она просто умница. В сентябре пошла в школу и наши совместные работы прекратились. В середине сентября звонит и просит прийти в ее школу. Там она договорилась с завхозом, что я соберу парты, стулья и шкафчики для трёх первых классов. Обговорили сумму. Мне дали 10 дней на сборку. Вышли из школы, а племяшка говорит, что она сама соберёт все, а я ей нужен был чтобы завхоз видела, что этим будет заниматься взрослый. Я согласился, мне не жалко. В течении недели она все сделала. В выходные, после уроков приходила и собирала. Сначала по инструкции, а потом уже на автомате. Школа заплатила «мне» 98 000. Я приехал к ним домой и торжественно вручил ей все деньги, ещё и шурик навсегда ей отдал. Мама плачет от счастья, отец не верит, что такое возможно. Короче, пришлось попить с ними водочки в тот вечер, а утром пошли покупать комплектующие для «мощного» компа и всякие там мониторы, мышки, клавы.
Рендер-ферма. Теоретическая часть по подбору железа
Профессия 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х видеокарт одновременно. Теперь главный вопрос, куда летом девать лишний киловатт тепла? Да, рассчеты будут выполняться быстрее, но какой ценой?
Блок питания
Мощность данного устройства должна браться не с потолка и не по формуле «самое мощное или дорогое из того, что представлено на рынке», а по формуле «максимальное потребление системы, умноженное примерно в полтора раза». Многие блоки питания не могут обеспечить стабильного напряжения при недостаточной нагрузке, что чревато сбоями. Дополнительно стоит обращать внимание на КПД блока питания. Чем он выше — тем лучше.
Если выбирать устройства с пассивным или активным охлаждением, то предпочтение стоит отдавать активному охлаждению. Хоть вентилятор в БП и будет дополнительным источником шума и расходным материалом, зато обеспечит более стабильную работу в условиях длительных максимальных нагрузок.
Заключение
Надеюсь, данная статья поможет вам хоть немного разобраться в маркетинговых джунглях и выбрать устройства, которые будут оптимальными по соотношению «цена/качество».
Что такое рендер-фермы и рендер-станции — для чего они нужны
За несколько последних лет возрастает потребность пользователей в визуальном контенте. Это не только графика для игр или фильмов, а еще и разнообразные архитектурные, дизайнерские проекты, анимация для бизнес-идей и многое другое. Причем визуализация постоянно усложняется и для процесса рендеринга требуется немалое количество ресурсов. Вот здесь-то и приходит на помощь рендер-ферма или рендер-станция.
Что такое рендеринг
Рендеринг — это процесс, который не смогут обойти стороной те, кто работает с двухмерной или трехмерной графикой, анимацией. В переводе с английского рендеринг означает «визуализация». В ходе рендеринга происходит преобразование трехмерной сцены в статическое изображение (рендер) или же в последовательность кадров. Скажем проще: созданный в специальной программе набросок изображения превращается непосредственно в само изображение со своими цветами, тенями, освещением и т.п. А еще проще и банальнее – это процесс получения изображения с помощью специальной компьютерной программы.
Как работает рендеринг и что для него необходимо
Рендеринг — это довольно трудоемкий и сложный процесс, в ходе которого происходит множество математических вычислений. Проходит просчет и определение теней, текстур, отражения и многого другого.
Разработчики специальных программ для 3D-моделирования и рендеринга позаботились о том, чтобы пользователи не утруждали себя многочисленными просчетами и работали с привычными для них настройками.
Естественно, что для рендеринга требуется один или несколько компьютеров, программы для 3D-моделирования и визуализации (с соответствующими плагинами), программы для работы с графикой. Чаще всего рендер-движки уже встраиваются в графические программы, например, в такие как 3ds Max, Maya. Помимо этого, есть самостоятельные профессиональные системы для рендера, например, V-ray, Mental ray, Corona Renderer. Такие программы часто именуют рендерером.
Если говорить о значимости «начинки» компьютера для рендеринга, то здесь мы встретим подразделение на CPU Rendering и GPU Rendering. Первый вариант при просчете использует ресурсы процессора и оперативной памяти, а в случае с GPU, основная задача по визуализации ложится на видеокарту (графический процессор). Чему именно будет отдано предпочтение, зависит от используемой системы рендеринга.
Время просчета будет зависеть от массы факторов. Сюда входят сложность сцены, прозрачность или отражающие свойства материалов, текстуры, тени и освещенность, высокополигональность моделей и вычислительная мощь оборудования. Также есть зависимость и от того, какой метод использует система рендеринга.
Сколько же времени может занять рендеринг? В зависимости от всего вышеперечисленного от нескольких секунд до нескольких часов и даже дней.
Возьмем простой калькулятор на рендер-ферме и попробуем рассчитать стоимость и приблизительное время, выбрав примерные настройки. Результаты видны на трех скринах, причем выделено время просчета на домашнем компьютере и на ферме.
Что такое рендер-ферма
Рендер-ферма — это множество компьютеров, объединенных в единую вычислительную сеть. Такие сети или системы обычно именуют узлами. В зависимости от фермы, число таких узлов может доходить до нескольких тысяч.
Ферма как правило бывает двух типов: собственная (частная) и облачная (коммерческая). Первая создается под нужды какой-либо фирмы занимающейся, например, выпуском фильмов. Или же когда у отдельного дизайнера, фрилансера имеется несколько компьютеров с соответствующим программным обеспечением, и он использует их для рендеринга.
Облачные фермы предлагают услуги всем желающим пользователям. Данные фермы имеют на вооружении десятки серверов, необходимое оборудование, обслуживающий персонал. По сути это сложные профессиональные системы, располагающие мощнейшими, современными ресурсами для процедуры рендеринга.
Стоят профессиональные фермы довольно дорого. В стоимость входит не только цена на оборудование, софт, но и его обслуживание, охлаждение и т.п.
Что такое рендер-станция
Если ферма представляет собой несколько компьютеров объединенных в узлы, то рендер-станция (графическая станция) является отдельной машиной, предназначенной для работы с графикой, видео, дизайном. Такие станции базируются на различных платформах и комплектуются мощным «железом», которое чаще всего создается именно для работы с графикой. В пример можно привести профессиональную (и доступную рядовому пользователю) графическую карту Nvidia Quadro.
Как работают коммерческие рендер-фермы
Загруженные на фермы сцены могут рассчитываться на нескольких десятках и сотен рендер-узлах, что максимально сокращает время визуализации. Благодаря этому, несколько дней рендеринга возможно сократить до нескольких часов. Чтобы объяснить еще проще принцип работы ферм, сравним их с видеомонтажом.
Представьте, что у вас есть масса памятных видеокадров, которые вы хотели бы объединить в единый фильм с музыкальными вставками и по возможности, со спецэффектами. Чтобы это сделать, нужен компьютер, программное обеспечение и умение делать монтаж. Если же у вас что-либо из этого отсутствует, то вы естественно отдадите свои видеозаписи профессионалу, который за определенную сумму сделает для вас фильм. Тоже самое можно сказать и о рендере.
Работа рендер-фирм строится практически по одинаковому сценарию. Пользователь проходит процесс регистрации, пополняет счет (многие фермы предлагают попробовать бесплатно) и приступает к процессу. Для этого необходимо загрузить 3D-сцены на ферму, задать желаемые настройки и запустить процесс.
Важным моментом является загрузка с сайта программы или плагина, который встраивается в используемую пользователем программу (например, 3ds Max). Его задача — проверить все сцены и экспортировать их в ферму, сохраняя заданные пользователем настройки. Стоит отметить, что все фермы поддерживают наиболее часто используемые программы, приложения и плагины.
Рендерить на ферме или у себя дома?
На этот вопрос должен ответить сам пользователь, который делает статичные изображения, анимацию, спецэффекты и многое другое. Чтобы выполнять рендеринг дома необходим мощный компьютер, в котором главную роль будут играть процессор (архитектура, количество ядер, кэш) и количество оперативной памяти. Можно сказать, чем мощнее будет сборка, тем лучше для процесса.
В домашней ферме также используют несколько компьютеров, объединив их в локальную сеть. Также многое зависит от объемов работы. При больших объемах и сложных проектах, пользователю может не хватить одной или нескольких машин и в любом случае придется собирать свою ферму или же обратиться за помощью к коммерческой ферме. В сравнении с этим у рендер-ферм есть несколько существенных преимуществ.
1. Простота и поддержка. Пользоваться фермами довольно легко, к тому же на каждой из них пользователь сможет обратиться в службу поддержки.
2. Экономия средств и времени. В первом случае пользователь, которому нужен рендеринг, заплатит только за процесс на ферме и будет избавлен от закупки «железа» для собственной фермы и ее обслуживания. Ну и конечно же экономия времени, которое так необходимо, когда, например, у фрилансера масса заказов. Не стоит забывать о том, что дома на последних часах и минутах может отключиться электричество и все многочасовые труды пропадут.
Особенности рендеринга на рендер-ферме
Остановимся на некоторых особенностях, которые желательно знать и помнить всем посетителям ферм.
Онлайн-калькулятор.
Он есть на каждой ферме и с его помощью пользователь сможет рассчитать и оценить время и стоимость рендеринга. Однако, все это примерно и условно, так как до сих пор нет четкого и реального метода оценки времени рендеринга.
Совместимость ПО
Прежде чем приступить к работе, необходимо определить совместимость ПО, на котором был сделан проект и ПО имеющегося на ферме. Хотя, выше уже указывалось на то, что многие фермы имеют все последние версии ПО, плагины и загружают для пользователя свои плагины для проверки проекта. Несмотря на это, нужно быть внимательным, так как в некоторых ситуациях потраченные деньги фермы могут не вернуть.
Хранение данных
Фермы осуществляют хранение проектов и всех данных, однако через какой-то промежуток времени они могут быть удалены. Через какой промежуток именно, нужно узнавать на самой ферме.
Правила пользования
Прежде чем начинать работу на той или иной ферме, необходимо детально ознакомиться с правилами пользования фермой. Узнать каким образом она предоставляет кредиты, можно ли вернуть деньги и т.п. Для разрешения всех спорных или непонятных вопросов на каждой из ферм должна работать служба поддержки в режиме 24/7.
Создание рендер-фермы (сетевой рендеринг)
Рендер-ферма — это простой набор сетевых компьютеров, которые работают вместе для выполнения вычислений за меньшее время. Путем распределения общего количества работы между несколькими машинами, время выполнения рендера сокращается до времени, которое необходимо потратить одному компьютеру для выполнения расчетов. Большинство профессиональных студий заполняют целые комнаты стойками, содержащими тысячи компьютеров, потому как данное решение является выгодным, с точки зрения времени и финансов. Однако данное решение может быть выгодным (и финансово жизнеспособным) для небольших студий или даже отдельных лиц.
В качестве рендер-фермы может выступать обычный кластер, стоимостью несколько тысяч долларов, или это может быть группа обычных компьютеров соединенных между собой по сети. Вы даже можете пригласить к себе нескольких друзей с ноутбуками и организовать из них ферму. Единственным требованием является, чтобы все машины удовлетворяли минимальным системным требованиям для Blender. Работать они могут под управлением операционных систем Linux, Mac OSX, Windows или в любом сочетании данных ОС.
Blender легко позволяет воспользоваться сетевым рендерингом. Главная цель, которую я хочу донести в этом уроке, это то, что поднять уровень производительности может каждый, независимо от бюджета.
Статья разбита на три этапа. На первом этапе будет показан процесс создания одной единицы фермы. Данный вариант может не вписаться в бюджет каждого пользователя, но он должен дать основное понятие создания данных систем и их потенциал.
Второй этап охватывает процесс подключения всех компьютеров в локальную сеть, и контроль всех узлов через ведущую машину, с помощью VNC. Данный этап разъясняется для ОС: Linux, Mac OSX и Windows.
На третьем этапе будет показано как пользоваться аддоном для Blender Network Render. Это даст нам удобный инструмент для запуска, управления и мониторинга процесса выполнения сетевого рендеринга.
Создание одного узла фермы
Ваша ферма полностью настраивается от аппаратного до программного обеспечения. Единственным ограничением является Ваш бюджет. В данном примере бюджет составляет 3000$ на 6 узлов фермы. Вы же можете выбирать те компоненты, которые считаете необходимыми для построения своей уникальной единицы.
Покупка оборудования
-
: Шкаф Helmer от IKEA будет идеальным корпусом для небольшой фермы. : Данный Hub позволит собрать наши компьютеры в сеть. Помните, что нам понадобятся 7 разъемов: 6 для подключения нодов и 1 для подключения к маршрутизатору. : Так как наш шкафчик имеет колесики, то было бы не плохо иметь удлинитель для его подключения. Опять же, помним, что нам нужно минимум 7 разъемов. : Набор из различных винтиков, шайб и креплений во время сборки является просто необходимым.
Первые 4 пункта необходимо купить в одном экземпляре. Все, что ниже необходимо закупить по 6 единиц каждого:
-
: Выбор на данный процессор пал из-за большого количества ядер при относительно низкой цене. : Здесь всегда просто — чем больше, тем лучше. Две планочки по 8 Гб отлично подходят под данный бюджет. : При выборе материнской платы, я руководствовался тремя основными вещами: размеры платы, процессорный сокет и наличие встроенной графики. Плата должна свободно расположится внутри ящика, оставляя достаточно места для блока питания и остальных компонентов. Сокет должен быть подходящий для выбранного процессора (логично). И, наконец, можно хорошо сэкономить, не покупая 6 видеокарт. : Жесткие диски нам нужны лишь для загрузки и хранения ОС. Большой объем нам здесь ни к чему, поэтому выбор пал на 160 GB scorpio blue от Western Digital. : Так как в нашем ПК отсутствует прожорливая видеокарта и энергоэффективный жесткий диск, то нам подойдет блок питания на 380W. : Также нам необходим куллер для охлаждения нашего процессора. Главным критерием здесь является размер (помним про наш тесный ящик). 80-миллиметровый куллер подошел идеально. : Наши узлы необходимо как-то включать и выключать. : Было принято решение добавить светодиод к каждому узлу, чтобы знать когда происходит обращение к его жесткому диску. Этот шаг не обязателен, но выглядит это интересно. : Стандартные CAT6 кабеля для подключения каждого узла к концентратору. Я рекомендую не короче одного метра в длину.
Сбор системы
1. Если Вы выбрали для своей рендер-фермы шкаф Helmer от IKEA, то, для начала, Вам необходимо будет собрать его согласно инструкции оставив заднюю крышку открытой, чтобы воздух мог циркулировать. Также необходимо сделать 2 отверстия в ящике: для блока питания и процессорного куллера. Еще необходимо одно отверстие сбоку ящика для доступа к разъемам материнской платы. На дне ящика необходимо просверлить 4 отверстия для крепления материнской платы, а также проделать отверстия на передней части для кнопки включения и LED-индикатора (если таковой имеется).
2. Для начала установите процессор и куллер, а также установите обе планки оперативной памяти.
3. Теперь необходимо прикрепить материнскую плату ко дну ящика. Для крепления использовались лишь 4 отверстия по краям платы. Повторить процедуру необходимо для каждого ящика (создание отверстий можно делать по шаблону).
4. Подключите кнопку включения питания к соответствующему разъему на материнской плате (они обозначены в инструкции к плате).
5. Далее идет установка блока питания. Установите его в нужное положение, зафиксируйте винтами и подключите питание процессора и платы.
6. Теперь установите 80-миллиметровый куллер возле блока питания и подключите его в соответствующий разъем на материнской плате.
7. Настал черед жесткого диска. Подключаем кабель SATA в соответствующие разъемы на плате и на HDD. Также подключаем питание для жесткого диска. Между 80-миллиметровым куллером и платой есть немного свободного места, вот там-то его и можно расположить.
8. Сбор узла закончен. Перед тем, как закрыть ящик, на боковой панели необходимо подключить сетевой кабель и вывести его наружу.
9. Повторите данную процедуру для всех узлов и подключите кабеля к роутеру.
10. Теперь узлы полностью готовы для установки на них операционной системы. Для этого Вам понадобится монитор, носитель ОС (USB-дисковод или флешка), клавиатура и мышь. Для своей фермы я выбрал Linux Fedora 17 LXDE. Вы же можете установить ту ОС, которая Вам больше всего по душе.
Настройка сети
Так как каждый наш узел соединен через Ethernet, то мы имеем полноценную локальную сеть. Но как нам заставить работать ее? Для этого, я предлагаю контролировать сеть через один главный компьютер, при помощи VNC.
Virtual Network Computing — система удалённого доступа к рабочему столу компьютера, использующая протокол RFB. Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой, и ретрансляции содержимого экрана через компьютерную сеть.
VNC для Mac
1. Откройте System Preferences > Sharing и слева включите Screen Sharing.
2. Обратите внимание на информацию, выделенную зеленым цветом, которая объясняет, как получить доступ к компьютеру: vnc://192.168.1.2 (IP address)
Из соображений безопасности, рекомендую установить пароль на VNC. Выберите Computer Settings, отметьте VNC viewers may control screen with password, введите пароль и нажмите ОК.
3. Ваш Mac теперь доступен для остальных машин. Чтобы получить доступ к другим машинам, перейдите в Finder, выберите в меню Go > Connect to Server (или command + K). Тип vnc://192.168.1.x, где х — целевой ПК.
4. Установите статические IP-адреса. По умолчанию, большинство компьютеров (независимо от платформы) устанавливают динамические IP-адреса. При использовании VNC это очень неудобно, поэтому перейдите в System Preferences > Network и кликните пункт Automatic, расположенный в верхней части окна и выберите Edit Locations. Нажмите + и переименуйте новую запись на Static или что-то подобное.
5. Это создаст новый набор сетевых настроек. В зависимости от типа Вашего интернет-соединения (Wi-Fi, Ethernet и т.д.), выберите нужный пункт слева и нажмите кнопку Advanced в правом углу окна. На вкладке TCP/IP установите тип Configure IPv4 в Manually и введите правильный (неиспользуемый) IPv4 адрес, Subnet Mask и Router.
Нажмите Apply.
VNC для Windows
1. Рекомендую скачать приложение TightVNC с сайта tightvnc.com. Установите его с настройками по умолчанию.
2. На панели задач выберите иконку VNC, чтобы открыть окно конфигурации программы.
3. Установите Primary Password для проверки запрашиваемого компьютера.
4. Установите статические IP-адреса, кликнув правой кнопкой мыши на значок сети и выбрав пункт Open Network and Sharing Center. Затем кликните по типу соединения, чтобы открыть окно настроек. Кликните по кнопке Properties, затем Internet Protocol Version 4 (TCP/IPv4) > Properties. Выберите пункт Use the follwing IP address и установите нужные IP-адреса, маску подсети, шлюз и DNS.
5. Если Вы установили TightVNC с настройками по умолчанию, то в брандмауэр должно было записаться исключение, позволяющее устанавливать VNC-подключение с других машин. Для подключения к другой машине откройте TightVNC Viewe. Введите адрес удаленной машины в поле Remote Host. Если на целевом компьютере требуется пароль для входа, то Вам будет предложено ввести его.
VNC для Linux (Fedora LXDE)
1. Настройка VNC для Linux менее автоматизирована, чем для других ОС (еще бы… это же Linux). Нам необходимо включить автоматический вход в систему Fedora, потому что VNC не будет работать, пока пользователь не вошел в систему. Откройте терминал и введите sudo nano /etc/lxdm/lxdm.conf. После правильного ввода пароля администратора, откроется конфигурационный файл в окне терминала, доступный для редактирования. Следуйте первому набору команд Uncomment and set autologin username to enable autologin. Control + X закрывает файл, давая возможность сохранить его. Обязательно сохраните файл.
2. Установите x11vnc введя в терминале sudo yum install x11vnc.
3. Установите пароль введя в терминале x11vnc -storepasswd. Затем тот же пароль для подтверждения. Пароль сохранится в каталоге по умолчанию
4. Установите x11vnc для автозапуска при входе в систему введя в терминале: sudo nano
/.config/lxsession/LXDE/autostart. Если файл не существует, то будет создан пустой файл. Добавить эту запись в файл @x11vnc -forever -usepw -geometry 800×600 (название приложения, работать постоянно, пока компьютер включен, использовать пароль, сохраненный в файле
/.vnc/passwd, разрешение экрана с указанными размерами). Выйдите с помощью Control + X и сохраните файл.
5. Необходимо добавить порт VNC в исключения Firewall. Нажмите кнопку Start в левом нижнем углу экрана и выберите пункт Administration > Firewall. Кликните слева по меню Other Ports и добавьте 5900 порт с протоколом tcp и 5900 порт с протоколом udp.
6. Установите статический IP-адрес кликнув Start > Preferences > Network Connections. Выберите Ваше активное соединение (в моем случае это Wired). Выберите его и нажмите кнопку Edit. Выберите вкладку IPv4 Settings, измените тип Method на Manual и введите IP-адрес, маску подсети, шлюз и DNS. Сохраните настройки.
На данный момент у нас собрана сеть компьютеров, контролируемая одним ПК (master machine). Как насчет того, чтобы сделать что-то на самом деле?
Сетевой рендеринг в Blender
1. Blender содержит замечательный аддон Network Render, который позволяет легко запускать сетевой рендеринг на вашей ферме. Запустите блендер и откройте файл, который необходимо отрендерить.
2. Нужно активировать дополнение, перейдя File > User Preference и на вкладке Addons ввести в поле поиска Network. Должен появиться нужный нам аддон. Активируем его.
3. Теперь выберите Network Render вместо Blender Render или Cycles. На вкладке рендера стали доступны три настройки: Client, Master, и Slave. Для работы нам необходим один Client, один Master и как можно больше Slave машин. Client настраивает параметры проекта, Master получает задание и распределяет его между всеми Slave, а Slave выполняют непосредственно сам рендер.
4. В Blender со сценой, которую необходимо отрендерить установите тип Client. Откройте еще одно окно Blender с помощью терминала, установите тип Master и нажмите кнопку Start Service. Master и Slave не нуждаются в загруженной копии сцены, которую необходимо отрендерить, однако в их сцене должна присутствовать камера для того, чтобы запустить службу. Запустите Blender на каждом из узлов, установите их тип в Slave и кликните Start Service на каждом из них. В идеале, все машины Slave автоматически увидят машину Master и появится следующая надпись Network render connected to master, waiting for jobs. Если же этого не произойдет и Вы увидите сообщение No master server on network, то необходимо явно указать IP-адрес мастера в поле Address под кнопкой Start Service.
5. Убедитесь, что все узлы подключены к мастеру и готовы к работе. На клиенте нажмите кнопку Обновить (над кнопкой Open Master Monitor), чтобы проверить все соединения. Затем нажмите кнопку Обновить в выпадающем меню Slaves Status. Если все соединения установлены, то вы увидете имена всех подключенных узлов.
6. После того, как соединения установлены, на клиенте необходимо установить тип задания Blender (для рендеринга .blend сцены), установить тип рендера (Cycles или Internal) и указать место сохранения работы и тип файла. Нажмите Animation on network, чтобы запустить рендер-ферму!
7. Для мониторинга статуса и прогресса работы нажмите Open Master Monitor. Запустится веб-утилита, которая позволяет легко контролировать статус, прогресс, текущую частоту кадров, продолжительность рендеринга для каждого узла и т.д. Также здесь можно нажать паузу, отмену, перезапустить работу отдельного узла или всех сразу. Когда рендер завершится, полюбуйтесь на время, затраченное на визуализацию.
На этом создание фермы закончено! Да, создание рендер-фермы является довольно сложным процессом, особенно если вы сами собираете каждый узел системы, но я думаю, что данный труд легко окупается в кротчайшие сроки и принесет массу удовольствия создателю. Спасибо за то, что дочитали до конца!