Для работы с приложениями мультимедиа компьютерная индустрия предлагает массу специализированных продуктов: например объектно-реляционные СУБД, поддерживающие видеоданные (универсальные серверы Oracle и Informix); оптимизированные файловые системы (в частности xfs в ОС Irix компании SGI), обеспечивающие гарантированную пропускную способность приложениям реального времени; жесткие диски с возможностью игнорирования сбоев, позволяющие поддерживать постоянную скорость передачи (архитектура ASA II компании Seagate); цифровые видеодиски; микропроцессоры с мультимедиа-расширениями (Pentium MMX) и т. д. Ярче всего эту тенденцию отражают, в частности, компьютеры MediaCUBE компании nCUBE, специально ориентированные на приложения "видео по запросу".
Компания nCUBE хорошо известна как производитель многопроцессорных вычислительных архитектур с массовым параллелизмом (MPP - massive parallel processing). Об оригинальном способе соединения узлов говорит само название фирмы, которое прямо указывает на n-мерный гиперкуб. Несколько лет назад рынок МРР-систем переживал видимые трудности. Лидер в этой области, Thinking Machine, была вынуждена заняться программным обеспечением хранилищ данных; компания Parsytec продолжает выпускать МРР-компьютеры, но ориентирована в первую очередь на задачи распознавания образов. Компания nCUBE также сумела сохранить свое гиперкубическое наследие, перейдя к выпуску специализированных компьютерных систем.
Что касается задач доставки видео по запросу, то известно, что они требуют высокоскоростных каналов связи, высокой производительности ввода-вывода и емкости дисковой памяти, а также весьма солидных процессорных мощностей. Потенциальное увеличение масштабов решаемых задач делает целесообразным применение компьютеров с
высокими возможностями масштабирования. Этим требованиям удовлетворяет МРР-архитектура. С учетом всего вышесказанного метаморфоза nCUBE, превратившейся в производителя специализированных видеосерверов, представляется довольно естественной.
Системы MediaCUBE предназначены для решения проблем экономически и технически эффективной доставки интерактивного видео пользователям по сети с гарантией возможного масштабирования. Модульность построения MediaCUBE позволяет создавать оптимальные конфигурации для решения широкого класса задач доставки видеоинформации - от низкоскоростной передачи видео с WWW-серверов на ПК пользователя при использовании WWW-браузеров до видео "широковещательного качества", отправляемого, например, пользователям домой с применением АТМ-сетей. В соответствии с тематикой нашей рубрики мы ограничимся рассмотрением аппаратной части систем MediaCUBE.
nCUBE предлагает на рынке 2 модели - большую MPP-систему MediaCUBE 3000 и deskside-сервер MediaCUBE 30. Оба компьютера имеют модульное строение с масштабируемостью процессоров, ввода-вывода и др. подсистем. Основные компоненты - модули - в обеих моделях совпадают, но лишь MediaCUBE 3000 относится к МРР-системам с топологией гиперкуба. Мы уделим им гораздо больше внимания, поскольку они представляют больший интерес с точки зрения архитектуры.
Медиа-серверные модули (MSM). Эти модули включают по 2 процессора nCUBE 3; по 18 каналов межсоединения гиперкуба на процессор; 2 порта каналов F&W SCSI-2, 2 порта АТМ ОС-3С (155 Мбит/с) и по 32 Мбайт оперативной памяти SDRAM на процессор. Основная задача MSM - получать видеоданные из SCSI-каналов и передавать их в сеть через порты АТМ. К MSM могут подключаться до 26 SCSI-дисков - до 104 Гбайт при комплектации 4 Гбайтными накопителями. Один MSM может поддерживать до 90 параллельных потоков видеоданных со скоростью каналов Т1 (1,536 Мбит/с). Увеличивая число MSM, а всего в системе их может быть до 256, можно достигнуть сбалансированного роста возможностей ввода-вывода, процессорной мощности, пропускной способности сетевых соединений и так далее - то есть в конечном счете пропорционального увеличения возможностей "выдачи" потоков видеоданных.
Серверные модули Ethernet (ESM) - это те же MSM, но вместо портов АТМ в них используются 4 порта 10/100 BaseT. Модулей ESM может быть до 256.
Модули управления системой MCM служат для создания дополнительных процессорных мощностей и увеличения пропускной способности межсоединения. МСМ применяются для осуществления процессов управления носителем, в том числе функций управления потоком (перемотка, быстрая перемотка вперед, задержка кадра). Как и предыдущие модули, МСМ имеют по 2 процессора nCUBE 3 вместе с соответствующими каналами гиперкубического межсоединения, а также по 16 Мбайт памяти на SDRAM. МСМ не имеют "своих" внешних устройств и соответствующих средств ввода-вывода. В системе может быть до 256 МСМ.
Модули SCSI (native SCSI, nSCSI) предназначены для поддержания работы дисковых и ленточных устройств. Кроме двух процессоров nCUBE, ОП емкостью по 32 Мбайт/процессор и каналов межсоединения, nSCSI имеют 4 порта F&W SCSI-2. Применение модулей nSCSI позволяет, в частности, увеличить емкость хранимых во внешней памяти данных независимо от увеличения числа потоков видеоданных. К каждому порту SCSI можно подсоединить по 13 внешних устройств.
Модули PCI (Physical Component Interconnect) представляют собой материнские платы, в которые могут быть вставлены дочерние платы стандарта PCI, в том числе SCSI, АТМ и Ethernet. В отличие от других модулей, PCI-интерфейс содержит только один процессор nCUBE 3, который выступает в качестве загрузочного. При отсутствии модуля PCI эти функции берет на себя процессор из модуля ESM.
Архитектура процессоров nCUBE 3. Сейчас все компании стали использовать при производстве процессоров КМОП-технологию. Не стала исключением и nCUBE. В компьютерах MediaCUBE применяются процессоры nCUBE 3, реализованные в виде одного чипа. Он содержит всего 2,7 млн. транзисторов (что не так уж много по нынешним временам) и сделан на базе 0,5-мкм КМОП-технологии. Чип использует рабочее напряжение 3,3 В и упакован в корпус CPGA.
nCUBE 3 предназначен для работы в многопроцессорных компьютерах MIMD-архитектуры, в которых распараллеливание осуществляется на базе обмена сообщениями. На чипе интегрированы, в частности, 64-разрядные исполнительные устройства для работы с целыми числами и операндами с плавающей запятой, управление виртуальной памятью, контроллер ОП и адаптивный маршрутизатор сообщений, имеющий 18 двунаправленных коммуникационных портов и поддержку 16 каналов DMA.
Хорошо известно, что все крупные фирмы, как правило, обеспечивают совместимость своих новых процессоров со старыми. Очевидно, подтверждением того, что у nCUBE дела идут не так гладко, стал тот факт, что процессоры nCUBE 3 не совместимы на уровне кодов со своими предшественниками nCUBE 2. Правда, по утверждению представителей фирмы, они совместимы на уровне ассемблерного текста, а также по типам данных. Однако формат команд в nCUBE 3 был реорганизован, удалены некоторые сложные режимы адресации, а число регистров возросло с 16 до 32. Это позволило, в частности, увеличить производительность и модернизировать возможности оптимизации программ трансляторами.
Процессор содержит встроенный кэш команд емкостью 8 Кбайт и кэш данных той же емкости. Используется двухблочное частично-ассоциативное построение кэш-памяти с длиной строки кэша в 32 байта. D-кэш доступен за один такт процессора и является неблокирующимся: до четырех ситуаций непопадания в разные строки кэша данных не останавливают работу процессора. Такой особенностью обладают только наиболее высокопроизводительные RISC-процессоры, например SGI/MIPS R10000. Кэш данных работает в режимах сквозной и обратной записей, что можно "конфигурировать" индивидуально для каждой страницы памяти. Можно задать и вообще блокировку кэширования.
В командах nCUBE 3 может применяться "векторный" тип данных - тогда операции производятся над 32-байтными операндами, то есть имеющими длину, равную длине строки кэша. При загрузке такого операнда в регистры можно за 1 такт поместить в файл регистров восемь 32-разрядных значений либо четыре 64-разрядных. Использование таких операций позволяет, как известно, существенно повысить пропускную способность тракта процессор-оперативная память.
Оперативная память строится на микросхемах SDRAM; ее интерфейс работает на частотах 40, 50 или 80 МГц. Для связи процессоров с памятью используется интерфейс шириной 72 разряда, плюс 8 бит для кодов ECC. Для адресов применяется 14-разрядный мультиплексируемый адресный интерфейс. Каждый процессор может адресовать до 1 Гбайт физической памяти. Память может содержать до 2 банков с расслоением на уровне страницы кэша. Пиковая пропускная способность оперативной памяти для 80-мегагерцевого интерфейса составляет 640 Мбайт/с. Применение самой современной технологии SDRAM наряду с другими указанными выше особенностями кэш-памяти и системы команд позволяет, вероятно, добиться высокой поддерживаемой пропускной способности тракта процессор-память, что важно для поддержания большого числа высокоскоростных потоков видеоданных.
Из других важных особенностей nCUBE 3 следует упомянуть динамическое предсказание переходов с использованием двухразрядного поля "истории" и возможность применения в исполнительном устройстве с плавающей запятой команд типа "умножить-и-сложить". Вообще для умножения и сложения чисел с плавающей запятой в nCUBE 3 используются двухстадийные умножитель и сумматор. В случае команды "умножить-и-сложить" они каскадируются и могут выдавать 1 результат за такт.
Интегрированные в nCUBE 3 коммуникационные порты предназначены для связи с другими процессорами (минимум порт в каждом направлении гиперкуба) и для ввода-вывода, что также забирает минимум 1 порт. Для повышения надежности "пути межсоединения" могут дублироваться через неиспользуемые порты. 8 принимающих и 8 посылающих данные каналов DMA могут принять данные из порта и направить их в память, или осуществлять обратную пересылку. Если данные предназначены для другого процессорного узла, они будут отправлены дальше, без буферизации. Маршрутизация во многом осталась такой же, как в nCUBE 2, однако применение в nCUBE 3 механизма адаптивной маршрутизации позволяет эффективно обходить сбойные узлы. Работа маршрутизатора в nCUBE 3 по "сквозной" передаче данных, предназначенных другим процессорам, не понижает производительности nCUBE 3.
Таблица 1.
Модули MediaCUBE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В MediaCUBE 3000 модули помещаются на "полки"; каждая полка имеет объединительную плату с разъемами, в которые могут вставляться до 16 плат MSM, 16 плат nSCSI, 16 плат MCM или их комбинации. Полки помещаются в монтажные отсеки, каждый из которых может вмещать до 4 полок. Всего MediaCUBE 3000 может иметь до 4 заполненных монтажных отсеков. MediaCUBE 30 построен в конструктиве PC tower и занимает всего 3 квадратных фута площади. В его состав могут входить только 4 платы-модуля.
Для размещения внешних устройств в MediaCUBE 3000 может использоваться шкаф PSB20, содержащий диски и блоки питания. В него можно поместить до 120 дисков емкостью 4 Гбайт (или до 100 дисков - при комплектации дополнительными блоками питания). В MediaCUBE 30 используется блок PSB1, содержащий до 6 дисков (до 5 - при использовании избыточных блоков питания) емкостью 2 или 4 Гбайт. Оба типа PSB допускают горячую замену дисков.
nCUBE публикует оценки ресурсов, требуемых для поддержания различных потоков видеоданных. Так, утверждается, что модуль MSM может поддерживать 40 потоков со скоростью 2 Мбит/с или 20 потоков со скоростью 4 Мбит/с. Часовой фильм, закодированный для скорости 2 Мбит/с, требует 900 Мбайт дискового пространства, а для 4 Мбит/с - 1,8 Гбайт. Если требуемое число дисков окажется больше, чем поддерживаемое MSM, нужно инсталлировать платы nSCSI. nCUBE дает аналогичные оценки и для требуемой процессорной мощности. Тесты производительности nCUBE проводила для MediaCUBE 3000 в конфигурации, включающей 11 модулей MSM (c 70 НЖМД), 4 модуля nSCSI (с 80 НЖМД), 3 модуля PCI и 1 модуль МСМ, с ОП емкостью 1012 Мбайт. Эта система имела 30 каналов SCSI c ПС 20 Мбайт/с у каждого и 22 канала ATM ОС-3, и обслуживала 1000 потоков по 2 Мбит/с. Это осуществлялось путем передачи видеоданных к коммутатору АТМ, который распределял их на индивидуальные каналы Е1 (2048 Мбит/с) или T1. Такой комплекс работал без сбоев свыше 2 суток.
В других тестах проверялась нагрузка MSM 110 видеопотоками по 2 Мбит/с, то есть по 55 на процессорный узел. При этом ОП использовалась на 98%, а процессор - на 46%. При нагрузке видеопотоками вместе с SCSI-обменами MSM поддерживал 80 видеопотоков по 2 Мбит/с, с нагрузкой на процессор - 62% при использовании оперативной памяти на 91%. Отметим, что благодаря МРР-архитектуре эти видеовозможности MediaCUBE линейно растут с числом добавляемых модулей. А всего система MediaCUBE 3000 может поддерживать свыше 20 000 потоков видеоданных со скоростью 1,5 Мбит/с и содержать данные "емкостью" в 55 000 часов. MediaCUBE 30 способна поддерживать до 270 таких же потоков видеоданных и хранить видеоданные на 750 часов "вещания".
В Таблице 2 приведены оценки производительности с плавающей запятой на различных тестах Linpack предыдущих МРР-систем на базе процессоров nCUBE 2 c тактовой частотой 20 МГц. Видно, что при хорошей масштабируемости уровень производительности nCUBE 2 весьма низок; при N=100 он составляет всего 0,78 MFLOPS на процессор. Аналогичными данными для процессоров nCUBE 3 мы не располагаем, но можно предположить, что проблемы с производительностью побудили nCUBE сконцентрировать свои усилия на предоставлении сервиса "видео по запросу".
Таблица 2.
Производительность nCUBE 2 на различных тестах Linpack (при N=1000
и параллельно Linpack) в MFLOPS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К моменту выхода публикации в Ростовском университете, вероятно, уже будет установлена 64-процессорная система nCUBE 2S c 2 Гбайт оперативной памяти. Там с энтузиазмом относятся и к приобретению системы на базе nCUBE 3.
Published by NewIT Labs