Архивы: по дате | по разделам | по авторам

Силиконы

Архив
автор : Сергей Баричев   18.05.1999

Какими бы темпами ни развивались технологии 3D-графики для PC, программные и аппаратные решения компании SGI (Silicon Graphics) [1] все еще задают тон в индустрии спецэффектов кино, видео и телевидения. Хотя наряду с "силиконами" используются, конечно, и другие станции - на процессорах Pentium или Alpha, знаменитые компьютеры оставляют им не так много места. Поэтому в общей теме "3D" нелишне поговорить об этой платформе.


   Основные модели
   Если заглянуть в историю, то еще в начале 80-х, когда создавалась Silicon Graphics, главной целью было построение программно-аппаратной платформы, целиком ориентированной на работу с графикой. Более чем через десять лет оказалось, что темно-синие станции способны играть роль и суперкомпьютеров для сложных научных задач, и высокопроизводительных серверов для корпоративных систем, и Интернет-провайдеров, и многого другого. Но сначала была графика.

   Из всех достоинств решений SGI самым важным представляется высокая производительность (причем это относится ко всем подсистемам: вычислительной, графической, ввода-вывода), которая сочетается с практически линейной масштабируемостью. Еще одна сильная сторона продуктов Silicon Graphics заключается в том, что уже в 1994 году - c выпуском микропроцессора MIPS R8000 - она перешла на полностью 64-битную платформу, поддержанную в операционной системе Irix 6.0.

   Помимо анонсированных недавно станций на основе Pentium II (Silicon Graphics 320 и Silicon Graphics 540), SGI выпускает несколько линий станций и серверов. Коротко остановимся на них (см. таблицу).

   O - станция "начального уровня" - по соотношению цена/производительность составляет конкуренцию PC и "Макам". В 1996 году она пришла на смену более ранним Indy. Поначалу в нее устанавливался процессор MIPS R5000, позже стали использоваться R10000 [2]. В O2 появилась архитектура UMA (unified memory access), где узлы станции - процессор, графический ускоритель, устройство компрессии, система ввода-вывода (СВВ) - получили возможность напрямую обращаться к основной памяти по сверхширокой шине.

   Octane и Onyx2 имеют большую производительность и мощный набор интерфейсов. В качестве мультипроцессорной платформы в Octane была использована архитектура, близкая к CC-NUMA и основанная на так называемом crossbar switch. В Onyx2 (а также в Origin) SGI начала использовать архитектуру CC-NUMA. При этом Onyx2 более "тяжелая" станция, чем Octane, по сути - графический суперкомпьютер.

   Серверы Origin позволяют строить масштабируемые системы хранения и распространения данных, а также используются для рендеринга сложных сцен. Стойки Origin и Onyx2 могут объединяться по суперкомпьютерному интерфейсу CrayLink с пропускной способностью 1,28 Гбайт/с.

   Столпы
   Посмотрим, на чем зиждется мощь станций и серверов SGI.


Основные модули процессора MIPS R10000.


   Ядром всех современных рабочих станций SGI являются процессоры MIPS R10000 и MIPS R12000 (набор инструкций MIPS IV), построенные по суперскалярной RISC-архитектуре (см. рис.).

   В процессоре R10000 имеются четыре параллельных конвейера обработки инструкций (команд). То есть за один такт одновременно извлекается и декодируется четыре инструкции. Каждый из конвейеров имеет доступ к трем очередям (queue): адреса, целочисленных операций и операций с плавающей точкой. Очереди занимаются динамическим планированием исполнения этапов инструкций, учитывая доступность необходимых данных, а также занятость вычислительных модулей. Каждая из трех очередей отвечает за свой класс задач. Так, очередь целочисленных операций имеет доступ к двум равноценным АЛУ (арифметико-логическим устройствам). Для выполнения операций с плавающей точкой соответствующая очередь имеет доступ к двум первичным (сложение и умножение) и двум вторичным (извлечение корня и деление) вычислительным модулям. Использование этих шести вычислительных модулей обеспечивает при относительно невысокой частоте (175-250 МГц для R10000) очень высокую производительность. Благодаря суперскалярной архитектуре, всего в различных стадиях обработки может находиться до 32 инструкций одновременно. Имеется также и механизм предсказания ветвлений (обработкой инструкций логических условий занимается специальное устройство - branch unit).

   В R10000 предусмотрено два раздельных кэша первого уровня (L1): для кода (32К) и данных (32К). Большую роль в обеспечении общей производительности системы играет внешний кэш второго уровня (L2), в качестве которого могут использоваться микросхемы SSRAM. Объем кэша L2 - от 512 Кбайт до 16 Мбайт. Связь с ним процессор поддерживает через 128-разрядную шину с пиковой пропускной способностью 3,2 Гбайт/с.

   Помимо микропроцессоров MIPS, платформу SGI подпирают еще по крайней мере четыре столпа:
   1) вычислительная система, построенная по архитектурам UMA и CC-NUMA;
   2) высокопроизводительная графическая подсистема;
   3) высокопроизводительная система ввода-вывода;
   4) межстанционный интерфейс.

 
   Наглядные пособия

   Если увидеть живьем рабочие станции SGI доводилось не каждому, то с тем, что они могут сделать в руках профессионалов, знаком любой подросток. Даже об этом не подозревая. В этом, кстати, заключается одно из главных достоинств современной компьютерной графики: она делает сложнейшие спецэффекты "прозрачными" для зрителя. Зритель их просто не замечает, поддаваясь магии компьютерных художников.
   Больше десяти лет премию американской Академии киноискусств - "Оскар" - в номинации "визуальные эффекты" получают фильмы, созданные на технике SGI. И хотя о "Титанике" говорить уже неприлично, именно этот блокбастер - один из ярких и свежих примеров подобного рода. Большинство искусственных сцен, которыми насыщен фильм, создано специалистами студии Digital Domain на трехстах станциях SGI с использованием программного обеспечения фирм Alias|Wavefront, Softimage, Avid и Side Effects. Вряд ли кто-то задумывался, что в некоторых "массовках" (сцена отплытия парохода, например) нет практически ни одного живого человека - все они синтезированы на мощных графических станциях.
   В "Титанике" активно использовалась и технология motion capture (House of Moves), которая позволяла снимать в студии движения актеров, а затем с помощью компьютеров "одевать" их в костюмы (развевающиеся на ветру!) и вписывать в отснятые планы. Делалось это в основном с целью избежать рискованных трюков. Поэтому в холодный океан, конечно, никто с парохода не падал. В отапливаемой студии на каскадеров навешивали датчики движений и подключали их к компьютерам SGI. Кстати, для последующего вписывания в океанические пейзажи съемки в студии проводились не на синем фоне, как это часто делается, а на зеленом. Синяя гамма нужна была Камерону для пущей выразительности.
   Вот еще несколько "наглядных пособий" по использованию технологий SGI: доисторические животные в "Парке юрского периода" (студия ILM), жидкометаллический киборг в "Терминаторе-2" (ILM), автомобиль-трансформер в "Бэтмене", более двухсот компьютерных сцен в "Пятом элементе" (Digital Domain). Оценить прогресс компьютерной анимации можно по новой редакции "Звездных войн", которую ILM выпустила в 1997 году к двадцатилетию эпопеи. В новой трилогии взамен традиционной анимации использовались компьютерные технологии SGI. Когда этот номер выйдет в свет, по США уже прокатится волна премьерных показов "Episode I", нового фильма из серии "Звездных войн".
   Наступает также и эпоха полнометражных фильмов, полностью созданных с помощью компьютерной графики. Появившийся в 1998 году фильм "Муравей Антц" создан специалистами Pacific Data Images (PDI). Тем, кого впечатлил сам фильм, будут интересны "зазеркальные" факты. Фильм состоит из 119592 кадров, каждый из которых "весил" по 6 мегабайт и просчитывался в среднем по 15 раз. Всего рендеринг потребовал 275 тысяч часов машинного времени, если бы обсчет делался не на 700 процессорах, как это имело место, а только на однопроцессорной станции, он занял бы более 31 года. Компьютерный парк SGI, на котором 160 специалистов обсчитывали фильм, состоял из 166 графических станций O2 и 270 серверов Origin 200. Для хранения фильма потребовалось около 3,2 терабайт дисковой памяти.
   Интересно, что для создания мимики персонажей "Антца" применялась нетрадиционная техника. Если ранее художники использовали морфинг (то есть синтезировали опорные положения объекта, а затем компьютер рассчитывал промежуточные), то PDI взяла на вооружение более изощренный метод - Facial Animation. Его автором является Дик Уэлш (Dick Walsh), который реализовал анатомическую модель человеческой мимики и перенес ее на муравьев.
   Для создания сцен муравейника также использовалась специальная техника Crowd Animation System, с помощью которой моделировалось движение огромной колонии муравьев (в разных сценах их от 500 до 50000). Что же касается натуралистичности огня, дыма, воды, стекла, то они удивят тех, кто знает, как эти "материалы" трудны для моделирования.
   Впечатляющая графика встречается и в фильме "Армагеддон". Около 270 спецэффектов для этой картины создавали одновременно 15 студий компьютерной графики. Над падающим астероидом трудилась одна из известнейших студий Dream Quest. Специально для этого астероида была создана физическая модель, с помощью которой было построено изображение летящего сквозь атмосферу астероида. Для рендеринга полета астероида использовались 16 суперсерверов Origin 2000. Другой трудоемкой задачей стали сцены полета к астероиду двух шаттлов - Independence и Freedom. Эта работа была разделена между студиями Dream Quest и Bay Effects, при этом Dream Quest использовала как реальные, так и виртуальные модели кораблей. Так же, с помощью станций SGI, была построена точнейшая с точки зрения астрономии модель звездного неба и каждой из звезд в отдельности, которая использовалась для создания вида из иллюминатора.
   Более подробно рассказать о технологиях, использованных в технике съемки других фильмов, просто не хватит места. Поэтому желающим заглянуть за кулисы любимых фильмов предлагаю посетить сайт www.vfxhq.com. В заключение остается лишь перечислить фильмы, отмеченные премией "Оскар" в номинации Visual Effects за последние годы: What dreams may come (1998), "Titanic" (1997), "Independence Day" (1996), "Babe" (1995), "Forrest Gump" (1994), "Jurassic Park" (1993), "Death Becomes Her" (1992), "Terminator 2: Judgment Day" (1991). Все они - наглядная иллюстрация возможностей современных "силиконов".


   Далее остановимся лишь на архитектуре CC-NUMA и структуре графической подсистемы.

   Мощные станции и серверы SGI построены на архитектуре CC-NUMA. Аббревиатура расшифровывается как Cache Coherent NonUnified Memory Access, что означает "система с распределенной памятью и согласуемым кэшем". CC-NUMA объединяет в себе сильные стороны двух основных мультипроцессорных архитектур: кластерной (КА) и симметричной мультипроцессорной (SMP). Поэтому CC-NUMA имеет и другое название: S2MP.

   Кластерная архитектура предполагает объединение по высокоскоростному интерфейсу практически независимых компьютеров (с собственной памятью и системой ввода-вывода). Каждый из них управляется собственной операционной системой (как правило, Unix). В отличие от КА, архитектура SMP - это система из нескольких процессоров с общей разделяемой памятью (UMA) и системой ввода-вывода.

   CC-NUMA, в свою очередь, обладает следующими чертами:
  • использует промежуточные (между кластерами и процессорами) по сложности узлы (nodes) с собственной памятью и СВВ;
  • общую разделяемую память и СВВ;
  • специальную технику согласования кэш-памяти узлов;
  • реализует связь узлов не по общей шине (как SMP), а при помощи специальной быстрой подсистемы (как в КА).

       Таким образом, архитектура CC-NUMA, реализованная SGI первоначально в линии Origin (октябрь 1996 года), строится из узлов. В каждом узле имеется два процессора R10000 (R12000), а каждый процессор обычно снабжен кэш-памятью L2 объемом до 4 Мбайт и до 4 Гбайт ОЗУ. Взаимодействие модулей узла осуществляет специальный чип-концентратор (hub).

       Оперативная память отдельных узлов в CC-NUMA является распределенной. То есть каждый узел может обращаться как к собственной (near memory) памяти, так и к ОЗУ других узлов (remote memory). Узлы, в свою очередь, с помощью специальных маршрутизаторов (routers) собираются в мультипроцессорную систему (в последних моделях Origin их может быть до 256).

     
       Игры - это серьезно

       В самом начале марта Sony анонсировала новую игровую приставку Playstation 2, результат проекта, в который инвестировано около полумиллиарда долларов. Процессор для этой "игрушки" под названием Emotion Engine был разработан компанией Toshiba. Заявленные характеристики чипа, "заточенного" под высокопроизводительную графику, позволяют говорить о том, что за 420 долларов (примерно столько будет стоить Playstation 2) тинэйджеры получат компьютер, по графической производительности стоящий в одном ряду с некоторыми "силиконами".
       Emotion Engine чем-то напоминает процессоры MIPS. Он построен на 128-разрядной RISC-архитектуре. Набор инструкций Emotion Engine является подмножеством MIPS IV, дополненным еще 107 мультимедийными командами (128-битными данными). Кэш первого уровня раздельный: 16 Кбайт для инструкций и 8 Кбайт для данных. Для ускорения вычислений помимо основного целочисленного модуля предусмотрено четыре дополнительных. Это сопроцессор для работы с плавающей точкой, два векторных сопроцессора и декодер MPEG-2 (Macroblock Layer). В качестве оперативной памяти Emotion Engine использует двухканальную Direct RDRAM с частотой 800 МГц. Пиковая пропускная способность обмена с памятью - 3,2 Гбайт/с. Возможно использование до десяти каналов DMA.
       Впечатляет объявленная производительность Emotion Engine. По операциям с плавающей точкой, одной из ключевых характеристик в графической производительности, Emotion Engine с производительностью 6,2 GFLOPS (впрочем, к этим цифрам надо подходить осторожно) оставляет за собой Pentium II и R10000. Другие графические характеристики нового процессора тоже дают фору лучшим графическим акселераторам: перспективное преобразование - 66 млн. многоугольников в секунду, расчет освещенности - 38 млн. многоугольников в секунду, генерация поверхностей (по Безье) - 38 млн. многоугольников в секунду, обработка растрового изображения - 150 млн. пикселов в секунду. Кстати, в официальной информации подчеркивается, что высокая производительность по операциям с плавающей точкой будет использоваться не только для трехмерной графики, но и для моделирования в играх реальных физических процессов и свойств - гравитации, трения, инертности и т. д.
       Процессор выполнен по технологии 0,18 мкм и потребляет при напряжении питания 1,5 В около 15 Вт. Первоначально тактовая частота составит 300 МГц.


       Графическая подсистема в станциях и серверах SGI строится на так называемых пайпах (pipe, pipeline), графических конвейерах. Рассмотрим их структуру на примере тех, что используются в Onyx2. Конвейер состоит из трех последовательно соединенных модулей:
  • геометрической машины (Geometry Engine),
  • растеризатора (Raster Manager),
  • генератора видеосигнала (Display Generator).

       Геометрическая машина (ГМ) отвечает за трансформации трехмерных геометрических примитивов (вращение, масштабирование и т. д.) и расчет освещенности. ГМ состоит из четырех процессоров, а каждый процессор - из трех ядер, реализующих арифметику с плавающей точкой по командам типа SIMD (single instruction multiple date). Помимо основной функции - расчета трехмерных геометрических моделей - геометрическая машина участвует и в обработке двухмерных изображений.

       Назначение растеризатора соответствует названию. От ГМ он получает геометрические примитивы (точки, отрезки, треугольники) и формирует растр изображения, то есть решает задачи Z-буферизации, наложения текстур, смешивания (blending) и др. Для эффективной обработки текстур растеризатор имеет собственную память. Так, в Onyx2 в одном пайпе под текстуры отводится 4, 16 или 64 Мбайт памяти.

       Наконец, генератор изображения, являясь выходным звеном пайпа, принимает данные из растеризатора и преобразует массив данных в аналоговый видеосигнал. Здесь надо лишь отметить, что графическая подсистема Onyx2 может формировать не только VGA-изображение, но и практически любой стандартный видеосигнал (NTSC, PAL, HDTV).

     

    O2

    Octane

    Onyx2

    Origin

    Тип

    R5000, R10000, R12000

    R10000, R12000

    R10000

    R10000, R12000

    Число процессоров

    1

    1-2

    1-24

    до 128 узлов (по 2 процессора)

    Архитектура

    UMA

    crossbar switch

    CC-NUMA

    CC-NUMA

    Объем ОЗУ

    до 1 Гбайт

    до 2 Гбайт

    до 12 Гбайт

    до 4 Гбайт в каждом узле

    Доступные сетевые

    Интерфейсы

    FDDI, 100Base-T Ethernet, ISDN, 2xT1/Ethernet, ATM,
    Serial HiPPI, Fibre Channel

    ATM OC3 (4 порта)

    100Base-T Ethernet (4 порта),

    Serial HiPPI, Fibre Channel

    ATM OC3, Serial HiPPI

    100Base-T Ethernet (4 порта),

    Fibre Channel, Gigabit Ethernet

    ATM OC3, Serial HiPPI

    100Base-T Ethernet (4 порта),

    Fibre Channel, Gigabit Ethernet

    Пропускная способность по обработке видео

    1 поток несжатого видео

    Несколько потоков несжатого видео с возможностью использования эффектов в real-time. Совместим с HDTV

    Предпросмотр с разрешением 2048x1107x24кадра/с. Совместим с HDTV

    Поток MPEG-2 (3 Мбит/с)

    Более 1000 потоков (через АТМ)





    1 (обратно к тексту) - Недавно Silicon Graphics объявила о переименовании в SGI. Это не столько смена имени и логотипов, сколько перестройка внешнего имиджа компании, продолжение серьезной внутренней реструктуризации, длящейся уже около года.

    2 (обратно к тексту) - C недавнего времени станции и серверы SGI начали поставляться с более мощным процессором R12000. Помимо повышения тактовой частоты (до 300 МГц), в новый процессор внесен целый ряд архитектурных изменений.



    © ООО "Компьютерра-Онлайн", 1997-2024
    При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.