Зачем нужны сетевые хранилища

CPU_01

Время от времени приходится много или быстро рендерить. Для чего в офисе «на коленке» была собрана «рендер ферма». Все компы, боле менее пригодные для работы, на ночь или выходные нагружаются сетевым рендером. Источником данных для них выступает офисный сервачёк. Банальный «писюк» с большими дисками и установленной Убунтой. По smb раздаются файлы. Всё прекрасно. Было. До одного раза.

И так. Имеем короткий ролик в Cinema4D с массой частиц изображающих из себя торнадо. Положение частиц это «машина состояний». Если перейти в случайный кадр сцены, то они будут непредсказуемо вести себя. Допустимо только последовательное движение по шкале времени. А это значит, что в «сыром» виде рендерить по сети нельзя. Каждая машина начнёт обсчитывать свой кусочек и частицы будут двигаться по траекториям, отличным от других нодов. «Запекаем» частицы в мэш. Ставим на сетевой рендер. Идём спать.

Утром обнаруживаем, что рендерит только одна машина, остальные лентяйничают. Подключаем их в ручном режиме. Через некоторо время обнаруживаем, что они снова простаивают. Так несколько раз. Приходит понимание, что это не простот так. Идём изучать логи рендерных нод. И видим, что «машинки» отваливаются по таймауту. Чешем тыковку, маковку и пятую точку. Смотрим на файл сцены в «проводнике». Видим, что его размер 1,5 Гигабайта. Медленно начинает приходить понимание того, что дестка бодрых, рендерных нод как гопники, разом накидываются на маленький комп, выпущенный в прошлом десятилетии, который объявили файловым сервером. С воплем «давай файло!». Он бы и рад, но одномоментно выдать 15 гиг не в состоянии. А ноды-гопники, не дождавшись вразумительного ответа от недосервака уходили в спячку.

И вот с таким знанием я стал по очереди подключать рендерные ноды выдерживая по 1-2 минуты. За это время задание успевало загрузиться, запуститься и отчитаться о начале работы.

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

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.