Современные 64-разрядные мэйнфреймы IBM
Термин «мэйнфрейм» когда-то обозначал мощный универсальный компьютер, так сказать, топ-модель компьютерного мира. Затем в период стремления к децентрализации приверженцы распределенной обработки добились того, что с этим термином стали связываться некоторые отрицательные эмоции. Тогда-то классические мэйнфреймы и стали также именовать серверами. Однако сегодня, по мнению многих экспертов, наблюдается прямо противоположная тенденция — стремление к централизации. Теперь уже в мире Unix-серверов самые мощные и надежные многопроцессорные модели стали называть мэйнфреймами. В свою очередь, классические мэйнфреймы IBM (эти системы остаются монополистами, но на более узком сегменте рынка) приобрели некоторые ультрасовременные черты открытых систем. Очевидный «венец творения» IBM в этой области — компьютеры zSeries — комплектуются теперь 64-разрядными процессорами. Архитектуре серверов zSeries, называемой z-архитектурой, и посвящена эта статья.
С субъективной точки зрения автора, серверы zSeries обладают сегодня наиболее важными чертами открытых систем (на них может работать, в частности, ОС Linux), сохранив при этом все основные привлекательные свойства мэйнфреймов; особо стоит отметить возможность работать с операционной системой z/OS, наследницей знаменитой MVS. Таким образом, zSeries объединяет достоинства как открытых систем, так и мэйнфреймов и уже потому лишь обладает определенными преимуществами перед обеими альтернативными платформами.
Интерес к архитектуре zSeries несомненен. Резко возросшая привлекательность мэйнфреймов IBM способствует появлению новых категорий потенциальных пользователей. Поэтому свою статью автор попытался сориентировать сразу на две категории читателей: во-первых, на специалистов, работавших с ЕС ЭВМ или мэйнфремами IBM, и, во-вторых, на тех, кому вообще интересны подобные системы. (Полное описание z-архитектуры [1] представляет собой довольно толстую книгу, поэтому выбор наиболее важных сведений для публикации неизбежно становится субъективным.)
Общее описание z-архитектуры
Общее представление об архитектуре zSeries дает рис. 1, на котором представлены основные архитектурные блоки двухпроцессорной системы. Любой компьютер zSeries содержит оперативную память (помимо «главной», возможна комплектация расширенной оперативной памятью), один или несколько центральных процессоров, средства обеспечения работы оператора, канальную подсистему и внешние устройства. Внешние устройства подсоединяются к канальной подсистеме не напрямую, а через контроллеры; «канальных путей», подсоединяющих контроллеры к канальной подсистеме, может быть несколько.
Эта последняя особенность, наряду с возможностью подключения внешних устройств сразу к нескольким контроллерам, способствует увеличению производительности и надежности, обеспечивая мэйнфреймам преимущества по сравнению с типовыми Unix-серверами. Долгое время преимуществом мэйнфреймов считалось также наличие у канальной подсистемы независимого от центральных процессоров пути обмена данными с оперативной памятью. Сегодня широкое применение коммутаторов в современных мощных Unix-серверах позволило реализовать в них аналогичные свойства. Более подробно особенности подсистемы ввода-вывода мэйнфреймов рассмотрены, например, в [2].
Серверы zSeries могут взаимодействовать между собой через адаптеры «канал — канал», разделяемые (общие) внешние устройства и специализированные аппаратные средства построения кластеров Parallel Sysplex (конечно, здесь не идет речи о «слабых» соединениях серверов посредством компьютерных сетей).
Модели z900 с числом центральных процессоров не более 16 формально должны быть отнесены к системам симметричной многопроцессорной архитектуры (SMP — symmetrical multiprocessing). Однако реально процессоров в них может быть больше, и потому z900 стоило бы охарактеризовать как системы с асимметричной многопроцессорной архитектурой.
С точки зрения конструкции основой z900 является модуль MultiChip Module (MCM), который был представлен и в ряде предыдущих поколений мэйнфреймов IBM. В z900 модуль МСМ содержит 20 микропроцессоров, в их числе: сервисный процессор SAP (System Assist Processor), отвечающий, в частности, за управление подсистемой ввода-вывода; «связывающий» процессор ICF (Internal Coupling Processor), используемый в кластерах Sysplex; криптографические процессоры; и др. Понятно, что некоторые типы процессоров в конкретной конфигурации могут отсутствовать. Кроме того, конфигурация z900 может включать до 16 дополнительных выделенных криптографических процессоров и до 96 процессоров ввода-вывода [3].
Модуль MCM размерами 5 x 5 дюймов и содержит также микросхему часов, кэш-память второго уровня и микросхемы управления кэшем, а также «концентраторы» MBA (Memory Bus Adapter) [3]. Место адаптеров МВА в архитектуре мэйнфреймов IBM рассматривается, например, в [2].
Наконец, блок ETR (External Time Reference), применяемый в кластерных конфигурациях, служит для синхронизации часов процессоров в кластере.
Оперативная память в z900 выделяется блоками по 4 Кбайт. В иерархии памяти может быть представлен также общий для всех центральных процессоров кэш второго уровня, кэш-память процессоров ввода-вывода, а также собственная кэш-память каждого центрального процессора.
Центральные процессоры z900, как и их предшественники, начиная еще с S/360, являются представителями CISC-архитектуры. Система команд включает общие, десятичные команды, команды управления, команды для работы с плавающей запятой (распадается на три подгруппы — работающие с традиционным для мэйнфреймов шестнадцатеричным форматом, с двоичным форматом и не зависящие от формата).
Эти группы команд были представлены и в архитектуре предыдущих поколений мэйнфреймов IBM. В z900 в связи с переходом к 64-разрядной архитектуре появились модифицированные команды, работающие с 64-разрядными данными. Так, кроме команд сложения 32-разрядных целых чисел A и AR (двухадресные команды формата «регистр — память» и «регистр — регистр») появились их 64-разрядные варианты, AG и AGR соответственно.
Следует отметить, что набор команд z-архитектуры действительно чрезвычайно широк и некоторые из команд являются узко специализированными, ориентированными на специфические приложения, что существенно увеличивает производительность последних.
Z-архитектура предусматривает следующие регистры: регистр слова состояния программы PSW; регистр префикса; 64-разрядные регистры — общего назначения (GR), с плавающей запятой (FR) и управляющие регистры (CR); 32-разрядные регистры доступа (AR); регистры для компаратора часов и таймера центрального процессора. Кроме того, каждый центральный процессор имеет регистр астрономического времени TOD.
PSW используется, в частности, для обработки прерываний. Их в zSeries шесть классов: внешние, ввода-вывода, машинных ошибок, программные, обращения к супервизору и рестарта. При обработке прерываний текущее слово состояния PSW сохраняется как старое, и по фиксированному адресу оперативной памяти выбирается новое, задающее начало обработчика прерывания данного класса.
В центральных процессорах серверов zSeries имеется 16 регистров GR, причем пара смежных регистров GR может использоваться для представления 128-разрядных величин. GR используются в полях R, B, X (соответственно «регистр», «база», «индекс») команд. Регистров FR также 16, и пары смежных FR могут использоваться для представления 128-разрядных чисел с плавающей запятой.
Наконец, в z-архитектуре по 16 регистров CR и AR. При этом регистры AR1-15 применяются для доступа к адресным пространствам, включая «основное» (первичное), а AR0 всегда указывает на первичное адресное пространство. Поэтому в любой момент времени может поддерживаться работа с 16 адресными пространствами.
Адресация и память
Рис. 2. Представление адресов разного размера в GR |
Адреса в z-архитектуре являются целыми числами без знака длиной 24, 31 или 64 разряда; таким образом, архитектурно поддерживается сразу три режима адресации. Длина адреса задается битами 31 и 32 в слове состояния PSW (значения 00/01/11 отвечает 24/31/64-разнядной адресации соответственно). Работа с номерами адресных пространств ASN поддерживается только при 31-разрядной адресации [1].
Длина адреса данных в CCW (последовательности командных слов канала CCW, используются для организации операций ввода/вывода; каждой такой операции соответствует свое CCW; тем, кто не знаком с архитектурой ввода-вывода мэйнфреймов IBM или ЕС ЭВМ, для знакомства с этим механизмом можно рекомендовать статью [2] — М.К.) задается управляющим битом в блок запроса операции ввода-вывода (ORB — Operation Request Block), «назначенным» командой SSCH («запустить подканал»).
Еще со времени S/370 в мэйнфреймах IBM представлено три типа адресов [4]. Начнем с абсолютных адресов, которые относятся к нижнему уровню — фактически это адреса физических ячеек памяти. Реальные адреса совпадают с абсолютными за одним исключением: если в многопроцессорной системе значение реального адреса лежит в диапазоне от 0 до 8091, он преобразуется в абсолютный адрес на основе значения бит 0-50 префиксного регистра (размер префиксной области по сравнению с S/370 возрос многократно).
Естественно, разные центральные процессоры имеют разное значение регистра префикса. Этот механизм позволяет использовать обычную схему «управляющих» процедур, в том числе процедур обработки прерываний, не допуская конфликтов между центральными процессорами.
Тот адрес, который кодируется в программе, называется логическим адресом. Как правило, это адрес виртуальной памяти, подвергаемый динамическому преобразованию адресов (DAT — dynamic address translation). Если преобразование не применяется, логический адрес совпадает с реальным. В z-архитектуре имеется четыре режима работы и соответственно четыре типа виртуальных адресов: первичные, вторичные, задаваемые регистрами доступа AR, домашние. Эти адреса принадлежат соответствующим одноименным типам адресных пространств, а в процедурах DAT-преобразований используются соответствующие управляющие элементы адресных пространств (ASCE — address space control element).
Рис. 3. Структура виртуального адреса |
Не только адреса данных, но и адреса команд в разных режимах работы имеют различный смысл. Виртуальный адрес можно подразделить на 4 поля (см. рис. 3).
ASCE могут задавать либо одну область емкостью 2 Гбайт (если поле RX нулевое), либо до 233 областей с суммарной емкостью адресного пространства 264 байт. Если RX равно нулю, для преобразования виртуальных адресов в реальные используют всего две таблицы — таблицу сегментов и таблицу страниц. Если же значение RX отлично от нуля, требуется от одной до трех дополнительных таблиц, называемых в соответствии с полями RX — RFT, RST, RTT. В последнем случае преобразование адресов сильно усложнено; поэтому для его ускорения применяются буферы быстрой переадресации TLB.
Организация защиты памяти в серверах z900, кроме традиционной для многих компьютерных систем изоляции адресных пространств виртуальной памяти, предусматривает механизм, основанный на применении 7-разрядных ключей памяти. Такой ключ приписывается каждому 4-килобайтному блоку оперативной памяти, и включает биты управления доступом АСС (биты 0-3), бит защиты от выборки F (бит 4), бит обращения R (бит 5) и бит изменения C (бит 6).
При обращении к оперативной памяти используется также ключ защиты, который выбирается из разрядов 8-11 слова состояния PSW (если обращается центральный процессор), либо из разрядов 0-3 адресного слова канала (если обращается канал). Запись в память разрешается, только если ключ памяти соответствует ключу защиты, относящемуся к данному обращению. Соответствие имеет место, если 4 разряда этих ключей совпадают, или ключ защиты равен нулю (т.е. для привилегированных программ). Выборка разрешается, если бит F равен нулю. Данный вид защиты не используется, если ACC=9 и введен бит подавления защиты памяти.
Канальная подсистема
Не останавливаясь на основах архитектуры ввода-вывода z900, приведем краткую техническую информацию о канальной подсистеме. Как уже было сказано, для обмена данными с внешними устройствами она использует канальные пути. Канальная подсистема осуществляет, в частности, следующие функции управления путями: проверка доступности путей; выбор пути; инициация выполнения операций ввода-вывода с внешним устройством.
В z900 используются подканалы — аппаратные средства, связанные с внешним устройством, доступным для канальной подсистемы, имеющие собственную память для хранения информации о внешнем устройстве и его подсоединении к канальной подсистеме. Информация подканала становится доступной процессору при выполнении операций ввода-вывода. Максимальное число подканалов — 65536.
Внешнее устройство может подсоединяться более чем к одному контроллеру, а тот — иметь более одного канального пути к канальной подсистеме. Канальных путей, ведущих к одному внешнему устройству, может быть до 8, а общее число канальных путей — до 256.
Канальные пути могут быть параллельными (этот тип соединений использовался еще в IBM S/360, S/370 и ЕС ЭВМ) и последовательными. К параллельному пути можно подсоединять до 8 контроллеров и до 256 внешних устройств. Более современные последовательные канальные пути основаны на применении пары волоконно-оптических проводников, к которым подсоединяется коммутатор, а уже к нему — контроллеры [1, 2].
В качестве внешних устройств в z900 применяются накопители на магнитных дисках и лентах, дисплеи, печатающие устройства, коммуникационные контроллеры, процессоры телеобработки данных и др. В данном качестве может использоваться также специальная консоль оператора, с которой осуществляются «ручные» операции управления — сброс, очистка, останов, начальная программная загрузка и т.д.
Дорога длиной в 20 лет
В этом разделе приводятся некоторые данные, иллюстрирующие эволюцию архитектуры мэйнфреймов IBM за последнюю пару десятилетий. Учитывая уникальное положение z900 в современной компьютерной индустрии (никакая другая архитектура не имеет за спиной около 40 лет развития с сохранением совместимости снизу вверх), такого рода экскурс представляет самостоятельный — и не только исторический — интерес.
От S/370 к 370/XA. Данная смена архитектуры носила скорее «революционный» характер, если вообще можно использовать слово «революционный» по отношению к системам, десятилетиями обеспечивавшим постепенную смену архитектур с сохранением совместимости снизу вверх. Кроме этой смены поколений архитектур мэйнфреймов к революционным, пожалуй, следует отнести еще переход от S/360 к S/370 с введением механизма виртуальной памяти, а также переход к z-архитектуре.
В 370/XA появилось два режима адресации: старая 24-разрядная адресация позволяла работать с оперативной памятью емкостью до 16 Мбайт, а новая 31-разрядная адресация — до 2 Гбайт. Защита памяти на базе ключей памяти стала отныне работать для блоков памяти удвоенного размера — 4 Кбайт. В 370/ХА были добавлены также новые команды (например, для увеличения производительности сортировки), усовершенствованы средства поддержки виртуальных машин и др.
Конечно, 2 Гбайт сегодня выглядят уже как-то не очень впечатляющими, однако стоит отметить три важных момента. Во-первых, основная операционная система IBM, MVS, — это не Unix, и уж тем более не Windows и расходование памяти в ней организовано гораздо более эффективно. Во-вторых, то же самое можно сказать и о «прикладных» компонентах MVS, предлагаемых IBM (например, мониторы транзакций CICS, IMS; компиляторы, утилиты сортировки и т.д.). В Unix, например, вообще нельзя построить загрузочные модули с перекрытием (overlay). Наконец, сама система команд (CISC, все-таки!) способствует уменьшению размера кода.
В части подсистемы ввода-вывода в 370/ХА также были внесены весьма существенные расширения. Появилась независимая от пути адресация устройств; был разрешен запуск операций ввода-вывода независимо от того, какой центральный процессор выполняет команду ввода-вывода, или как внешнее устройство подсоединено к каналам. Любое прерывание ввода-вывода стало можно обрабатывать любому центральному процессору.
Появились средства управления путями: канальная подсистема анализирует, какие пути доступны для выбора, выбирает путь и определяет состояние занятости при попытках запуска ввода-вывода. В процессе выполнения последовательности CCW допускается переподсоединение к любому канальному пути, к которому внешнее устройство имеет доступ. Соответственно вместо команды SIO («запустить ввод-вывод») можно использовать более динамичную SSCH («запустить подканал»), да и в целом можно сказать, что в 370/ХА ввод-вывод стал динамичнее. Благодаря этому возрасла не только производительность, но и надежность канальной подсистемы.
Всего было добавлено 13 новых команд ввода-вывода. Кроме того, в связи с введением 31-разрядной адресации у CCW появился так называемый формат 1 (старый формат CCW для 24-разрядных адресов стал именоваться форматом 0).
От 370/ХА к ESA/370. По мнению автора, главное изменение в ESA/370 было связано с появлением 16 регистров доступа AR, что позволило программе получить непосредственный доступ к операндам, расположенным сразу в 16 адресных пространствах (включая «родное») размером 2 Гбайт каждое. Представляется, этот хитрый трюк был придуман инженерами IBM, для того чтобы малой кровью побороть проблему ограниченной емкости оперативной памяти/адресных пространств. Изменяя содержимое AR, можно обеспечить доступ к большому числу адресных пространств данных.
Появился новый механизм передачи управления между программами, находящимися в одном и том же или в разных адресных пространствах, — стек связи (linkage stack), для работы с которым в ESA/370 использовались новые команды.
Был введен новый режим DAT-преобразования — домашнего адресного пространства, содержавшего основные управляющие блоки. Он предоставил управляющей программе эффективные средства получения контроля над этим адресным пространством, которое не обязано теперь было иметь общие сегменты, а потому защиту страниц и младших адресов памяти можно не применять. Это, очевидно, привело к более эффективному использованию адресного пространства.
Из других нововведений стоит отметить (непривилегированную!) команду пересылки страниц между оперативной и расширенной памятью; специализированную команду работы со строками, обеспечивающую повышение производительности в процедурах сжатия данных; применение режима разбиения системы на логические разделы LPAR [5] и средств PR/SM, повышающих эффективность работы гостевых операционных систем в VM/XA.
От ESA/370 к ESA/390. Архитектура ESA/390 была анонсирована в сентябре 1990 года, однако многие ее компоненты появлялись в течение всех 90-х годов. Поэтому ниже автор иногда приводит год появления этих относительно «свежих» архитектурных идей. Все это представляет интерес и с практической точки зрения, поскольку в России достаточно популярным остается применение мэйнфреймов second hand. Некоторые сведения о моделях мэйнфреймов архитектуры ESA/390, выпускавшихся в конце 90-х, можно найти в [6].
Изменений в ESA/390 было внесено очень много, и среди них трудно выделить самые важные. По мнению автора, в первую очередь следует отметить активное применение волоконно-оптических каналов (ESCON, а позднее FICON), новые механизмы защиты памяти и поддержка стандарта IEEE 754 на представление чисел с плавающей запятой.
В ESA/390 появился еще один механизм защиты памяти, базировавшийся на списках доступа, которые используются при записи в оперативную память (при ссылке на адресное пространство происходит проверка бита в соответствующей строке списка доступа). В 1991 году появилась также новая форма защиты памяти подсистем, которая включается битом в управляющем регистре — «перекрытие защиты памяти». Если подсистема имеет ключ 8, а прикладная программа — ключ 9, то доступ подсистемы к областям памяти прикладной программы разрешен, а прикладной программы к памяти подсистемы — запрещен.
Тогда же в ESA/390 были усовершенствованы возможности пересылки страниц между оперативной и расширенной памятью, появившиеся в ESA/370. Однако в z-архитектуре подобные пересылки страниц не поддерживаются.
В 1994 году в ESA/390 была добавлена специальная команда перехода для работы с группами подпространств полезная, в частности, при работе CICS с прикладными программами. В 1997 году появилась еще одна новая команда, повышающая производительность организации связей между адресными пространствами. В том же году добавлена команда Perform Locked Operation, предотвращающая необходимость использования программируемых замков в многопроцессорных системах. В 1998 году добавлена команда Resume Program, предназначенная для эффективной организации возврата, обеспечивающая восстановление ряда полей слова состояния PSW и содержимого нужных регистров GR и AR.
Стоит отметить также еще ряд добавленных в ESA/390 команд: вычисление квадратного корня (эта возможность ранее уже была реализована в IBM 4381, довольно популярных в свое время и в России); новая команда сравнения строк, которую активно стал использовать СИ-компилятор (1991 год); 13 новых команд, использующих непосредственные (кодируемые в команде) операнды длиной в полуслово (1996 год) — эти команды используются для организации «относительных» переходов и в двоичной арифметике со знаком, и их применение позволяет уменьшить потребности в GR, в частности, устраняет необходимость в применении GR для указания адреса перехода; команда CHECKSUM (1996 год) для подсчета разрядной контрольной суммы, удобная при работе со стеком протоколов TCP/IP; команды для преобразования из одной кодировки в другую (1999 год), в том числе, из Unicode в UTF8 и обратно; команда Translate Extended, являющаяся «развитием» известной еще со времен ЕС ЭВМ команды TS.
Сразу три функции ESA/390 были предназначены для эффективного преодоления ситуаций типа проблемы 2000 года. Одна из них была добавлена в 1998 году специально для решения этой проблемы; она позволяет во время выполнения «заменять» отдельные команды прикладной программы другими командами. Вторая связана с расширением TOD-часов с 64 до 104 бит с одновременным увеличением разрешения. Для кластеров Sysplex стал использоваться программируемый TOD-регистр. Кроме того, добавлена команда «расширенная запись показаний часов» для решения проблемы 2042 года, когда в TOD-часах изменится бит 0 [1].
Большие усовершенствования были проделаны в области обработки данных с плавающей запятой. Используемое еще со времен S/360 шестнадцатеричное представление чисел с плавающей запятой [4] — с шестнадцатеричной мантиссой и характеристикой (HFР) — в ESA/390 дополнено двоичным представлением BFP, удовлетворяющим стандарту IEEE 754. Это представление определяет 3 формата данных — короткий, длинный и расширенный, и 87 новых команд для работы с ними.
BFP появилось в ESA/390 относительно недавно, в 1998 году. Одновременно было введено 12 дополнительных регистров FR (общее число FR достигло 16). Кроме того, в архитектуре появился управляющий регистр с плавающей запятой и средства сохранения содержания регистров при операции записи состояния. Добавлено еще 8 новых команд, не связанных однозначно с тем или иным представлением данных с плавающей запятой, в том числе 4 — для преобразования между форматами HFP и BFP.
Для работы с HFP-данными появилось 26 новых команд, являющихся аналогами соответствующих BFP-команд. Эти новые команды включают, в частности, преобразования между форматами чисел с фиксированной и с плавающей запятой и новые операции с расширенной точностью.
Целый ряд усовершенствований был введен в подсистему ввода/вывода. Прежде всего появились последовательные ESCON-каналы, осуществляющие передачу данных по оптоволоконным кабелям со скоростью 200 Мбит/с на расстояниях до 60 км. В 1991 году была реализована возможность прервать ожидающие выполнения операции ввода/вывода, выдав команду Cancel Subchannel (при этом сигнал от внешнего устройства не требуется). Эта особенность полезна в процедурах восстановления от ошибок ввода/вывода.
Не будем перечислять другие усовершенствования архитектуры ввода/вывода, и завершим обзор ESA/390 группой функций, касающихся дальнейшего повышения надежности мэйнфреймов. Прежде всего, это автоматическая реконфигурация операционной системы в LPAR-разделе с перераспределением рабочей нагрузки. Отказавший центральный процессор может сохранить свое состояние и известить о сбое другой процессор; во многих случаях тот оказывается в состоянии продолжить выполнявшуюся первым работу (введено в 1991 году).
В ESA/390 появилась возможность разделения ESCON и FICON-каналов и подсоединенных к ним контроллеров и внешних устройств между несколькими логическими разделами. В режиме LPAR стало возможным поддерживать до 10 логических разделов (и до 20 разделов — в физически разделяемых конфигурациях мэйнфреймов). Любопытно, что физическое разделение в z-архитектуре не поддерживается, но зато число LPAR-разделов увеличено до 15.
В 1993 году в ESA/390 появилась уникальная особенность — аппаратная поддержка сжатия данных по алгоритму Зива-Лемпела. Соответствующая команда центрального процессора представлена и в z-архитектуре. Еще одна столь же уникальная особенность — наличие аппаратных криптографических средств ICF (Integrated Cryptographic Facility); в системе команд реализован ряд команд для идентификации и шифрования данных, согласованных со стандартом DES. Эти возможности очень полезны при обработке финансовых транзакций и при шифровании больших объемов данных.
Наконец, в ESA/390 впервые появилась аппаратура ETR (External Time Reference), которая используется для высокоточной (до нескольких мкс) синхронизации часов в кластерах Sysplex.
От ESA/390 к z-архитектуре. Этот переход также обеспечивает совместимость снизу вверх за минимальными исключениями, самым существенным из которых можно считать отказ от поддержки векторных операций ESA/390.
Основные расширения в z-архитектуре связаны с переходом к 64-разрядным адресам команд и данных и 64-разрядным регистрам GR и CR. Естественно, появилось много команд, обеспечивающих работу с 64-разрядным представлением данных. Слово состояния PSW также расширено — до 16 байт, в нем выделено поле, указывающее на работу в 64-разрядном режиме. Соответственно модифицированы процедуры динамического преобразования адресов. Для переключения между режимами ESA/390 и z-архитектуры может использоваться команда SIGP (начальная загрузка всегда происходит в режиме ESA/390). Новая команда Set Address Mode позволяет установить режим 24-, 31- или 64-разрядной адресации.
Приведем и несколько примеров расширений z-архитектуры для прикладных программистов: новые команды для преобразования 64-разрядных целых со знаком в формат BFP или HFP, команды pack/unpack для кодировок unicode и ascii и т.д.
Кардинальное перевооружение
Современные мэйнфреймы IBM уже не являются «универсальными» компьютерами, как это было, скажем, четверть века назад. Они однозначно ориентированы на экономические (в противоположность научно-техническим) приложения, требующие как высокой производительности, так и исключительной надежности. Так, по мнению [3], мэйнфреймы являются лучшей платформой для задач электронного бизнеса.
Большое преимущество z900, с точки зрения автора, связано с программным обеспечением. z/OS содержит великолепные средства управления системой, являющиеся дальнейшим развитием знаменитого планировщика промежуточного уровня SRM, имевшегося еще в MVS, т.е. почти 20 лет назад. Эти средства, в частности Intelligent Resource Director, позволяют непрерывно и автоматически, без вмешательства операторов, перераспределять ресурсы между приложениями и пользователями, основываясь на бизнес-приоритетах. По данным [3], это позволяет достигнуть практически 100-процентного использования ресурсов z900, в то время как у других платформ этот показатель не превышает 50%. Кроме того, эти средства эффективны при работе с приложениями электронного бизнеса, для которых характерно быстрое изменение рабочей нагрузки в очень большом диапазоне (поэтому скорее «статичные» тесты TPC-C и оказываются в данном случае неадекватными). Можно сказать, что аналогичных средств столь высокого уровня у конкурентов IBM нет.
Еще одно преимущество мэйнфреймам z900 дает их высокая надежность. Исключительные показатели мэйнфреймов в этом аспекте — как в отношении аппаратных средств, так и в отношении операционной системы — общеизвестны. Автор, многие годы работавший с ЕС ЭВМ и мэйнфреймами IBM, пришел в ужас, впервые увидав реакцию ОС Unix на сбой одного из центральных процессоров в 6-процессорной системе. Этой реакцией было выполнение команды shutdown; в MVS эту ситуацию удалось бы обойти.
Кластеры Parallel Sysplex (они могут содержать суммарно до 640 центральных процессоров) с динамическим распределением ресурсов способны действительно обеспечить непрерывную готовность. Средний промежуток времени между сбоями (MTBF) для мэйнфреймов z900 составляет около 30 лет [3].
Даже если за z900 придется заплатить больше, чем за какую-либо компьютерную систему, то за это можно получить вполне определенные преимущества, которые могут быть весьма весомыми. С появлением z900 IBM закончила некоторый переходный период, обеспечив кардинальное «перевооружение» как аппаратной части (переход к 64-разрядной архитектуре), так и программного обеспечения, приобретшего черты современных открытых систем и работоспособность современных приложений в дополнение к традиционному программному обеспечению мэйнфреймов.
Литература
[1] zSeries. Principles of Operation, IBM
[2] М. Кузьминский. Эволюция подсистемы ввода-вывода мэйнфреймов IBM. «Открытые системы», 1999, № 1
[3] F. Bothwell, Enagling Technology Group, http://www.etginc.com/ whitepap/z900s_final2.pdf
[4] Принципы работы системы IBM/370, пер. с англ. под ред. Л.Д. Райкова/. М.: Мир, 1975
[5] М. Кузьминский. Доменная архитектура многопроцессорных компьютеров. «Открытые системы», 2000, № 10
[6] М. Кузьминский. 1998. g4-g5! «Computerworld Россия», 1998, № 22