Однако такие особенности как относительно простое системное управление, средства обеспечения высокой надежности и доступности эта ОС унаследовала от мэйнфреймов. Сегодня AIX работает на платформе RS/6000 от рабочих станций до массово-параллельных суперкомпьютеров самой IBM, а также систем от Apple и Bull, обеспечивая необходимую совместимость с аппаратными средствами.

Требования AIX 4.3.3 к ресурсам стандартны для современных UNIX-систем - 32 Mбайт физической памяти, 64 Mбайт памяти для области подкачки и 315 Mбайт на диске. Поддерживается одновременное выполнение 32- и 64-разрядных приложений. Общий код для всех систем на базе семейства POWER позволяет в несколько раз увеличить производительность приложений без их изменения. Например, при переходе с RS/6000 Модель S7A на S80 можно удвоить число процессоров (с 12 до 24) и память (с 32 до 64 Гбайт), что повышает производительность оперативной обработки транзакций втрое.

Средства контроля и управления системой

System Management Interface Tools (SMIT). Основной недостаток администрирования ряда разновидностей UNIX — отсутствие общего интерфейса. Администратор должен знать особенности применения большого количества команд, оперировать разными интерфейсами управления отдельными подсистемами, уметь редактировать много системных файлов, которые чаще всего имеют свой собственный формат. В AIX для решения всех общих задач системного администрирования создан единый интерфейс SMIT, который конструирует высокоуровневые команды и передает их на выполнение.

Предусмотрено два вида интерфейса SMIT: алфавитно-цифровой и графический (Motif). Инструменты администратора AIX используют специальную базу данных Object Data Manager (ODM) с информацией о командах администрирования и о правилах построения меню и команд. Для управления другими компьютерами в сети имеется вариант Distributed SMIT, а для решения частых задач (управление пользователями, дисками, устройствами, принтерами) графический интерфейс Visual System Manager, который позволяет администратору манипулировать объектами. Однако удобнее всего использовать интерфейс WebSM, позволяющий управлять AIX-системами из «любого места» в Сети с помощью любого браузера.

AIX Configuration Manager (cfgmgr) - ассистент установки и автоматического обнаружения аппаратных устройств, который уменьшает требования ко времени, квалификации и ресурсам, необходимым для установки операционной системы; допускает параллельное выполнение нескольких методов конфигурации устройств за счет чего перезагрузка выполняется быстрее, даже если к системе подключено много устройств и адаптеров. Если добавлены новые устройства, то cfgmgr использует механизм сериализации и последовательно сконфигурирует все новые устройства.

Пакет AIX Diagnostic позволяет проверить систему и предупредить проблемы. В AIX 4.3.3 появилась возможность Diagnostic Event Log (журнал, который можно просмотреть через SMIT). В новые модели POWER3 добавлен пульт диагностики (exerciser) для проверки памяти и процессоров, где ранее были обнаружены ошибки.

AIX Workload Management (WM). Для управления загрузкой системы можно задать правила распределения ресурсов (процессоров и памяти), которые будут автоматически применены к отдельным заданиям или классам заданий. WM позволяет управлять 29 классами заданий (каждый со своими правилами) и 9 уровнями заданий (ресурсы для каждого уровня предоставляются до заданий следующего уровня). WM снижает влияние второстепенных заданий на работу критических приложений. С помощью WM можно указать пределы использования ресурсов и порядок их совместного использования [10].

Средства анализа производительности. Программы ptx, tprof, ipfilter, ipreport, pprof, topas и др. выделяют все аспекты, влияющие на производительность системы, и выдают статистику (о событиях, файлах, дисках, памяти, сети, процессах, и т. п.), обеспечивая моментальный снимок полной активности системы. Можно получить также отдельный журнал трассировки по каждому процессору, обработать метрику производительности по активности (при превышении заданных границ), а не по фиксированному имени, сортировать выходную информацию команд трассировки. По результатам анализа можно сформировать отчеты в нескольких форматах, включая family view (все связи типа родитель-потомок), что бывает полезно при уточнении причин ухудшения работы системы при работе нескольких процессов.

Безопасность

Безопасность AIX соответствует уровню С2, причем система не поддерживает suid для командных файлов, что увеличивает надежность. Защита файлов (и программ) управляется битами разрешения, которые можно установить на всю цепочку каталогов, ведущих к файлу и ACL-спискам контроля доступа. Каждому пользователю ставится в соответствие уникальное имя, идентификатор UID и пароль. Идентификатор используется для всех запросов на получение доступа. В AIX 4.3.3 предусмотрено ряд новых возможностей.

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

Network Information Services (NIS+). Реализован в дополнение к NIS и обеспечивает расширенные возможности для дистанционного управления безопасностью группы систем, позволяет администратору хранить информацию об адресах клиентов, о безопасности, почте, сетевых интерфейсах и сетевых службах.

IBM SecureWay Directory (SWD). Для защиты приложений e-бизнеса нужны средства получения доступа к критическим ресурсам, обеспечения соединения с ними сквозь несколько систем, защиты коммуникаций, данных и транзакций от неавторизованного доступа или вторжения через межсетевой экран. В AIX 4.3.3 включен сервер SWD, поддерживающий работу приложений на основе протокола LDAP. SWD позволяет разделять данные с приложениями и сетевыми ресурсами, ускорить разработку Web-приложений и увеличить безопасность сети.

При конфигурации системы запросы к пользователям и группам посылаются в сервер SWD. Если для группы систем нужно иметь общий вид информации пользовательской безопасности, эта функция позволит сократить административные операции. Новые возможности протокола LDAP3 (в SWD 3.1.1) позволяют вернуть список URL-адресов серверов клиенту, чей запрос не может быть обслужен - клиент может использовать этот список для продолжения операции.

Рис. 1. Графический интерфейс WebSM

Сервер SWD использует определения типов атрибутов, классов объектов и другую информацию (схему), чтобы согласовать значение атрибута с атрибутом элемента справочника. Согласование схемы определяет, разрешены ли операции добавить/модифицировать. Для работы SWD поддерживаются схемы, определенные в LDAP3, а также обычная схема IBM и схема Directory-Enabled Networks (DEN). Можно также определить новые объектные классы, которые наследуют определения и атрибуты родительского. SWD позволяет авторизованным пользователям динамически определять новые атрибуты и объектные классы, чтобы расширить предопределенную схему директории. Утилита переноса преобразует определения схем eNetwork LDAP Directory 2.1 (так ранее называлась SWD) в формат LDAP3.

SASL - основа для поддержки аутентификации для протоколов, построенных на соединениях. Сервер каталогов запускает функции SASL plugin для аутентификации запроса клиента и возвращает результат. Имеется два метода аутентификации: для сервера - типа запрос/ответ (Challenge/Response Authentication Mechanism - Message Digest 5, CRAM-MD5), и для клиента - сертификаты открытых ключей X.509 v3. Это позволяет установить защищенный канал связи между клиентом и сервером. Пользователь может использовать сертификат открытого ключа для аутентификации сервера каталогов. Полная поддержка интерфейса SSL Java Naming and Directory Interface (JNDI) и шифрование паролей в SWD предотвращает компрометацию паролей при запросах к базе данных или поиске файла.

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

SWD можно администрировать через Web-браузер; пользователи могут выполнять поиск или добавлять информацию в SWD согласно правам, заданным администратором. Есть средство управления каталогом, позволяющее пользователям соединиться с несколькими серверами через открытые соединения, просмотреть дерево каталогов или их схемы, добавить, модифицировать, удалить объекты, объектные классы и атрибуты.

Клиентский доступ к SWD поддерживается по протоколам LDAP и HTTP. Можно создать приложения для поддержки LDAP3, используя SWD Client SDK, который состоит из клиентских библиотек и классов JNDI для разработки Java-приложений, получающих доступ к LDAP-совместимым серверам каталогов. LDAP-библиотека функционально независима от SSL, но может динамически загружать SSL-библиотеки, которые поставляются как часть Global Security Kit (GSKit) в составе Bonus Pack и использовать их для поддержки SSL. LDAP-приложения, созданные на основе SWD Client SDK, по умолчанию имеют доступ к 56-разрядного DES-шифрования.

Особенности работы с IP

Поддержка протокола IPv6 снимает ограничения IP-адресации, увеличивает безопасность соединения IP с помощью избыточной и динамической маршрутизации. Можно определить IKE-туннели (безопасные туннели, устанавливаемые динамически), которые активизируются, когда был отправлен или получен трафик, соответствующий заданным критериям. Это позволяет вычислять и обновлять сессионные ключи только при необходимости. IKE-туннели могут использовать цифровые сертификаты X.509 для аутентификации путем подписи IKE-сообщений. Сертификаты могут храниться локально, что позволяет развернуть виртуальные частные сети с огромным числом конечных точек и дает экономию в стоимости и затратах на обслуживание для конфигураций с выделенной линией. Можно точно определить ошибки конфигурации и просмотреть журналы аудита, чтобы узнать были ли атаки на безопасность.

Библиотека TCP/IP Socks позволяет TCP/IP-приложениям подсоединяться к хостам через настраиваемый TCP/IP proxy по протоколу SOCKS5. Приложение выполняет исходящее ТCP-соединение, а библиотека автоматически управляет созданием туннеля с SOCKS5-сервером. Администратор может сконфигурировать API, чтобы принимать и маршрутизировать определенные типы клиентских запросов, балансируя загрузку по нескольким SOCKS5-серверам. Эта библиотека позволяет разрешать ограниченный доступ к внешним Web-сайтам и в то же время осуществлять контроль на границе своей сети.

HTTP GET Engine. Данное расширение ядра AIX увеличивает производительность работы с Internet путем обслуживания Web-страниц из кэша Network File Cache. Используя частные сегменты процессоров POWER и PowerPC, этот кэш может быть достаточно большим (ограничен только физической памятью системы). HTTP Get Kernel перехватывает входящие запросы HTTP Get из сети и обслуживает Web-страницы, если найдет их в кэше, без дополнительных Get-запросов, посылаемых в Web-сервер. Если Web-страницы нет в кэше, то Get-запрос ставится в очередь к Web-серверу. Данные Web-страниц из Network File Cache передаются по ссылке без копирования. Все это значительно сокращает число команд обработки Get-запросов.

Рис. 2. Архитектура безопасности IP-протоколов

EtherChannel. В AIX реализована технология Cisco, позволяющая увеличить полосу пропускания с балансировкой загрузки путем группирования сетевых интерфейсов. Использование нескольких интерфейсов в канале обеспечивает преодоление отказов интерфейса. Реализация определяет логический интерфейс (канал), состоящий из 2-4 физических интерфейсов (адаптеров). Для верхних слоев этот канал выглядит как интерфейс Ethernet. Любой верхний слой (IP, SNA, DLPI и др.), который может подсоединиться к Ethernet-адаптеру через сетевые службы AIX Common Data Link Interface (CDLI), может работать по EtherChannel без изменений кода программ.

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

Улучшение производительности TCP/IP. В SMP-системах интерфейсы TCP/IP поддерживают нитевой (thread) режим, что позволяет ставить в очередь входящие IP-пакеты и выбирать их с помощью нитей, сокращая время прерывания, и позволяя разделять обработку входящих IP-пакетов между несколькими процессорами. Нитевой режим работает лучше всего с широкополосными адаптерами (Gigabit Ethernet, ATM 155 Mbps) и может увеличить производительность сетевых интерфейсов принимающей машины.

TCP может наследовать параметры TCP/IP socket на новых соединениях между клиентами и серверами. Это позволяет серверным программам установить параметры TCP/IP level socket один раз на слушающем сокете и избежать установки параметров на сокетах, связанных с новыми соединениями, сокращая избыточную длину пути. Обнаружение Path Maximum Transmission Unit позволяет AIX-системам определить лучший путь для доставки пакета максимального размера без его фрагментации - в результате оптимизируется пропускная способность на концах любой корпоративной сети.

TCP/IP Gratuitous ARP. Когда меняется аппаратный адрес сетевого адаптера для хоста, то все другие хосты в той же сети (имеющие ARP-элемент со старым адресом) обновляют свои элементы. Это обновление будет происходить в период неинтенсивной работы (например, при подъеме сетевого интерфейса) и может сократить время ожидания, когда данные готовы для передачи. Кроме того, при назначении интерфейсу IP-адреса операционной системы AIX, путем посылки ARP-запроса для желаемого адреса, проверяет: есть ли другой хост с этим IP-адресом. Если адрес уже используется, то система запишет эту ошибку в журнал для уведомления администратора.

Усовершенствования TCP/IP Resolver. Новый API-интерфейс Dynamic Load Name Resolver позволяет определить свой модуль для разрешения имен хостов помимо существующих (local, DNS, NIS, NIS+). Этот модуль может иметь один или все 5 типов соответствий (map type): службы, протоколы, хосты, сети, сетевые группы. Обработка контрольных сумм TCP выполняется не в стеке протоколов TCP/IP, а в самом драйвере, что полезно приложениям, которые передают огромные блоки - уменьшается время на вычисление контрольных сумм, что позволяет обработать больше пакетов. Вместе с сетевым кэш-буфером эта возможность позволяет посылать данные, ?не касаясь их?, что тоже увеличивает производительность.

Организация дисковых подсистем

В традиционных разновидностях UNIX диски разделены на фиксированные разделы и нельзя скорректировать их размер после установки системы. Каждая файловая система размещается на разделе диска, а изменение размера раздела и файловой системы требует архивирования файловой системы, удаления раздела, создания его заново с новыми параметрами и восстановления данных из архива. В ОС AIX строительными блоками дисковых подсистем являются: файлы, каталоги, файловые системы, логические дисковые подсистемы, физические дисковые подсистемы (LVM). Обычный пользователь работает только с файлами и каталогами.

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

Физический диск - реально подключенный диск и чтобы его использовать, надо добавить его в существующую или новую предварительно созданную группу томов. Наименьшим разделом дискового пространства физического диска является физический раздел. Все физические разделы в одной группе томов имеют одинаковый размер. Группа томов - наибольшая единица дисковой подсистемы AIX, которая содержит физические тома (диски), собранные под единым именем группы томов. Все имеющиеся в наличии физические диски могут быть размещены в одной группе томов. Группа томов (например, внешние диски) может быть отсоединена от одной системы и подключена к другой системе. Когда происходит установка системы, создается группа томов root (rootvg) и системный логический том на внутренних дисках, которые выбрали при установке.

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

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

Логический том может содержать: журнальную файловую систему, пространство для размещения страниц виртуальной памяти, журнал для размещения информации обо всех изменениях структуры файловых систем, загрузочный логический том с образом boot image, Raw device - пустой логический том.

Файловые системы - одновременно и метод хранения данных, и иерархия каталогов. AIX поддерживает следующие файловые системы: JFS (журнальная), CDRFS (на компакт-дисках) и NFS (сетевая). Файловая система JFS размещается на логическом томе, который разделен на кластеры по 4 Кбайт (может быть поделен на блоки, кратные 512 байт). Первый адресуемый блок файловой системы (суперблок) содержит информацию, которая идентифицирует файловую систему (наименование, размер, число inode, дату и время создания). Суперблок очень важен, и файловая система при его повреждении не может быть смонтирована. Поэтому имеется второй резервный суперблок. За суперблоком идут описатели inode, содержащие идентификационную информацию для файлов (тип, размер, разрешения, идентификационные номера пользователя/группы, дату и время создания/изменения).

При работе с JFS все операции с данными в файлах проводятся как транзакции (групповые операции). При записи в файл данные сначала размещаются в оперативной памяти, а каждую минуту выполняется системный вызов sync, который записывает данные в информационные блоки на диске. И информация о необходимых изменениях в inodes записывается в файл jfslog - журнал транзакций файловой системы, обновление информации в котором происходит циклически. После удачной записи всех информационных блоков происходит операция подтверждения COMMIT, о которой также производится запись в jfslog. Только после этого происходит обновление в inode и завершение транзакции системным вызовом sync. Ведение журнала делает файловые системы JFS очень устойчивыми к сбоям, а возможность динамической компрессии/декомпрессии и фрагментации файловой системы JFS обеспечивает экономное использование дискового пространства.

Расслоение и зеркалирование [5]. Поддержка одновременного расслоения и зеркалирования (RAID 0 + 1) позволяет объединить производительность расслоения и надежность зеркалирования. LVM объединяет готовность данных RAID 1 (зеркало) с производительностью RAID 0 (расслоение) путем поддержки расслоенного логического тома с зеркальными копиями (striped logical volume). Это улучшает готовность данных в высокопроизводительных расслоенных логических томах, допуская отказы физических дисков. Оставшиеся диски в расслоенной зеркальной копии продолжают обслуживать расслоенные компоненты, содержащиеся на них. Замена диска (синхронизируются только разделы на новом диске) обеспечивается командами migratepv и replacepv.

Кроме того, все логические тома могут использовать новую политику распределения разделов Super Strict, которая не позволяет разделам одного зеркала разделять диск с разделами второго или третьего зеркала, помогая сократить вероятность потери данных при отказе диска. Однако группы томов, поддерживающие эти возможности, нельзя использовать с предыдущими версиями AIX.

Online JFS Backup. Позволяет использовать для выполнения операций backup зеркальную копию файловой системы. Копия отцепляется (split off), монтируется как read-only и доступная для backup, а затем пользователи копируют «хорошую» копию файловой системы, тогда как другая копия смонтирована и используется. После завершения копирования можно объединить (reintegrate) эту новую копию (backup mirror copy) и синхронизировать ее с другими зеркальными копиями.

Поддержка зеркалирования для системного дампа. Раньше если администраторы хотели зеркалировать rootvg, то надо было избежать зеркалирования логического тома для дампа. Теперь можно использовать зеркалированные paging devices как устройства дампа. Сами данные дампа не зеркалируются, но утилиты управления дампом правильно получают данные дампа независимо от состояния зеркалирования.

«Кофе» для AIX

В операционную систему AIX включен полный комплект средств разработки JDK 1.1.8 с компилятором IBM Just-In-Time (JIT). Компиляция байт-кодов Java в «родные» коды компьютера позволяет выполнять Java-программы с наивысшей производительностью (ускорение в 25 раз по сравнению с интерпретатором байт-кода). Java Security Migration Aid облегчает переход с простой модели безопасности Java 1 на устойчивую и структурированную модель Java 2. Java Remote Method Invocation - Internet Inter-ORB Protocol - новая версия метода взаимодействия с посредником запросов CORBA и CORBA-объектами, созданными не на Java, объединяет простоту Java RMI и возможность к неоднородному взаимодействию CORBA, что позволяет клиентским Java-приложениям получать доступ к серверным не-Java объектам. JDBC-ODBC Bridge улучшает возможность для Java-приложений обращаться к базам данных. Swing 1.1.0 реализует набор компонентов графического интерфейса со сменным внешним видом и позволяет создать один набор компонентов пользовательского интерфейса, имеющих внешний вид соответствующих сред Windows, Solaris или Macintosh.

Графика в AIX

X11R6.3. Позволяет Web-серверу выполнять клиентские приложения X Window на удаленном хосте. Можно создать простые Web-меню приложений для запуска на сервере. Сайты, где много X-терминалов и сетевых компьютеров могут использовать эту возможность, чтобы обеспечить одну точку Web-контакта для выполнения приложений. Реализована концепция доверямых/недоверямых приложений, предусмотренная в системе X Window.

X-приложение может выполнить часть функций Window Manager (например, нанесение меток изменения размера в окнах верхнего уровня), что позволяет встроить X-приложение в браузер. Реализованы методы минимизации полосы пропускания (Low Bandwidth X — LBX), включая компрессию протоколов, перекодирование и кэширование для сокращения сетевого трафика на медленных соединениях. LBX Proxy действует как псевдо-сервер (передает информацию между приложениями и Х-сервером) и позволяет приложениям использовать эти методы без перекомпиляции.

OpenGL. Для адаптеров GXT2000 и GXT3000 реализована поддержка GLX 1.3. Новые возможности включают доступ операции тонирования в памяти адаптера и улучшения производительности OpenGL за счет новых расширений. Одним вызовом функции OpenGL обеспечивается обработка нескольких массивов узлов из различных типов примитивов. Это сокращает накладные расходы при вызове нескольких функций. Приложения могут уведомить OpenGL, когда не требуется отсечения по границам окна вывода, что помогает сократить объем вычислений.

GraPHIGS. Изменен метод перекачки данных в адаптерах GXT2000P и GXT3000. Если раньше программы, зависящие от устройства ?засыпали? в ожидании прерывания от адаптера, то теперь приложение может начать работать на следующем фрейме еще до того, как произойдет это прерывание. Улучшена производительность операции отсечения. Изображения, которые затеняются в пространстве окна станции могут использовать аппаратное отсечение на адаптерах GXT2000P и GXT3000P, что существенно увеличивает производительность. До AIX 4.3.3 максимальная адресуемость данных для graPHIGS-программ была 1.25 Гбайт (5 сегментов), теперь - 2 Гбайт (8 сегментов) непрерывной памяти.

Перспективы

Для серверов среднего и старшего уровней одновременно необходимы большая мощность и высокая надежность. Такие серверы должны выдержать рабочие нагрузки корпоративных коммерческих и технических приложений [3]. Удовлетворить этим требованиям должны системы на основе POWER4 и операционной системы, созданной в рамках проекта Monterey. При развитии AIX для платформ RS/6000, IA-64, IA-32 она должна вобрать в себя лучшие возможности AIX, NUMA-Q, SCO UnixWare (Рис. 4).

В проекте Monterey принимали участие 35 компаний [8], одним из результатов выполнения которого стала операционная система AIX 5L, вместе с приложениями проходящая сегодня бета-тестирование.

Об авторе

Рустем Гибадуллин и Дмитрий Казьмин - сотрудники компании HetNet. С ними можно связаться по электронной почте по адресам rustem/dkazmin@hetnet.ru.

Литература

[1] Обзор D.H.Brown Assosiates, www.dhbrown.com/dhbrown/opsysscorecard.cfm

[2] Обзор CMP Media, www.techweb.com/se/directlink.cgi?VAR19980622S0038

[3] RS/6000 Scientific and Technical Computing. Power3 Introduction and Tuning Guide, IBM ITSO SG24-5155-00, 1998, www.redbooks.ibm.com

[4] Power4 Focuses on Memory Bandwidth, Microprocessor Report, vol.13 num.13. www.chips.ibm.com/news/1999/microprocessor99.pdf

[5] AIX Version 4.3 Differences Guide, IBM ITSO SG24-2014-01, 1998

[6] IBM AIX Version 4.3, 5765-C34, IBM, 1999

[7] Tivoli Storage Management / ADSM Concepts, IBM ITSO SG24-4877-01 1999

[8] Project Monterey, www.ibm.com/servers/monterey, www.sco.com/monterey

[9] А. Быков. Системное администрирование IBM AIX Version 4.x, 1999, www.bykov.dp.ua

[10] Workload Management SP and Other RS/6000 Servers, IBM ITSC S624-5522-00, 2000


Процессор POWER4

В RS/6000 используются суперскалярные процессоры семейств Power и PowerPC и прямое сравнение процессоров по тактовой частоте с процессорами архитектуры CISC (например, Intel) неправомерно. Процессоры Power оптимизированы на исполнение команд с плавающей точкой (для научных расчетов и ?тяжелых? графических приложений), а PowerPC ориентированы на выполнение команд с фиксированной точкой (работа с базами данных).

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

POWER4 [4] содержит 170 млн. транзисторов (RS64 III/450 МГц, используемый сейчас в серверах RS/6000, содержит «всего лишь»

34 млн. транзисторов) и включает в себя два 64-разрядных суперскалярных процессора, работающих на частоте 1 ГГц. Пропускная способность доступа к разделяемому кэшу второго уровня составляет более 100 Гбайт/с, а суммарная пропускная способность доступа к памяти и другим процессорам POWER4 — более 55 Гбайт/с.

Разработчики перспективных микропроцессоров исповедуют два подхода к достижению высокой производительности. В Intel и Hewlett-Packard считают, что для этого необходим параллелизм на уровне команд (ILP — instruction-level parallelism). Усилия этих разработчиков направлены на создание нового набора команд (ISA — instruction-set architecture) и они ожидают значительный рост производительности от машин архитектуры IA-64, способных выдавать 6 и более предварительно обработанных команд за один цикл; меньшее число команд не оправдывает создания новой архитектуры.

В IBM считают, что лучшее место для параллелизма не на уровне команд, а на уровне потоков выполнения (которые иногда называют тредами) и выше. Хотя процессоры с высоким параллелизмом ILP (IA-64) могут сократить время загрузки процессора, но они не делают ничего для сокращения времени ожидания. А это более серьезная проблема. Фактически, может быть даже ухудшение быстродействия за счет накладных расходов на подсистему памяти из-за огромного числа условно-выполняемых команд, которые в конечном счете отбрасываются.

В этой связи динамическое планирование (dynamic scheduling) в POWER4, по нашему мнению, имеет некоторые преимущества над статическим планированием в IA-64. При непопаданиях в кэш динамические машины постоянно переделывают план команд, избегая, таким образом, остановок конвейера при непопаданиях в кэш. При статическом планировании трудно предсказать непопадания в кэш во время компиляции. Кроме того, компиляторы для процессоров типа IA-64 полагаются на информацию профилирования программ для предсказания и выполнения статического плана. Разработчики из IBM считают профилирование кода огромных серверных приложений непрактичным, трудным, а результаты бесполезными. Как разработчики указывают, подход Intel и HP сильно зависит от общей архитектуры машины, что на практике может ограничить эволюцию аппаратного обеспечения. По их мнению, решающим фактором производительности сервера является память, а не набор команд. Поэтому усилия IBM были направлены на проектирование законченной системы, а задача POWER4 - доставка данных к огромному числу процессоров. Ключевой элемент для выполнения этой задачи - разделяемый кэш, расположенный на этом же кристалле. Он доступен непосредственно двумя процессорами на этом кристалле и процессорами на других микропроцессорах по высокоскоростному соединению chip-to-chip. Четыре чипа POWER4 будут монтироваться в один модуль (MCM), образуя 8-процессорное SMP-устройство с суммарной пропускной способностью 40 Гбайт/с к памяти и 40 Гбайт/с при связях с другими модулями.

Кэш второго уровня емкостью 1,5 Мбайт разделен на три мультипортовых секции с независимым доступом. 100-гигабайтный коммутатор подсоединяет секции к процессорам на кристалле и вне его через порты соединения chip-to-chip. Для обеспечения когерентности кэша второго уровня используется протокол «разделяемого вмешательства» (shared intervention). Его задача — обеспечить, чтобы в нужное время в нужном кэше второго уровня были нужные данные.

Каждый чип POWER4 имеет порт кэша третьего уровня, отдельно от портов chip-to-chip. Такой порт шириной 16 байт в каждом направлении работает с отношением частот 3:1, обеспечивая скорость доступа к памяти 10 Гбайт/c. Тэги кэша третьего уровня хранятся на процессорном кристалле (processor die), поэтому действия по когерентности кэша могут происходить при скоростях встроенного кэша. Ориентировочный размер внешнего кэша третьего уровня — 32 Мбайт.

Решение об использовании 2 процессоров вызвано оптимизацией POWER4 именно для SMP-серверов; дело в том, что производительность монолитного процессора, выполняющего более 4 команд за 1 такт, не может расти линейно с увеличением числа транзисторов. Два процессора могут масштабироваться почти линейно при эффективном разделении данных и наличии нескольких независимых потоков выполнения, которые могут загрузить работой оба процессора; такая ситуация для серверных приложений является обычной. Кроме того, простой процессор будет работать с большей тактовой частотой, и его легче проектировать.


Полезные «мелочи»

Mksysb на CD-ROM. Возможность создавать резервную копию системы на записываемых компакт-дисках позволяет независимым разработчикам ПО выпускать продукты для установки под AIX на CD-ROM [6].

Отладчик ядра (kdb) обеспечивает символьную отладку для ядра AIX, расширений ядра и драйверов устройств, позволяя исследовать системный дамп.

Fast Single Instruction Patch. Новый сигнал Fast Trap позволяет генерировать прерывание для обхода отладчика. Это улучшит производительность почти на порядок по сравнению с механизмом использования сигнала текущего прерывания посредством исключения уведомлений отладчику, например, теперь не требуется переключение контекста процесса.

Documentation Library Services. В AIX 4.3.3 доступ к любой документации возможен при помощи любого Web-браузера. Новый графический интерфейс в AIX 4.3.3 предлагает доступ к электронным документам. Администратор может зарегистрировать «свои» документы и пользователи смогут получить доступ к ним.

Классы для Unicode. AIX позволяет разработать и использовать приложения в любой стране. Локализация основана на объектно-ориентированных принципах - средствами динамической конфигурации (через SMIT) можно устанавливать шрифты, раскладки клавиатуры, фильтры печати, сообщения. AIX обеспечивает классы для Unicode - библиотеки разработки приложений, которые нормально обрабатывают все языки в стандарте Unicode. Поддержка ISO8859-15 позволяет обработать данные в кодировке ISO8859-1.

Bonus Pack бесплатно поставляется вместе с AIX, включает полезные дополнительные инструменты: Ultimedia Services, Adobe Acrobat, Lotus Domino Go Webserver, Network Station Manager (NSM), Netscape Navigator & FastTrack Server и Perl 5.


Совсем не «мелочи»

High Availability Cluster Multi-Processing (HACMP). Мэйнфреймы IBM всегда обеспечивали высокие уровни доступности системы и ее служб. Пакет HACMP позволяет соединить в кластер до 32 систем RS/6000 и включает в себя графические инструменты администратора для установки, конфигурации и управления кластерами.

High Availability Geographic Cluster (HAGEO) помогает построить систему непрерывной готовности за счет географического размещения узлов, каждый из которых способен поддерживать до 4 узлов кластерных систем. На каждой системе в кластере HAGEO должны быть установлены HACMP и AIX.

ADSTAR Distributed Storage Manager (ADSM). Теперь входит в продукт сетевого управления Tivoli под названием Tivoli Storage Manager [7]. Позволяет вести централизованный или распределенный архив данных с файл-серверов и клиентских станций и сделать процесс резервного копирования заурядным событием.

Рис.3. Архитектура ADSM

ADSM-сервер реализован на 8-серверных и более 50 клиентских платформах разных поставщиков. Поддерживает более 200 типов устройств (дисковые массивы, ленточные и магнито-оптические библиотеки) и все распространенные коммуникационные протоколы. Есть возможность перекачки данных между ADSM-серверами. Компонента Hierarchical Storage Manager (HSM) выполняет автоматическую миграцию данных с дисков на ленты. Компонент восстановления после сбоев (DRM) предоставляет последовательный план восстановления данных ADSM-серверов. Инкрементное резервирование позволяет сохранять только новые и измененные файлы, что уменьшает время резервирования, сетевой трафик и использование емкости накопителей. В ADSM применена уникальная технология одновременной работы с набором лент ?tape colocation?, которая позволяет восстановить данные с минимального числа монтированных лент. Поддерживается резервное копирование, иницируемое СУБД или приложениями (DB2, Lotus Notes, Oracle, Sybase, Informix и др.). Web-интерфейс позволяет управлять сохранением и восстановлением данных через браузер. Централизованное управление, регистрация и мониторинг помогают управлять процессом хранения данных в реальном масштабе времени, отслеживать целостность ADSM-серверов, посылая сообщения по SNMP-протоколу в системы управления, подобные Tivoli, HP OpenView и CA-Unicenter.