Современные
информационные технологии/2.Вычислительная техника и программирование
А.Д. Маймаков, И.А. Угай, Р.И. Бармашёв
Национальная
научная лаборатория коллективного пользования информационных и космических
технологий КазНТУ имени К.И. Сатпаева, Алматы, Республика Казахстан
МЕТОДОЛОГИЯ АВТОМАТИЗАЦИИ РЕНДЕР-ФЕРМЫ С
ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИИ WCF
Рендер-ферма представляет собой группу компьютеров,
объединённых высокоскоростными каналами, и представляющуюся для пользователя
единым аппаратным ресурсом, предназначенным для процессов расчёта освещения 3D-сцены с учётом физически корректных алгоритмов
отражения, преломления и наложения света. Другими словами, предназначенная для
процессов рендеринга 3D-сцен. Также
под рендерингом понимается процесс получения изображения по модели, при помощи
специального программного обеспечения, которое называется рендерером.
Использование рендер-ферм обладает следующими
преимуществами: низкая арендная стоимость для клиентов и быстрое получение
результатов рендера, что позволяет реализовывать несколько крупных проектов.
На момент написания статьи в мире насчитывается 129
рендер-ферм в 35 странах, из них 29 находятся в США, что составляет 22% от
общего количества рендер-ферм в мире.
На рынке облачных технологий также лидирует США. С
географической точки зрения США останется крупнейшим региональным рынком
публичных облачных услуг, за ними будут следовать Западная Европа и
Азиатско-Тихоокеанский регион. Но максимум роста придется на рынки
развивающихся стран, чья коллективная доля в общемировом объеме удвоится к 2016
году и составит 30%. (IDC).
На данный момент различают две технологии построения
рендер-ферм:
– технология построения офлайн рендер-ферм;
– технология построения онлайн рендер-ферм.
Для обеих технологий построения рендер-ферм,
необходим массив мощных аппаратных серверов, предназначенных исключительно для
рендера 3D-сцен. Данные сервера должны иметь высокопроизводительные центральные
процессора, видеоадаптеры и высокоскоростной оптический канал связи. Данный
фактор является ключевым «сдерживающим» фактором для создания собственной
рендер-фермы, ввиду того, что получение вышеописанного массива серверов
представляет собой дорогостоящую операцию. На данный момент в Республике
Казахстан не существует ни одной рендер-фермы построенной на базе
вычислительного кластера (суперкомпьютера), и тем более доступной в качестве
онлайн-сервиса.
Онлайн рендер-фермы работает круглосуточно и
позволяет независимо от оператора фермы загружать сцены и отслеживать ход
рендеринга (при помощи облачного сервиса). Все процессы, исполняемые на
рендер-ферме полностью или частично автоматизированы. Ввиду этого, данный тип
рендер-ферм практически исключает возможность использования человеческих
ресурсов.
В свою очередь офлайн рендер-фермы позволяют
запустить процесс рендеринга исключительно вручную, посредством взаимодействия
с менеджером. На данный момент услуги рендеринга КазНТУ имени К.И. Сатпаева
предоставляют именно в режиме офлайн.
В данной статье будет рассмотрена технология
построения онлайн рендер-ферм. Основным отличием данной технологии от
технологии построения офлайн рендер-ферм является наличие купленного или
разработанного программного обеспечения, выполняющего автоматизацию процессов
рендеринга.


Рисунок 1 – Зарубежные
рендер-фермы
Как видно из названия статьи рассматривается
методология автоматизации на основе технологии WCF (Windows Communication Foundation). В свою очередь Windows Communication Foundation
является структурой программной системы, используемой для обмена данными между
приложениями .NET Framework. Данная технология позволяет реализовывать
веб-сервисы с комбинированной функциональностью, таких технологий, как ASP.NET XML Web Services или ASMX, .NET Remoting, .Net Enterprise Services
и System.Messaging.
Методология автоматизации рендер-фермы при помощи
технологии Windows Communication Foundation
заключается в следующем:
1. определить программные компоненты, задействованные
в процессе рендеринга (смотреть рисунок 2);

Рисунок 2 – Программные
компоненты, задействованные в процессе рендеринга
2. определить компоненты, необходимые в
автоматизации;
3. автоматизация, необходимых компонентов посредством
технологии Windows Communication Foundation.
Как видно из рисунка 1, в процессе рендеринга, можно
выделить 3 компонента:
– программное обеспечение для создания 3D-графики (например, Autodesk 3ds Max, Autodesk Maya и т.п.). Данный программный
компонент является «клиентским» приложением по отношению к рендер-ферме, в виду
того, что пользователь создаёт лично 3D-графику
на своём собственном персональном компьютере с помощью вышеперечисленного
программного обеспечения;
– программное обеспечение для сетевого рендеринга
(например, Autodesk Backburner, Thinkbox Deadline и т.д.). Рассматриваемый
программный компонент является специализированным серверным программным
обеспечением, которое осуществляет функции планировщика задач для
распределённого рендеринга. Ввиду того, что данный компонент является серверным
программным обеспечением, оно устанавливается непосредственно на центральном
(-ых) сервере (-ах) рендер-фермы;
– программное обеспечение, выполняющее процесс
рендеринга (например, Chaos
Group V-Ray, NVIDIA
Mental Ray, Solid Angle Arnold, Octane Render и
т.д.). Программный компонент выполняющий рендер, является программным
обеспечением, которое устанавливается на каждом вычислительном узле
рендер-фермы.
Из вышеперечисленных компонентов, программное
обеспечение для создания 3D-графики не
нуждается в автоматизации, ввиду того, что является «пользовательской»
программой.
Далее программное обеспечение выполняющее рендеринг,
имеет в своей логической структуре сложные математические модели, необходимые
для осуществления рендеринга. Ввиду этого, автоматизация данного компонента
является практически невозможной задачей.
Ввиду выше приведённых факторов, для построения
онлайн рендер-фермы достаточна автоматизация программного компонента для
сетевого рендеринга.
Другими словами, взаимодействие пользователя с онлайн
рендер-фермой производится следующим образом (смотреть рисунок 3):
1. пользователь взаимодействует с программным
обеспечением для создания 3D-графики. Другими
словами, пользователь, являющийся дизайнером, 3D-моделером, архитектором, аниматором,
мультипликатором и т.д. создаёт анимационные мультфильмы, эффекты для
художественных фильмов и рекламных роликов, модели персонажей для компьютерных
игр;
2. посредством интерфейса онлайн рендер-фермы
пользователь запускает процесс рендеринга для созданной 3D-графики. Данный процесс состоит из трёх этапов:
первый этап – передача файла сцены и пререквизитов на веб-сервер; второй этап –
настройка, переданной сцены с помощью графического интерфейса пользователя;
третий этап – запуск процесса рендеринга;

Рисунок 3 – Взаимодействие
между программными компонентами онлайн рендер-фермы
Взаимодействие компонентов онлайн рендер-фермы
производится следующим образом:
1. Интерфейс рендер-фермы взаимодействует с
веб-сервисом на основе технологии Windows Communication Foundation. То есть программный код веб-страниц взаимодействует
с интерфейсом программирования приложений веб-сервиса и вызывает определённые
методы, закреплённые к определённым событиям, вызываемым пользователями
(например, нажатие на кнопку);
2. Веб-сервис запускает процесс распределённого
рендеринга через взаимодействие со специальным программным обеспечением. В свою
очередь веб-сервис взаимодействует с интерфейсом программирования приложений
специального программного обеспечения (например, backburner, deadline и
т.д.).
Заключение
Согласно информации, приведённой выше можно сделать
заключение, что процесс автоматизации заключается в разработке программного
компонента над программным обеспечением сетевого рендеринга. Методология
автоматизации, приведённая в данной статье, позволит разработчикам выбрать
корректный путь автоматизации на основе выше представленных результатов.
ЛИТЕРАТУРА
1. Windows
Communication Foundation https://msdn.microsoft.com/ru-ru/library/dd456779(v=vs.110).aspx
2. Autodesk
Backburner 2011 Installation Guide http://download.autodesk.com/us/systemdocs/pdf/backburner2011_install_guide.pdf
3. H. Tong, S.
Zhang, A fuzzy multi-attribute decision making algorithm for web services
selection based on QoS, in: Proc. IEEE Asia-Pacific Conf. on Services
Computing, IEEE Computer Society,2006, pp. 51–57.
4. Ruby Annette
Aisha Banu. W, A Service Broker Model for Cloud based Render Farm Selection.
International Journal of Computer Applications. Volume 96 - Number 24. IJCA
Journal – 2014.
5. A. Li, et al.,
"CloudCmp: comparing public cloud providers," In Proc. of the 10th
annual conference on Internet measurement, pp. 1-14, 2010.
6. S. WANG, et al.
, "Cloud model for service selection," In Proc. of the 2011 IEEE
Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp. 666-671,
2011.
REFERENCES
1. Windows
Communication Foundation https://msdn.microsoft.com/ru-ru/library/dd456779(v=vs.110).aspx
2. Autodesk
Backburner 2011 Installation Guide http://download.autodesk.com/us/systemdocs/pdf/backburner2011_install_guide.pdf
3. H. Tong, S.
Zhang, A fuzzy multi-attribute decision making algorithm for web services
selection based on QoS, in: Proc. IEEE Asia-Pacific Conf. on Services
Computing, IEEE Computer Society,2006, pp. 51–57.
4. Ruby Annette
Aisha Banu. W, A Service Broker Model for Cloud based Render Farm Selection.
International Journal of Computer Applications. Volume 96 - Number 24. IJCA
Journal – 2014.
5. A. Li, et al.,
"CloudCmp: comparing public cloud providers," In Proc. of the 10th
annual conference on Internet measurement, pp. 1-14, 2010.
6. S. WANG, et al.
, "Cloud model for service selection," In Proc. of the 2011 IEEE
Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp. 666-671,
2011.