Про “Аватар”
в рубрике Другое
Времени нет. Поэтому опять выступлю кратко.
В поисках правды облегченных развлечений я зашла на сайт habrahabr, и в блоге компании Hewlett-Packard обнаружила интересную статью о дата-центре, который использовался для создания спецэффектов в фильме “Аватар” Джеймса Кэмерона. Кластер был собран на серверах HP (34 стойки с 32 блейдами HP Proliant BL2×220c в каждой – 40 000 процессорных ядер и 104 Тб RAM), с использованием оптоволоконной сети стораджей на 3 Пб.
Однако “голыми” HP Proliant BL2×220c нас, конечно же, не удивишь. Оказалось, что в мире создателей спецэффектов используются примерно те же подходы, что и в старой доброй классике - системах реального времени. Создатели “Аватара” предпочли отказаться от модных тенденций распараллеливания задач с помощью виртуализации. Процесс работы над фильмом строился так, что задачи от разных художников, работавших над отдельными сценами, собирались в иерархическую очередь с помощью системы, которая по порядку отдавала их на свободные процессоры кластера, загружая их на 100% одной задачей, и после обсчета результат возвращался художнику.
Кому интересно - читайте здесь.
Комментариев: 3 на “Про “Аватар””
Прокомментировать
Вы должны быть авторизованы для комментирования.




pvolodin:
Пакетная обработка - это, конечно, старая добрая классика. Только не совсем понятно, какое отношение она имеет к системам реального времени. Кстати, в статье на хабре про реальное время вроде ничего нет.
15 февраля, 2010 в 17:17
Желнова Наталья:
Потому что это один из приемов, часто используемых в системах реального времени (но, конечно, не ограничиваясь только ими).
Если не опираться на собственный опыт, а обращаться к литературе, то см., например “Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns” и “Real-time design patterns: robust scalable architecture for real-time systems” (Bruce Powel Douglass). Там как раз подробно рассматриваются несколько примеров реализации такой иерархической очереди в процессе обработки сигналов, поступающих от различных модулей, динамически подключаемых к системе.
А из “живых” real-time систем, с которыми я имела дело, такой подход использовался в реализации системы, являющейся одним из модулей системы автоматизации процесса переработки нефти (вот этой).
15 февраля, 2010 в 18:10
pvolodin:
Кэмерон в качестве динамически подключаемого модуля - это сильно.
Очереди используется практически везде. В том числе, конечно, и в системах реального времени, кто бы спорил, очень даже часто используются. И что? Если где-то есть очередь задач, это обязательно система реального времени? А если нету - то нереального?
Организовано все как в университетском ВЦ моего детства. Главное - чтобы машина не простаивала. Днем считают высокоприоритетные ученые мужи, ночью обсчитываются студенческие поделки. Если, конечно, высокоприоритетные мужи днем все досчитали. Если не досчитали - поделки стоят в очереди. Но, если уж поделка достоялась до выполнения - то тут хоть трава не расти. Разве что по нехватке времени вылетит или оператор руками убьет, а так - ничего из своих ресурсов никому не отдаст, пока не доработает, невзирая ни на чьи приоритеты. И вот, очередь вроде есть, но где тут система реального времени?
P.S. Спасибо за ссылку про DeltaV. Про очереди там, правда, ничего на глаза не попалось :-), но вообще очень познавательно.
16 февраля, 2010 в 5:13