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