Микросерверы
Вычислительные комплексы Вычислительные комплексы

Вычислительные комплексы Тема номера

Микросерверы

Дата публикации:
15.10.1999
Посетителей:
144
Просмотров:
120
Время просмотра:
2.3
Специализированные устройства все шире применяются в информационных системах. Эта статья посвящена одному из направлений развития серверов – микросерверам.

 

Развитие информационных систем ведет к увеличению как разнообразия и сложности самих систем, так и к увеличению числа и сложности предоставляемых пользователям сервисов. Это неизбежно приводит к тому, что возрастают расходы на создание таких систем и поддержание их работоспособности (в том числе на системное администрирование). Возрастают и требования к уровню подготовки пользователей и администраторов, работающих с этими системами. Это в свою очередь приводит не только к увеличению расходов на персонал, но и к неприятной необходимости привлечения высококвалифицированных сотрудников к выполнению ежедневных рутинных операций вроде заведения новых пользователей или просмотра системных журналов. С другой стороны, все большее число средних и малых компаний используют информационные системы в своей работе. Они не могут себе позволить больших затрат на управление своими информационными системами. Часто они просто не имеют средств на постоянного системного администратора. Использование персональных компьютеров не решает эти проблемы, а заставляет каждого сотрудника заниматься администрированием своего собственного оборудования, снижает управляемость и защищенность системы.

 

Таким образом, существует потребность в решении следующих взаимосвязанных задач:

 

  • уменьшениерасходовнасозданиеиподдержку работоспособности информационных систем;
  • уменьшениесложностииспользованиясистем;
  • упрощение предоставления стандартных информационных сервисов;
  • повышение надежности за счет упрощения архитектуры.

 

Естественно, что решения должны предусматривать сохранение количества и качества сервисов, предоставляемых клиентам таких систем.

 

2. Концепция решения

 

Перечисленные задачи можно решать разными путями.

 

Во-первых, можно воспользоваться услугами фирм-провайдеров сервисов – фирм, которые располагают оборудованием, программным обеспечением, специалистами и другими ресурсами, позволяющими создавать крупные серверные комплексы и по сети предоставлять сервисы типа электронной почты, webили файл-сервисов. Такое решение позволяет:

 

  • освободить клиентов от необходимости поддерживать эти сервисы на своих машинах;
  • обеспечить доступ клиентов к высокопроизводительным и высоконадежным системам;
  • повысить эффективность использования ресурсов серверного комплекса.

 

К недостаткам решения можно отнести то, что при этом:

 

  • может усложниться управление, так как комплекс обслуживается специалистами другой фирмы;
  • могут возникать проблемы, связанные с реализацией разграничения доступа к вашим данным;
  • не упрощается работа с системой с точки зрения конечного пользователя (то есть решаются в основном проблемы, связанные с системным администрированием).

 

Хотелось бы отметить, что, несмотря на распространенное скептическое отношение к перспективам развития подобных услуг в России, ряд Интернет-провайдеров уже перешел к их практической реализации.

 

Второй способ решения поставленных задач – это создание специализированных, предварительно настроенных устройств со следующими свойствами:

 

  • это более дешевые устройства, так как в них можно отказаться от использования ряда компонентов, которые не нужны для выполнения основной функции;
  • их использование может быть подобно по сложности управлению видеомагнитофоном, поскольку набор функций ограничен;
  • специализация создает возможность для оптимизации производительности;
  • специализация способствует упрощению архитектуры и, тем самым, повышению надежности.

 

Последняя возможность связана с тем, что большинство современных компьютеров являются универсальными. Обычно каждый из них выполняет множество задач (обработка текста, обработка графики, управление базами данных, обмен информацией по сети и т.д.), выдвигающих часто независимые или, хуже того, несовместимые требования к работе компьютера и к его развитию. За универсальность приходится платить неэффективностью и неэкономичностью. Специализированное устройство можно оптимизировать под определенные задачи или классы задач.

 

По пути создания специализированных устройств пошли разработчики оборудования для сетей передачи данных: появились и развиваются устройства, реализующие фиксированный набор сервисов и не требующие постоянного внимания сетевого администратора (имеются в виду коммутаторы и маршрутизаторы).

Диапазон специализированных устройств слишком широк для одной статьи, поэтому в дальнейшем мы будем рассматривать только серверы.

3. Технические решения

 

Одним из направлений развития специализированных серверов является разработка устройств, получивших наименование «микросерверов».

 

3.1. Что такое микросерверы

 

Микросерверы (иногда их называют «тонкими серверами») – термин, появившийся недавно в связи с распространением активных сетевых устройств, выполняющих функции, обычно возлагаемые на серверные системы. Представленные на рынке микросерверы обычно заменяют по функциональности аналогичные «большие» серверы. Их используют как файл-серверы, серверы печати, кэширующие интернет-серверы, серверы почты и новостей, межсетевые экраны и т.д.

 

Критерии, по которым устройство можно было бы отнести к микросерверам, еще не сложились. Не существует и специфических для микросерверов способов сравнения потребительских свойств. Поэтому в данной статье мы постарались показать не только устройства, относимые к данному классу, но и те, что имеют похожее назначение или особенности организации.

 

В настоящее время аппаратная часть микросерверов не очень сильно отличается от той, которая служит основой универсальных компьютеров и с этой точки зрения интерфейсные устройства типа web-фонов достигли большей степени специализации. Действительно, в микросерверах используются процессоры (в основном RISC-процессоры), память и диски, разрабатывавшиеся для универсальных машин, на некоторых машинах есть слоты шины ввода/вывода PCI, видеоадаптеры, стереозвук.

 

Серьезные отличия появляются на уровне операционной системы. Именно ОС специально настраиваются в большинстве микросерверов. Оставаясь обычными операционными системами (чаще всего используются варианты ОС UNIX), они адаптируются для выполнения ограниченного набора функций и дополняются специализированным прикладным программным обеспечением (обычно это ПО, связанное с управлением сервером).

 

Хочется обратить внимание еще на одну черту, присущую большинству настольных микросерверов, – необычный дизайн. Необычным оформлением своих машин отличалась фирма NEXT, из недавно появившихся устройств, конечно, вспоминаются iMac и iBook. Из группы микросерверов выделяется продукт фирмы Cobalt под названием Qube, имеющий корпус в виде куба, жидкокристаллический дисплей и большие индикаторы включения питания. Видимо при близости основных характеристик большинства современных серверов, на выбор неискушенных пользователей (на которых, в основном, и рассчитаны настольные модели микросерверов) ощутимое влияние будет оказывать их внешний вид (конечно многим надоели унылые минитауэры на рабочих столах). Устройства для Интернет-провайдеров имеют менее броские, но более функциональные корпуса, позволяющие устанавливать большое количество этих устройств в стандартные стойки.

 

3.2. «Нулевое администрирование»

 

Основной особенностью микросерверов принято считать так называемое «нулевое администрирование», при этом утверждается, что для развертывания и обслуживания микросерверов в организации не нужен опытный системный администратор. Подчеркивается, что именно эта их черта является основным отличием микросерверов от аналогичных решений на базе универсальных серверных платформ. Правда, нам кажется, что совсем отказаться от услуг системного администратора в обозримом будущем не получится хотя бы потому, что в многопользовательской системе необходимо регистрировать пользователей и управлять правами доступа к используемым файлам. Реальной выглядит перспектива сокращения количества администраторов, обслуживающих информационную систему предприятия (другой вариант – возможность работать не полный день), и привлечение к управлению системой специалистов, имеющих меньшую квалификацию.

Большинство микросерверов имеет Webориентированный интерфейс управления, позволяющий единообразно выполнять администрирование удаленно, централизованно.

 

Иногда, говоря о микросерверах, относят их к «необслуживаемым устройствам». Было бы неправильным понимать такие утверждения буквально и представлять себе что-то вроде телефона, которым может пользоваться практически любой человек. Подтверждением может служить то, что некоторые микросерверы имеют слоты расширения и возможность подключения внешних SCSI-дисков, а также имеют в своем составе программное обеспечение, позволяющее поддерживать различные уровни RAID. Да и сама по себе задача обеспечения «необслуживаемости» сервера достаточно сложна. Скорее всего, попытка создать такой сервер приведет к тому, что получится немодифицируемое, нерасширяемое устройство.

 

Отметим, кроме того, что информацию, хранимую на сервере, необходимо защищать от потери в случае сбоя в системе или ошибки пользователя, а значит, обязательно делать резервные копии. Требует обслуживания и файловая система. Как минимум приходится следить за тем, чтобы она не переполнялась (можно потерять информацию), а в файловой системе хранится не только пользовательская информация, но и системные журналы, и временные файлы, и разнообразное программное обеспечение. Использование «зеркалирования» (RAID 1) подразумевает возможность замены вышедшего из строя диска и перенос копии информации на вновь установленное устройство. Возможность ошибочно скопировать пустой диск на диск с информацией обычно заставляет поручать эту операцию высококвалифицированным специалистам.

 

Еще более усложняется обслуживание, если необходимо защищать данные от несанкционированного доступа. Обычно при этом реализуется комплекс мероприятий, а не набор автоматических действий.

 

Хотелось бы обратить внимание на следующее положение. Администрирование микросервера можно разделить на функциональное (поддерживающее работу предоставляемых сервисов) и системное, направленное на конфигурирование и обслуживание операционной системы. Применение микросерверов позволяет существенно упростить (практически исключить) системное администрирование, что само по себе очень важно. От функционального администрирования (изменения состава пользователей, их прав доступа и т.п.), конечно, не уйти, но, на наш взгляд, выполнять его значительно легче, чем системное.

 

4. Системное обеспечение и ОС Linux

 

В качестве системного программного обеспечения в большинстве микросерверов используются различные версии ОС UNIX. Например, в серверах фирмы Cobalt Networks используется ОС Linux, а в серверах фирмы FreeGate – Free BSD. ОС UNIX и перечисленные ее версии относятся к ОС для универсальных компьютеров, на микросерверы они устанавливаются в специально настроенных и адаптированных вариантах. Например, отмечалось, что в ОС настольного устройства NetWinder фирмы Corel (вариант ОС Linux Red Hat) отсутствует поддержка протокола PPP и нет кода ядра для изменения конфигурации системы.

 

Многие стороны OC Linux делают ее особенно удобной в качестве системного обеспечения микросерверов. Она свободно распространяемая, что снижает общую стоимость системы. Она обладает широким спектром сетевых сервисов, что позволяет легко адаптировать ее для разнообразных специализированных серверов. Существует множество драйверов, поддерживается множество аппарат-

ных платформ, что развязывает руки проектировщикам аппаратуры микросерверов. Большое количество доступного ПО также облегчает построение систем различного назначения.

 

5. Предлагаемые продукты 5.1. Семейство серверов Cobalt

 

Фирма Cobalt Networks производит ряд микросерверов. Она быстро наращивает номенклатуру производимых машин, несколько раз в год выпуская новые или обновляя старые модели. Можно выделить два основных направления:

 

  • настольные машины для небольших организаций;
  • машины для Интернет-провайдеров, предназначенные для установки в стойки.

 

По функциям можно выделить:

 

  • Web-серверы;
  • почтовые серверы;
  • файл-серверы;
  • кэш-серверы.

 

На ряде серверов этого семейства поддерживаются разнообразные средства разработки, что позволяет партнерам фирмы Cobalt создавать и предлагать клиентам свои варианты новых специализированных устройств.

 

5.1.1. Qube

 

Устройство предлагается как решение для подключения небольшой компании к сети Интернет. Список возможных сервисов включает электронную почту, Web-сервис, файл-сервис, сервис телеконференций. В сервере используется 64-битный суперскалярный процессор – вариант MIPS 4000 (250 МГц), расширяемая память EDO DRAM, внутренний диск, два Ethernet-порта 10/100 Base-T, PCI-слот для карт расширения, последовательный порт, жидкокристаллическая панель. Программное обеспечение включает ОС Linux, Web-сервер Apache, поддержку скриптов CGI на языке Perl, поддержку почтовых протоколов (SMTP, POP3, IMAP4), файл-сервисы (на основе протоколов FTP, SMB, AppleShare), сетевой фильтр, DNS, DHCP, программу ActiveMonitor для выполнения задач системного администрирования, клиент системы резервного копирования Legato Networker и ряд других программ. По разнообразию выполняемых задач и прикладного ПО это устройство скорее напоминает универсальный компьютер, но при этом оно имеет и черты микросервера: упрощенное администрирование, Web-ориентированные управляющие программы, сетевую установку нового программного обеспечения.

 

Администратор получает микросервер уже настроенным и сконфигурированным. Запуск его не требует от пользователя никаких знаний, кроме сетевого адреса, присваиваемого новому устройству. После установки адреса устройство готово к регистрации и обслуживанию пользователей.

 

Рис. 1. Серверы Qube и RaQ фирмы Cobalt Networks.

 

 

5.1.2. RaQ

 

Продукт, предназначенный для использования Интернет-провайдерами в случае, если необходимо предоставить клиентам выделенные Web-серверы. На нем может быть сконфигурирован ряд виртуальных серверов, имеющих собственное имя и IP-адрес. От модели Qube сервер отличается дизайном (корпус предназначен для установки в стойку), отсутствием PCI-слота и наличием внешнего SCSI-порта, а также тем, что на нем поддерживается использование протокола SNMP и средств разработки на языках C/C++, но нет поддержки протоколов SMB и AppleShare.

 

Это в большей степени, чем Qube, специализированное устройство. Убрана поддержка файлового сервиса, который создает нагрузку, отличающуюся от webи mail-сервисов, что должно создать лучшие условия для оптимизации производительности.

 

5.1.3. Cache и CacheRaQ

 

Это устройства, предназначенные для кэширования доступа в Интернет. Они могут работать в прозрачном режиме, не требующем настройки всех навигаторов, которыми пользуется компания. Обеспечивается фильтрация доступа в Интернет. Предусматривается наращивание суммарной производительности за счет установки дополнительных устройств CobaltCache.

 

Для сопряжения с другими кэш-системами поддерживается протокол ICP.

 

Помимо дизайна модели отличаются тем, что CacheRaQ 2 имеет последовательный порт. От других серверов Cobalt данные модели отличаются более специализированным программным обеспечением.

 

5.1.4. NAS

 

Устройство NAS представляет собой специализированный файловый сервер, поддерживающий протокол SMB. Обеспечивается прозрачное вхождение сервера в домен Windows NT без дополнительных настроек списков пользователей и прав доступа. Поддерживается подключение дополнительных дисков и использование RAID уровней 0 и 1.

 

5.1.5. Анализ характеристик серверов Cobalt

 

Из недостатков, присущих компьютерам фирмы Cobalt, можно отметить следующие:

 

  • невысокая производительность;
  • отсутствие средств управления группами компьютеров у моделей, предназначенных для Интернет-провайдеров;
  • стоимость, сравнимая с младшими моделями универсальных серверов.

 

Кроме того, не вполне понятно отсутствие средств управления файловыми системами и поддержки протокола NFS у машины (Qube), позиционируемой как файловый сервер (если быть более точным, то эти средства есть в используемой ОС Linux, но для того, чтобы ими воспользоваться, необходимо знать и уметь делать гораздо больше, чем это предусматривается концепцией «нулевого администрирования»).

 

Сервер Qube, который был протестирован в лаборатории компании «Инфосистемы Джет», можно эффективно использовать в качестве Webи Mail-сервера (кстати, именно этими функциями ограничивается его применение в руководстве по эксплуатации) малого предприятия, не имеющего конфиденциальной информации (так как сетевой фильтр может не спасти от экспортирования файловых систем всем устройствам в сети) и не имеющего подготовленного администратора ОС UNIX. В этом случае можно ограничиться простым заведением пользователей и минимальными сетевыми настройками (то есть указать IP-адрес и сконфигурировать DNS), легко выполняемыми при помощи Web-интерфейса. Запоминающейся особенностью является отсутствие CD-ROM и дисковода флоппи-дисков – предполагается, что дополнительное программное обеспечение должно передаваться по сети.

 

Положительным качеством фирмы Cobalt является оперативность, точность и полнота ответов на вопросы, задаваемые службе поддержки.

С 26 октября компания планирует начать поставки продукта под названием RAQ3i. Это третье поколение серверов RAQ. Продукт предназначен для поддержки электронной коммерции. Выпуск его означает переход компании на платформу x86 – используется процессор K6 компании AMD. Компания Cobalt стремится наладить партнерские отношения с разработчиками программного обеспечения, среди которых разработчики СУБД (Oracle, Informix), разработчики приложений для электронной коммерции (Intershop, OpenShop Internet Software and Open Market) и разработчики средств шифрования (RSA Laboratories). Еще одним интересным шагом стал выпуск новых средств управления Cobalt Management Appliance, работающих на серверах RAQ (предполагается использование выделенного сервера управления). Эти средства предназначены для Интернет-провайдеров, имеющих группы серверов Cobalt. Они позволяют менять настройки и устанавливать конфигурации сетевых служб и протоколов, выполнять удаленную перезагрузку серверов.

 

По нашему мнению, продукты компании Cobalt Networks позволяют эффективно решать традиционные задачи системных интеграторов, обеспечивая интеграцию и предварительную настройку аппаратных и программных средств общего назначения по требованию заказчика. Только заказчик заранее не известен и, следовательно, используются усредненные представления о его потребностях.

 

Рис. 2. Компактный настольный сервер Netwinder.

 

5.2. Серверы Netwinder фирмы Rebel.com

 

Серверы Netwinder выпускаются фирмой Rebel.com, которая приобрела отделение фирмы Corel, разработавшее эти компьютеры.

Серверы серии Netwinder построены на базе 32-битных RISC-процессоров StrongARM SA-110, имеют расширяемую память, внутренний диск, два Ethernet-порта (10 и 10/100 Мбит/с), 16-битную стерео звуковую карту, 2МБ SVGA/XVGA видео. Потребляемая мощность – 15 Вт.

 

Доступно несколько конфигураций сервера:

 

  • Compact Tabletop – имеет интерфейс к монитору SVGA;
  • RM(Rackmount)–ориентированнаИнтернетпровайдеров. Выпускается корпус высотой 1U (1.75”), в котором находятся один или два сервера.

 

Таким образом, в одну стандартную стойку помещается до 160 серверов (при монтировании с двух сторон). Один из серверов можно вынуть из корпуса, не выключая второй.

 

Программное обеспечение включает:

 

  • NetWinder Linux Distribution;
  • Apache 1.3.6;
  • Samba;
  • AppleShare;
  • Corel Web Designer.

 

Рис. 3. Серверы Netwinder, предназначенные для монтирования в стойку.

 

 

Рис. 4. Сервер OneGate 1000.

 

 

5.3. Серверы OneGate фирмы FreeGate

 

В своих микросерверах фирма FreeGate использовала операционную систему FreeBSD. Это одни из немногих микросерверов, в которых заложена поддержка виртуальных собственных сетей (VPN). В остальном они очень похожи по приводимым характеристикам на рассмотренные выше.

 

5.4. Другие продукты

 

Продукт фирмы Encanto (см. рис. 5) интересен тем, что по составу программного обеспечения он ориентирован на компании, занимающиеся электронной коммерцией.

 

Рис. 5. Web Server компании Encanto Networks.

 

 

Рис. 6. Одна из моделей семейства TEAM Internet.

 

Фирма eSoft выпускает несколько моделей устройств под общим названием TEAM Internet (см. рис. 6) на базе процессоров Pentium. Программной платформой служит операционная система Linux. Поддерживаются виртуальные собственные сети.

 

5.5. Устройства, близкие к микросерверам по назначению или особенностям организации

 

Идея создания массовых устройств для Интернет-провайдеров, повторяющих некоторые особенности микросерверов, становится все более популярной. Сравнительно недавно компания Sun Microsystems выпустила сетевой сервер серии Netra (модель t1, см. рис. 7), который имеет корпус высотой 1U (1.75”), два сетевых интерфейса, внутренний SCSI-диск, PCI-слот. Размеры корпуса позволяют поставить до 40 таких устройств в стандартную стойку. Серверы Netra t1 впервые продаются фирмой Sun не только как отдельные машины, но и партиями по пять штук. Основное отличие этого устройства от микросерверов заключается в том, что на нем работает системное программное обеспечение общего назначения (ОС Solaris). Таким образом партнеры фирмы Sun имеют возможность подготовить свои версии специализированных серверов на базе устройства Netra t1. Хотя цена этих устройств будет заведомо выше, чем у микросерверов, то, что они обладают высоким уровнем надежности, специально разработаны для телекоммуникационных компаний и сертифицируются на соответствие требованиям NEBS level 3, может сделать их вполне конкурентоспособными.

 

Рис. 7. В стойку можно установить 40 серверов Netra t1.

 

Интересным направлением развития специализированных серверов можно считать серверы NAS (Network-Attached Storage). Так называют выделенные файловые серверы, имеющие встроенную специализированную сетевую ОС и являющиеся активными сетевыми устройствами. Основное отличие этих устройств от устройств «сетей хранения данных» (Storage Area Network – SAN) заключается в том, что последние предназначены для централизации хранения информации и формируют собственную сеть (сеть хранения, см. [17]), подключаемую к обычным серверам.

 

Считается, что серверы NAS являются развитием специализированных NFS-серверов. Существуют три основных разновидности (дисковые системы, серверы CD-ROM, ленточные устройства резервного копирования) и два класса серверов NAS (серверы масштаба предприятия и серверы рабочей группы). К дисковым серверам NAS масштаба рабочей группы относят устройство Cobalt NAS фирмы Cobalt Networks.

 

Для сравнения приведем характеристики одного из конкурирующих устройств. Судя по сообщениям в печати, сервер Snap!Server (см. рис. 8) фирмы Meridian Data (куплена фирмой Quantum) имеет более низкую цену, более высокую скорость чтения/записи и широкий набор функциональных возможностей. Последняя версия продукта имеет два диска IDE емкостью 16 ГБ каждый, процессор Pentium, один Ethernet-порт 10/100 Мбит/с. Поддерживаются конфигурации RAID-0 и RAID-1. Сервер имеет Web-ориентированную управляющую программу, позволяющую конфигурировать дисковую подсистему и устанавливать сетевые параметры. Поддерживаются протоколы SMB, NFS, AppleTalk. Отсутствуют возможность квотирования дискового пространства и интегрированные средства резервного копирования.

 

Говоря о специализированных серверах, нельзя не упомянуть устройства фирмы NetworkAppliance. Это файловые и кэш-серверы, отличающиеся высокой надежностью и масштабируемостью.

 

Еще одно направление развития специализированных устройств можно считать открытым с появлением продукта RawIron (фирма Oracle) – это сервер СУБД, которому для работы не нужна операционная система. Если быть более точным, в этот продукт встроены необходимые для его работы элементы ОС Solaris фирмы Sun. Компания HewlettPackard объявляла о разработке специализированного устройства, на котором будет устанавливаться продукт RawIron.

 

Рис. 8. Snap!Server – конкурент Cobalt NAS.

 

6. Заключение

 

Рынок специализированных устройств стремительно развивается, появляются новые модели, новые классы устройств.

Микросерверы находят применение как в небольших организациях, не располагающих штатом квалифицированных системных администраторов, так и в территориально удаленных отделениях крупных организаций. Кроме того, микросерверы – привлекательная платформа для поддержки специализированных приложений.

 

Все это подтверждает жизнеспособность идеи о продаже опыта и ноу-хау в видеготовых специализированных аппаратно-программных продуктов.

 

7. Литература

 

1. Материалы о продуктах фирмы Cobalt Networks. – http://www.Cobalt.com.

2. Материалы о продуктах фирмы Rebel.com. – http://www.rebel.com.

3. Материалы о продуктах фирмы FreeGate. – http://www.FreeGate.com.

4. Материалы о продуктах фирмы Encanto Networks. – http://www.encanto.com.

5. Материалы о продуктах фирмы Quantum. – http://www.quantum.com.

6. Материалы о продуктах фирмы eSoft. – http://www.esoft.com.

7. Материалы о продуктах фирмы Sun Microsystems. – http://www.sun.com.

8. Материалы о продуктах фирмы Oracle. – http://www.oracle.com.

9. Материалы о продуктах фирмы Network Appliance. – http://www.netapp.com.

10. Schenk R. Encanto Super e.go 210. – PC Magazine, June 7, 1999.

11. Schenk R. eSoft TEAM Internet. – PC Magazine, June 7, 1999.

12. Lipschutz R. Rebel.com NetWinder Group Server. – PC Magazine, June 7, 1999.

13. LipschutzR.CobaltQube2.–PCMagazine,June 7, 1999.

14. Lipschutz R. FreeGate OneGate 150. – PC Magazine, June 7, 1999.

15. Феттерс Д. Тестируем серверы NAS. – Сети и системы связи, N 12, 1 октября 1999.

16. Cobalt Launches Web Server for E-Commerce. – Unigram.X, Oct 25, 1999.

17. Ании П., Черняк Л. Интеллектуальная сеть хранения данных. – Jet Info, 1998, 4.

 

Микропроцессорная архитектура MAJC

 

Появление новой микропроцессорной архитектуры – это всегда событие, вовлекающее в свою орбиту практически всех, кто так или иначе причастен к развитию информационных технологий.

 

Существенные изменения в такой фундаментальной составляющей, как микропроцессоры, сказываются на многочисленных вышележащих уровнях – от аппаратных модулей до программных приложений. Отслеживание текущей ситуации в данной области, понимание перспектив необходимо для планирования развития информационной системы любой скольконибудь крупной организации.

 

Производителям микропроцессоров, создателям микропроцессорных архитектур приходится учитывать две группы требований. Первая вытекает из необходимости обеспечивать совместимость с ранее разработанными изделиями, вторая является следствием развития информационных технологий, изменений в методах и средствах программирования.

 

Вообще говоря, эти группы требования конфликтуют друг с другом. Обратная совместимость напоминает гири, мешающие быстрому движению вперед. Разработчики микропроцессорной архитектуры MAJC (Microprocessor Architecture for Java Computing – микропроцессорная архитектура для Java-вычислений), действовавшие в рамках четырехлетней программы создания нового семейства микропроцессоров, взяли на себя смелость абстрагироваться от «наследия прошлого». Они попытались посмотреть свежим взглядом на современные области применения компьютеров, на характер обрабатываемой информации и сами способы обработки.

 

По мнению создателей архитектуры MAJC, при разработке современных микропроцессоров необходимо учитывать целый ряд новых обстоятельства (см. [1]).

 

Во-первых, по сравнению даже с недавним прошлым существенно изменился характер обработки информации. Обработка стала более интенсивной, хотя речь и не идет о традиционных вычислениях. Основными объектами обработки стали потоковые данные, оцифрованные сигналы, с которыми нужно уметь управляться в реальном времени. Примеры таких данных – голос поверх IP и MPEG2-видео. При подобной обработке на каждое обращение к памяти приходится несколько (порой больше десяти) операций. Традиционные тесты производительности, с учетом которых разрабатывались прежние CISC и RISC процессоры, конечно, были устроены иначе. Современный микропроцессор должен обладать некоторыми чертами цифровых процессоров обработки сигналов (DSP). Первый шаг к этому был сделан в микропроцессорах UltraSPARC за счет реализации в них набора визуальных команд (VIS). Вероятно, сейчас требуются дальнейшие шаги в этом направлении.

 

Во-вторых, доминирующей программной платформой для сетевых устройств (причем не только клиентских, но и серверных) становится Java. Численность армии Java-разработчиков превысила миллион. 72% из числа компаний Fortune 1000 используют Java или планируют начать использовать в 2000 году. Java-приложения существенно отличаются по своей архитектуре от традиционных программ. Речь идет о реальной многопотоковости, когда число потоков составляет десятки, когда во главу угла ставится оптимизация во время выполнения, когда требуется аппаратная поддержка таких продвинутых конструкций, как реакция на исключительные ситуации, сбор мусора и т.п. Java-технология принесла с собой новые представления о параллелизме – не на уровне отдельных инструкций (хотя, конечно, данный вид параллелизма нельзя полностью сбрасывать со счетов), а на уровне потоков. Распараллеливание на уровне потоков оказывается более естественным и более выигрышным с точки зрения суммарной производительности. Пропускная способность сетей растет очень быстро, сейчас речь идет о гигабитных скоростях, так что для обработки потоков данных в реальном времени требуется очень высокая и постоянно растущая производительность.

 

В-третьих, появилась возможность реализовывать на одном кристалле целые системы (System-On-aChip, SOC) и даже многопроцессорные комплексы (Multi-Processor System-On-a-Chip, MPSOC).

 

Перечисленные обстоятельства можно пытаться учесть, действуя методом грубой силы, наращивая тактовую частоту и число традиционных микропроцессоров при минимальных изменениях в их архитектуре, но такой подход рискует дать лишь ограниченный, временный эффект. На наш взгляд, сейчас имеет право на жизнь новый, революционный путь, по которому и пошли создатели архитектуры MAJC.

 

2. Иерархия объектов архитектуры MAJC

 

Архитектуру MAJC можно назвать трехуровневой (см. рис. 1, а также [2]). На верхнем уровне располагается «процессорный кластер», то есть группа процессоров, реализованная на одном кристалле. Второй уровень образуют отдельные процессоры, включающие в себя сущности третьего уровня – функциональные устройства.

 

Все процессоры в кластере являются идентичными. Их можно назвать слабосвязанными, поскольку они разделяют минимальное число ресурсов – несколько внутренних регистров (например, регистров прерываний, обеспечивающих синхронизацию) и подсистему кэширования данных. Процессорные кластеры реализуют идею многопроцессорных комплексов на кристалле (MPSOC).

 

Рис. 1. Три уровня микропроцессорной архитектуры MAJC.

 

Один процессор содержит до четырех функциональных устройств. Считается, что при распараллеливании на уровне инструкций трудно превысить коэффициент 4, поэтому больше четырех функциональных устройств на процессор не требуется. Устройства с номерами 2-4 одинаковы, устройство 1 по своим возможностям является их подмножеством, впрочем, весьма представительным. На каждом процессоре имеется набор глобальных регистров, разделяемых функциональными устройствами. В рамках архитектуры MAJC число этих регистров может меняться от 32 до 512.

 

Каждое функциональное устройство можно рассматривать как RISC-процессор с дополнительными возможностями по цифровой обработке сигналов (DSP). У него есть собственная логика по декодированию команд и сохранению состояния, буферы команд и результатов. Такое устройство может обрабатывать данные любых типов (целые числа различной разрядности, вещественные числа, числа с фиксированной запятой), то есть оно является полнофункциональным в отличие от традиционных элементов процессоров. У каждого функционального устройства есть свой регистровый файл (эти регистры называются локальными); кроме того, доступны глобальные регистры процессора.

 

Регистры, как и функциональные устройства, универсальны по отношению к типам данных, то есть могут хранить целые и вещественные числа. На память приходят регистры IBM/360, также бывшие универсальными. Тогда, по мнению многих разработчиков компиляторов, это было недостатком, так как 16 регистров на все случаи жизни явно не хватало. В архитектуре MAJC регистров существенно больше, поэтому универсальность обеспечивает дополнительную степень свободы, не привнося каких-либо неудобств.

 

Помимо процессоров, на кристаллах могут располагаться и другие устройства. Пример «системы на кристалле», построенной в архитектуре MAJC, представлен на рис. 2. Здесь представлен целый ряд интерфейсов, обеспечивающих взаимодействие с памятью (причем на разных уровнях), шинами для устройств ввода/вывода и т.п.

 

Рис. 2. Пример «системы на кристалле», построенной в архитектуре MAJC.

 

 

3. Структура системы команд

 

Архитектура MAJC относится к типу VLIW (Very Large Instruction Word, архитектура с очень большими словами инструкций). В MAJC отдельные инструкции объединяются в пакеты – от одной до четырех инструкций, занимая, соответственно, от 32 до 128 бит (рис. 3).

 

Соответственно, каждый такт может начинаться выполнение до четырех элементарных инструкций.

 

Пакет начинается с двухбитного кода длины, одновременно обозначающего задействованные функциональные устройства. «Самым нагруженным» является устройство 1 – инструкции для него присутствуют во всех пакетах. Устройство 4 можно считать самым свободным – если не удается достичь максимального коэффициента параллелизма, оно будет простаивать.

 

Рис. 3. Пакет инструкций в архитектуре MAJC.

 

Можно представить себе разные программные модели использования функциональных устройств. В первом случае все устройства процессора выполняют команды одного потока управления, то есть имеет место распараллеливание на уровне элементарных инструкций. Во втором случае с каждым устройством (кроме упрощенного первого) связывается свой поток, так что каждая элементарная инструкция пакета относится к своему потоку, а в совокупности реализуются так называемые систолические вычисления. В любом случае, однако, инструментальным системам программирования придется решать определенные проблемы.

 

При распараллеливании на уровне инструкций довольно сложно оптимальным образом разместить данные в локальных регистрах – кто знает, какое функциональное устройство окажется свободным, когда над некоторым данным потребуется выполнить очередное действие. Впрочем, генерация эффективного кода для VLIW-архитектур – задача на сегодняшний день нерешенная, что существенно сужает область применения языков высокого уровня для DSP-процессоров. MAJC также перекладывает некоторые проблемы на компиляторы, которые, например, должны позаботиться о синхронизации команд, «завязанных» через регистровые данные – генерируемый код должен быть таким, чтобы к моменту начала выполнения очередной инструкции все ее регистровые операнды были подготовлены. Будет очень интересно ознакомиться с инструментальными системами для архитектуры MAJC и изучить генерируемый код.

 

Распараллеливание на уровне потоков также требует специальных программных средств, так как необходимо помещать в один пакет команды разных потоков. Проще всего это делать, когда потоки идентичны, но область применения подобной модели относительно узка. Если потоки разные, требуется полноценный «компоновщик потоков», не только объединяющий команды, но и распределяющий функциональные устройства и ассоциированные с ними ресурсы. Если такая компоновка возможна, дальше все оказывается просто – независимые потоки «перемалывают» свои локальные данные.

 

Конечно, можно принять за единицу распараллеливания не функциональное устройство, а процессор, но это очень грубое решение, при котором достоинства архитектуры MAJC окажутся нереализованными.

 

Функциональные устройства способны обрабатывать данные следующей разрядности:

 

  • 8 бит (для данных этой разрядности обеспечивается лишь ограниченная поддержка – они могут фигурировать в некоторых специфических операциях, таких как определение степени визуального изменения соседних кадров);
  • 16 бит (короткие целые и числа с фиксированной точкой);
  • 32 бита (целые, вещественные);
  • 64 бита (длинные целые, вещественные двойной точности).

 

Элементарная инструкция состоит из 4-битного поля кода операции и четырех 7-битных полей, обозначающих исходные и/или целевые регистры или содержащих дополнительные биты кода операции (см. рис. 2). Это значит что непосредственно адресуемыми являются 128 регистров. Если число физических регистров больше, функциональным устройствам можно выделять регистровые окна и осуществлять быстрый переход между подпрограммами, избегая массового сохранения/восстановления регистров.

 

Репертуар полноценных (с номерами 2-4) функциональных устройств составляют традиционные арифметические операции, инструкции для работы с битовыми полями и цепочками байт, сравнения, преобразования, условные инструкции и т.п. Устройство 1 способно выполнять команды условного и безусловного перехода, инструкции взаимодействия с памятью (загрузки/сохранения), а также специальные инструкции – деление (целое и вещественное), извлечение квадратного корня, очистка буфера инструкций, trap и т.п.

 

Поддерживается несколько режимов выполнения арифметических операций, в том числе так называемая арифметика с насыщением (в отличие от вычислений по модулю, определяемому размером данных). Арифметика с насыщением полезна при работе с аудиои визуальными данными.

 

Разумеется, в архитектуре MAJC предусмотрена поддержка таких способов повышения быстродействия, как предсказание условных переходов. На самом деле в MAJC развит более общий подход, связанный с упреждающим выполнением действий, которые, вероятно, потребуются через некоторое время (выполнение команд после условного перехода, загрузка данных из памяти и т.п.).

 

4. Пример реализации архитектуры MAJC – микросхема MAJC-5200

 

Первой многопроцессорной системой на кристалле, реализованной в архитектуре MAJC, стала микросхема MAJC-5200, представленная на Микропроцессорном форуме (см. [3]). В настоящее время завершено ее проектирование. Появление первых рабочих образцов запланировано на второй квартал 2000 года.

 

На рис. 4 представлена структурная схема MAJC-5200. Помимо рассмотренных выше элементов (и очевидных дополнений, таких как кэш данных) здесь присутствует графический процессор, а также два коммутатора UPA – «северный» и «южный» (детали, касающиеся UPA, можно найти в [4]).

 

Рис. 4. Структурная схема MAJC-5200.

 

В табл. 1 представлены основные технические характеристики MAJC-5200. Микросхема выполнена на передовом технологическом уровне. Предполагаемая тактовая частота первого варианта микросхемы – 500 МГц. В дальнейшем частоту предполагается поднять до 700 МГц.

 

Традиционно трудными для многопроцессорных систем являются проблемы эффективного обмена данными между процессорами, обеспечения согласованности кэшей. Когда многопроцессорная система реализуется на кристалле, как в архитектуре MAJC, появляются новые возможности, недоступные ранее. Два процессора в MAJC-5200 разделяют общий двухпортовый кэш данных первого уровня (см. рис. 5), поэтому все ограничения, связанные с проблемой согласованности кэшей, отпадают. Межпроцессорное взаимодействие также оказывается весьма эффективным: передача данных занимает 8 тактов, передача прерываний – 10 тактов.

 

Как показывают результаты моделирования, быстродействие MAJC-5200 на 32-битной арифметике (целой или вещественной) составляет 6-7 миллиардов операций в секунду. Для 16-битной арифметики быстродействие примерно вдвое выше, вещественные числа двойной точности обрабатываются со скоростью 1.5 GFLOPS.

 

На наш взгляд, более интересна прикладная эффективность (в соответствии с предполагаемыми областями применения). Согласно набору тестов JPEG 2000, декодирование 8-битных изображений выполняется со скоростью 78 МБ/с. MAJC5200 может одновременно декодировать два потока MPEG 2, поступающих со скоростью 5 Мбит/с. В [3] можно найти множество других показателей производительности для самых разных прикладных областей. Они производят сильное впечатление.

 

Табл. 1. Основные технические характеристики микросхемы MAJC-5200.

 

 

Рис. 5. Двухпортовый разделяемый кэш данных первого уровня в MAJC-5200.

 

 

Рис. 6. Конвейер из микросхем MAJC-5200.

 

 

Микросхемы MAJC-5200 могут комплексироваться для достижения еще большей производительности. На рис. 6. представлен систолический массив, способный осуществлять конвейеризацию в рамках совокупности процессоров.

 

В [3] представлены многочисленные примеры конфигураций, включающих MAJC-5200. Действительно, возможности, заложенные в архитектуре MAJC, и предполагаемые показатели быстродействия MAJC-5200 наделяют эту многопроцессорную систему на кристалле очень широкими возможностями.

 

5. Заключение

 

Это может показаться странным, но архитектура микропроцессоров – вещь весьма консервативная, несмотря на многочисленные технологические достижения. Как правило, с точки зрения пользователя изменения сводятся к наращиванию тактовой частоты и, иногда, к добавлению нескольких команд. В то же время, характер обрабатываемых данных, способы обработки за последнее время изменились радикально.

 

Создатели архитектуры MAJC сделали попытку пойти революционным путем, отказавшись от обеспечения какой-либо обратной совместимости. Они попытались проанализировать современные требования к микропроцессорам и решить соответствующие задачи на современном технологическом уровне. В результате была предложена многопроцессорная система на одном кристалле с очень высокими показателями «прикладного» быстродействия.

 

Конечно, путь от микропроцессорной архитектуры до универсальных компьютеров или специализированных устройств долог. Предстоит решить немало аппаратных и программных проблем. Но начало, представляющееся весьма перспективным, положено. Это – главное.

 

6. Литература

 

1.Tremblay M. MAJC. Microprocessor Architecture for Java Computing. – Sun Microsystems, 1999. http://www.sun.com/microelectronics/majc/ documentation/docs/HC99sm.pdf.

2. MAJC Architecture Tutorial. White paper. – Sun Microsystems, 1999. http://www.sun.com/microelectronics/majc/documentation/docs/majctutorial.pdf.

3.Tremblay M. MAJC-5200: A VLIW Convergent MPSOC. – Sun Microsystems, 1999. http://www.sun.com/microelectronics/majc/documentation/docs/MPForum99-d.pdf.

4. Шадский А. Семейство компьютеров Ultra компании Sun Microsystems. – Jet Info, 1997, 23-24.

Уведомления об обновлении тем – в вашей почте

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня