![]() | | |||||||||
| ||||||||||
| | #1 (permalink) | |||
| Подросток
| Тема: Запуск Blender-кластера в ННТК Язык: Русский Место: Нижний Новгород ![]() Вчера около 10 вечера у нас состоялся первый запуск рендер-кластера для обсчета Blender сцен. Рендер-ферма представляет из себя (пока) один класс на 11 MacMini с Core2duo + 2GB Ram каждый. Кстати, оборудование и помещение предоставляется Нижегородских Техническим Колледжем за что им большое спасибо! ![]() Встав перед задачей обсчета 8 секундного ролика с наложением анимированного 3D обьекта на реальное видео мы решили поискать подобные решения по интернету. Походив по форумам, сайту BBB и наконец попав в блог одного из учасников TOSMI http://www.thanosk.net/node/4 мы решили пойти по проторенному пути и воспользоваться системой DrQueue. Если говорить коротко - то drqueue нечто вроде "раздатчика" заданий. На Master-машине указывается комманда и набор параметров к этой комманде. На Slave-машинах просто запускается клиентское приложение слушающее комманды от Master-хоста. По сути вся система сводиться к сообщению каждому свободному Slave-хосту обычной консольной комманды, с параметром, который он должен выполнить. Что бы было более понятно - покажу на примере. У нас есть 10 Slave-компьютеров. На Master-хосте указанно, что будет обсчитываться задание вида blender -b /var/shared-folder/scena.blend -f $i И нужно в этой сцене обсчитать кадры от 1 до 408 Соответственно, Первому Slave-хосту будет отправлено задание blender -b /var/shared-folder/scene.blend -f 1 Второму blender -b /var/shared-folder/scene.blend -f 2 и т.д. Когда первый Slave-хост освободиться - он сообщит Master-у что готов принять следующее задание и тот ему выдадит что то вроде blender -b /var/shared-folder/scene.blend -f 12 ![]() Последний раз редактировалось gumanoed; 14.03.2009 в 08:41.. | |||
| | | |||
| | #2 (permalink) | |||
| Подросток
| Конечно же, на каждом из Slave-хостов у вас жолжен быть установлен Blender. Комманды передаваемые Salve'ам выполняются локально. Для простоты настройки системы и доступа к blend-сцене с каждого из Slave-хостов мы сделали сетевую папку и подключили ее ко всем компьютерам. Там лежил сама сцена, текстуры и туда же выдается результат. К тому же, что бы не заниматься установкой drqueue на каждый компьютер я просто скопировал все исполняемые и конфигурационные файлы drqueue из /var/lib/drqueue в /var/shared_folder Ну и для запуска Slave-приложения мы пользуемся скриптом: #!/bin/bash export DRQUEUE_ROOT=/home/vasya/drq export DRQUEUE_TMP=/home/vasya/drq/tmp export DRQUEUE_MASTER=192.168.155.14 bash ./bin/slave На Master-хосте используем: #!/bin/bash export DRQUEUE_ROOT=/home/vasya/drq export DRQUEUE_TMP=/home/vasya/drq/tmp export DRQUEUE_MASTER=192.168.155.14 bash ./bin/master & bash ./bin/drqman ![]() Запуск не обошелся без сложностей. Мы с Михаилом около 2 часов бились над тек как же создать задание в DrQueue для рендеринга сцены. При создании задания на закладке Script указывая все параметры мы получали в скрипте что то вроде: #!/bin/tcsh set SCENE="/var/shared_folder/drq/TSv10cam.blend" echo ------------------------------------------------- echo ATTENTION ! There was a problem opening: /var/shared_folder/drq/etc/blender.sg echo So the default configuration will be used echo ------------------------------------------------- blender -b $SCENE -f $FRAME На что кластер говорил что переменная FRAME не заданна. Покопав в интернете и проверив установленн ли tcsh мы решили сделать скрипт вручную. Получилось примерно следующее: #!/bin/bash SCENE=/var/shared_folder/drq/TSv10cam.blend echo blender -b $SCENE -f $DRQUEUE_FRAME blender -b $SCENE -f $DRQUEUE_FRAME # This should requeue the frame if failed if ( $? != 0 ) then echo "Requeueing frame..." kill -INT $$ else playsound /usr/share/sounds/KDE-Sys-App-Positive.ogg fi В дальнейшем мы использовали именно этот скрипт для рендеринга сцены. Кстати, последняя комманда заставляет Slave-систему издавать приятный звук при завершении рендеринга очередного кадра! Очень приятно сидеть и слушать как попеременно каждая из 11 систем говорит что завершила выполнение задания ![]() ![]() Замеры скорости и производительности рендер-фермы в НТК будем делать чуть позже. О результатах обязательно проинформируем сообщество! | |||
| | | |||
| | #3 (permalink) | |||
| Подросток
| Классно! Вот бы мне в моём минском универе хотя-бы пару кабинетов (во всём 9-этажном корпусе поменяли компы - pentium DualCore E2200 +1Gb RAM) заслэйвить.... ![]() | |||
| | | |||
| | #4 (permalink) | |||
| Древний
| Интересно, а по инету нельзя ферму организовать? Договориться , к примеру, и собрать несколько машин анлимитчиков вместе... Я бы , ради эксперимента, согласился свою на ночь предоставить... ![]() | |||
| | | |||
| | #5 (permalink) | |||
| В расцвете сил
| да круто, хотелось бы узнать, производительность. Из за сколько отендрился ролик
__________________ ![]() ![]() | |||
| | | |||
| | #6 (permalink) | |||
| prost0
| max6312,да у тебя выход наверняка не вся твоя скорость, пров по любому обрезает ее... да и знаешь. на 256 ферма это смешно)) | |||
| | | |||
| | #7 (permalink) | |||
| Младенец
| это вовсе не смешно. лично я пробовал рендерить через интернет. нормально гораздо быстрее чем на один комп . создаешь виртуальную локальную сеть и всё. скорость нормальная | |||
| | | |||
| | #8 (permalink) | |||
| В расцвете сил
| Не понял, а при чем тут 256? Gumanoed подключил сетевую папку, вместо этого по Инету каждый скачал себе сцену - и вперед. Можно даже без "докторишки" обойтись. Просто каждый у себя рендерит определенный диапазон кадров. | |||
| | | |||
| | #9 (permalink) | |||
| Дитя
| Всех интересует ускорение исполнения.Кто-либо сталкивался с применением CUDA в Блендере? Приложения CUDA- http://www.nvidia.ru/object/cuda_hom...%20изображений Ведь личный суперкомп не такая уж далекая реальность=3-4 + CUDA | |||
| | | |||
| | #10 (permalink) | |||
| Дитя
| Извините,не дописал- 3-4 GPU + CUDA | |||
| | | |||
![]() |
| Закладки |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | |
| Опции просмотра | |
|
|