SoftimageRu Форум -> Сетевой рендер в XSI

Новости • Форум • Помощь • Поиск • Участники • Календарь • База


Страницы: (3) [1] 2 3   ( Перейти к первому непрочитанному сообщению ) Ответ в темуОтвет      Создание новой темыНовая тема   

> Сетевой рендер в XSI, настройка рендера и кастом шейдеров   
OZazello
Профиль
Статус: Fool Power
Группа: Элита
Рейтинг: 10

Настройка сетевого рендера в XSI

Итак, давайте начнём наше _увлекательное_ занятие по настройке сетевого рендера в XSI.

У нас есть компьютер на котором работаете вы (мастер) и несколько компьютеров, которые вы хотите использовать в качестве рендер-фермы (слэйв). Мастер раздаёт задания слэйвам, будь то рендер в сети последовательности кадров, или один кадр (тогда мастер говорит слэйвам какой бакет надо рендерить). Обычно мастер это тот компьютер, за которым вы работаете в XSI.

Глава первая. Маленький шаг в сеть, большой шаг для производительности :)

Итак, первым делом, как правильно поставить XSI на слэйв компьютеры.
В XSI сущес
твует два типа сетевого рендера: сателлит (Satellite) и стэндэлон (Standalone). Они различаются отношением к лицензии(ям), которые вы, хехе, купили (отличия этих сетевых рендеров смотрите в хелпе - Rendering and Compositing\Distributed Rendering).
Нам необходим Стэндэлон (Standalone) сетевой рендер.

Определимся с именами компьютеров:
master - компьютер, за которым вы сидите.
slave1, slave2, slave3,… - компьютеры на которых будет осуществляться сетевой рендер.
My_work.ru - имя домена (если вы находитесь в доменной сети)

Итак, ставим XSI на slave1 компьютер. Я выбрал типичную установку, а не рендер слэйв. Мне легче прописать нужные вещи через интерфейс XSI, чем ковыряться с командной строкой.

В конце установки нас начинают спрашивать о том, какой рендер мы будем использвоать в сети:

Поставьте галку на Confgure standalone distributed rendering.
Затем выберите Edit Port Number (advanced user only), мы ведь продвинутые пользователи, неправда ли ? :
И введите номер порта. В принципе можно этого не делать, но! На всех машинах для сетевого рендера должен быть одинаковый номер порта, а компьютеры по умолчанию могут выдавать разные номера.

Кстати, номера портов прописаны в файле:
%system%\system32\drivers\etc\services
где %system% -каталог виндоус.

Откройте его обычным текстовым редактором и посмотрите в самом низу
Вот что нашлось в моём файле:
mi-ray3xsi3_5 7003/tcp #
mi-ray3xsi3_5_1 7004/tcp #
mi-raysatxsi4_0 7005/tcp #
mi-raysatxsi4_2 7006/tcp #
mi-spm 7050/tcp spm #SPM License Server
mi-spm 7050/tcp spm #SPM License Server
mi-ray3xsi4_2 7040/tcp #

ага, можно посмотерть какие XSI у меня стояли :

mi-ray3xsi4_2 7040/tcp # вот эта строчка отвечает за порт стэндэлон сетевого рендера.
дублирующие строчки можно смело стирать. Это информация для виндоус и сервисов, какие порты им надо использовать. Не забудьте, порт на стэндэлон рендер на всех слэйв машинах должен совпадать! Если это не так, откройте этот файл и впишите нужный номер порта.

Еще одно окно на этапе инсталляции XSI. Здесь спрашивается на какой машине стоит лицензия. В принципе, самое оптимальное, это ссылаться на одну машину, дабы сократить запросы лицензии по сети.

 

т.е. абсолютно на всех машинах прописывайте имя первой машины, на которую вы поставили XSI. Обратите внимание, что SPM сервер сидит на 7050 порту, и эта информация тоже фигурирует в текстовом файле рассмотренном выше (информация бесполезная, но мало ли :)

Глава вторая. В которой мы изучаем сетевые возможности Windows.

Теперь неплохо бы создать пользователя на всех слэйв машинах с правами администратора.
Например назавем его render_xsi и дадим ему пароль render.
Этого пользователя надо создать на каждой слэйв машине с одним и тем же именем и паролем. Сделали мы это для удобства.

На любом компьютере в сети (например на slave1) создаем папку Workgroup_XSI (имя можете придумать своё) и расшариваем её с правами доступа для пользователя render_xsi и паролем render (если вы в домене то вам придется сбегать к вашему администратору, впрочем вам придется бежать к нему даже раньше, на этапе создания пользователя render_xsi).

Workgroup_XSI это папка, куда будут устанавливаться плагины и шейдера XSI.

Теперь запускаем вновь поставленную XSI, и лезем в File/preferences/Data Managements
В самом низу ищем поле Workgroup(s) и вбиваем туда сетевой путь к папке Workgroup_XSI. Самое оптимальное воспользоваться кнопочкой Browse, которая там представлена тремя точками.

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

Тыкаем в My Computer правой кнопкой мышки и выбираем manage. В появившемся окне ищем Services and Application\services тыкаем в это и справа в сервисах ищем
"ray3xsi4_2 Server"

нажимаем на этом сервисе правой кнопкой мышки и выбираем properties
там идем во вкладку Log On

выбираем This account: и пописываем render_xsi@my_work.ru (это доменное имя)
Вот тут есть один нюанс. Обязательно прописывать доменное имя, если вы сидите в домене, вообще самое лучше воспользоваться кнопкой Browse… и найти этого пользователя там, компьютер сам, автоматически подставит то, что надо.
Ну и естественно пароль, в данном случае - render.
Жмем ок. и перезапускаем сервис.
В некоотрых случаях, у меня этот сервис отказывался стартовать повторно и компьютер писал - типа всё нормально, такое бывает, он, мол, запустится автоматом когда надо. Приходится перезагружать компьютер. А он на этапе старта повисает. И его приходится презапускать снова. Всё проходит гладко и можно начинать работать. Что это такое, не берусь сказать, но из трёх компов такое произошло на двух (почти статистика :)

Аналогичные действия делаете на всех компьютерах в сети.

Глава третья и последняя. В которой мы делаем последние шаги на этом тернистом пути.

Итак осталось мастер-компьютеру указать какие машины в его распоряжении.

Лезем в Start (пуск) там softimage products\softimage XSI 4.2\User Tools
В появившемся окне выбираем .ray3hosts (Distributed Rendering) и жмем Edit File
(другой способ, вручную отредактировать этот файл. Он лежит в
[\\диск:]\users\[имя пользователя]\Softimage\XSI_4.2\.ray3hosts)

в появившемся окне для редактирования пишем нечто вроде

#standalon
10.130.10.151:7040
10.130.10.152:7040
10.130.10.153:7040

символ # является ремаркой. Т.е. все, что идет за этим символом в этой строке - игнорируется. Таким образом, можно исключать компьютеры из сетевого просчёта, просто поставив перед IP адресом этот знак.

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

Slave1:7040
Slave2:7040
Slave3:7040

Жмем в Save and Close. И затем в Quit

Ура! Если вы всё сделали правильно - теперь можно перейти к тесту сетевого рендера.

Запускаем XSI на мастер компьютере. Лезем в настройки Render Region, и во вкладке Logged Messages устанавливаем Progress Report. Делаем какой-нибудь шарик, навешиваем на него сторонний шейдер (например Dirtmap), и рендерим его с помощью Render Region (Q). Лезем в Script Editor (кнопка с изображением свитка, внизу слева) и ищем строчки с процентами рендера и именами машин, которые его выполняли (понажимайте F5 пару раз, если компьютер справляется с рендером очень быстро, то он не будет отправлять данные на сетевой рендер). Если всё хорошо, то вы должны увидеть имена сетевых машин, как показано на рисунке ниже.

Если у вас на рендере есть чёрные бакеты, или они отличаются от того, что должно было получиться (сторонний шейдер не подключился) начинаем работу над ошибками. Для начала надо найти машину, которая не подключила шейдер. Оставьте в .ray3hosts только первую машину, отключив остальные. И повторите рендер.
Таким образом пройдитесь по всем машинам, вычленив те, которые не работают. Проверьте у них порты.
Проверьте, правильно ли вы прописали права доступа в процессе "ray3xsi4_2 Server". Постучите в бубен :
Не забудьте, устанавливая шейдера, указывайте папку workgroup а не user. Кстати, после установки шейдеров, надо на каждой машине в сети запустить XSI. Как написано в хелпе, самое просто сделать пустую сцену dummy.scn и запускать её из командной строки
xsibatch -r -scene "dummy.scn"

новые шейдера будут проинициализрованы и готовы к работе.

Во время сетевого рендера на слэйв машинах запускается процесс ray3.exe, который собственно и занимается рендером. При некорректном завершении работы (ну глюкнуло кси при просчёте, ну с кем не бывает) этот процесс повисает в памяти машины. Сколько раз глюкнуло, столько процессов и повиснет. Не забывайте об этом, и снимайте их ручками или, как вариант, перегружайте сетевые машины раз в неделю, чтобы освободить память.

Небольшое дополнение по поводу текстур в XSI.

XSI может по разному отправлять текстуры (я имею в виду картинки как текстуры), на слэйв машины.

Load in Memory - загружать в память. Будет создан MI файл, в который будет включена эта текстура. Размер MI файла, сами понимаете, вырастет значительно.

Use from Disk - в MI файл будет включен только путь, где лежит эта текстура. И текстура _будет_отослана_ на слэйв машину.

Broadcast - в MI файл будет включен сетевой путь на текстуру и на слэйв отослан только этот путь.

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

Персональное сообщениеСайт пользователяICQAOL
Цитировать сообщение Дата 25.02.2005 - 11:11 Top
roman78
Профиль
Статус: слон
Группа: Заслуженные артисты
Рейтинг: 2
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО
как вовремя то :)
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователя
Цитировать сообщение Дата 25.02.2005 - 15:29 Top
MAX
Профиль
Статус: слон
Группа: Заслуженные артисты
Рейтинг: 0
Огромное спасибо, а то ничего внятного на эту тему я так и не нашел. :)
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 25.02.2005 - 16:51 Top
Andr
Профиль
Статус: слон
Группа: Элита
Рейтинг: 0
Mega TNX!!!
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 25.02.2005 - 20:49 Top
georgi_3D
Профиль
Статус:
Группа: Артисты
Рейтинг: 0
Спасибо за ваш труд .
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 26.02.2005 - 07:14 Top
A_n_d
Профиль
Статус:
Группа: Артисты
Рейтинг: 0
Спасибо :D
Персональное сообщениеПисьмо на e-mail пользователюICQ
Цитировать сообщение Дата 26.02.2005 - 18:47 Top
Archer}

Статус: Unregistered


поставил на слейв-машине шейдеры в воркгруп, и все заработало.
обошлось без пляски с пользователями и службами 8)

ПыСы : слейв-комп в домене
Цитировать сообщение Дата 22.02.2006 - 12:15 Top
Needle
Профиль
Статус: слон на мухе
Группа: Элита
Рейтинг: 1
здорово! кое что новое узнал особенно про танцы с бубнами :)
нада попробывать :)
Сенкс
Персональное сообщениеПисьмо на e-mail пользователюICQ
Цитировать сообщение Дата 22.02.2006 - 22:59 Top
igsiv
Профиль
Статус: Танкист
Группа: Артисты
Рейтинг: 0
Немного доп. информации.
Обычно под сетевым рендером понимается сателлитный рендер (из XSI) и рендер при помощи ray-хостов (рендер из командной строки при помощи standalone mental ray, ray3 в XSI 5.x). Но есть еще один важный и часто используемый вид рендера. Не знаю как правильно обозвать его... Пусть будет "распределенный" рендер. В этом случае анимация разбивается на куски кадров и куски распределяются по машинам, причем рендер на каждой машине (или небольшой группе машин) запускается независимо. Такая ситуация имеет место при рендере больших по объему сцен (в частности с использованием фотонной карты), но при этом время расчета одного кадра невелико (сравнимо со временем копирования файлов сцен текстур и других файлов по сети между машинами). Если машин немного и рендер простой, то можно все сделать руками. Но если приходится много рендерить таких сцен на полусотне и более машин, то без рендер-менеджера не обойтись (например, Qube и пр.). Такой менеджер будет автоматизировать экспорт и копирование файлов между машинами и их запуск на рендер.

По поводу отлавливания "багов", вроде отвалившихся "хостов" очень рекомендую просматривать логи в скрипт -эдиторе при сателлитном рендере и логи ментала при ray3-рендере. В логах все есть. Кроме того, imf_disp позволяет "на лету" подключаться к рассчитываемому кадру (работает даже по сети - можно с одной машины смотреть, что рендерится на другой).

Советую создавать вообще на отдельной машине (файл - сервере) Workgroup и подключить к ней все сетевые рендер-машины. Во-первых, это позволяет централизованно устанавливать custom-шейдера (один раз на одной машине в подключенный Workgroup, остальные машины их "подхватят"). Во-вторых, не будет проблем с сетевыми именами подключаемых библиотек шейдеров при экспорте в mi.

Также на отдельной машине (а не на машине, учавствующей в рендере) нужно ставить сервере лицензий, который будет заниматься только раздачей лицензий. К слову, Windows SPM-32 позволит в этом случае запускать Win и Linux 32- и 64-версии XSI без проблем.

Советую также перед сетевым рендером преобразовывать все текстуры в map-карты при помощи утилиты imf_copy. Исключительно полезно в плане памяти и кроме того, позволяет отфильтровать текстуру (аа, mip-map pyramid, эллиптическая фильтрация).

Я рендерю почти исключительно при помощи ray3 и экспорта в mi2.
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 19.09.2006 - 16:35 Top
AHTOH_S
Профиль
Статус: oXSIbuterat
Группа: Артисты
Рейтинг: 2
Большое спасибо , как раз стал разбираться с сетевым , много что было не понятно , так как переводчик из меня плохой пока , еще раз спасибо , завтра буду на работе разбираться
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователяICQ
Цитировать сообщение Дата 19.09.2006 - 17:30 Top
Druid3d
Профиль
Статус: слон
Группа: Артисты
Рейтинг: 0
биг сенкс, как раз вовремя!!! осталось тока Fusion еще побороть с его глюками render slave и наступит долгожданное счастье :D
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователя
Цитировать сообщение Дата 20.09.2006 - 15:54 Top
AHTOH_S
Профиль
Статус: oXSIbuterat
Группа: Артисты
Рейтинг: 2
Всем Привет , нескромный вопрос - для сервиса какой нужно комп обозначать в брауз , у меня определяется только тот на котором я в тот момент настраиваюю.
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователяICQ
Цитировать сообщение Дата 21.09.2006 - 20:32 Top
Simfo
Профиль
Статус: oXSIgen
Группа: Артисты
Рейтинг: 0
Вопросик... В сети 2 машины, дестктоп и ноутбук. Считаю один кадр standalon-ом... Можно ли во время рендера как-то отключить нотбук, чтобы на десктопе рендер продолжился? У меня все зависает...

XSI 6.0. На десктопе XP prof, на ноуте Home edition.
Персональное сообщениеПисьмо на e-mail пользователюICQ
Цитировать сообщение Дата 22.01.2007 - 16:00 Top
MpaKo6ec
Профиль
Статус: Октябренок
Группа: Артисты
Рейтинг: 0
Кто-нибудь сталкивался с такой веселухой в XSI 7.01 (билд который уже с Autodesk), вобщем когда ренедришь дистрибутом (satellite), то первый рендер нормально слейв цепляется, но после него на слейве процесс Raysat безбожно виснет и вешает XSI на мастере (хотя первый рендер и без багов, нормально завершается, а второй уже все, приехали).

Если в .ray3hosts указать не satellite, а standalone, то XSI тупо не загружается, встает на загрузке... есть мысль что это от того что на слейве указал Network license server, который на мастере установлен. Может трабла из-за этого, ещё не проверял.

Может кто-то в курсе как можно это полечить, может есть какие предположения?

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

ЗЫ: Ещё такой момент, когда ключи генеришь и устанавливаешь, то ключи для ментала там указаны в версии 3.4... или я в силу своей неопытности по кси и менталу чего-то не догоняю. И если в коммантдной строке вбить ray3, то он будет ругаться на то, что нет лицензии, в принципе это не удивительно если ключи для 3.4, а с седьмой кси идет 3.6.
Персональное сообщениеПисьмо на e-mail пользователю
Цитировать сообщение Дата 17.01.2009 - 07:13 Top
coolroy
Профиль
Статус: ass
Группа: Элита
Рейтинг: 8
MpaKo6ec по поводу зависаия на втоором кадре - это баг и уже обсуждалось. надо прописать mi force old bsp в setenv.bat на всех компах.
Персональное сообщениеПисьмо на e-mail пользователюСайт пользователяIntegrity Messenger IMICQAOLYahooMSN
Цитировать сообщение Дата 17.01.2009 - 22:36 Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Страницы: (3) [1] 2 3  Ответ в темуОтвет      Создание новой темыНовая тема   

 

Текстовая версия