Михаил Кузьминский,
Институт Органической Химии им. Зелинского PAH
kus@free.net

Эволюция мэйнфреймов UNISYS
Системы A2800
Архитектура А2800
Конфигурации и производительность
Заключение
Литература

Интерес к современным мэйнфреймам обусловливается двумя основными причинами. Во-первых, это место и значение мэйнфреймов как таковых. Известно, что с переходом к распределенным вычислениям и технологии клиент-сервер ведущие позиции мэйнфреймов были подорваны, и даже предсказывалось их вытеснение с рынка средств вычислительной техники. Выяснилось, однако, что распределенная обработка информации не дешевле, как это предполагалось, а дороже централизованной. Это связано, в частности, с большими затратами на обслуживание распределенных систем. С другой стороны, переход к идеологии клиент-сервер является сложным процессом, и далеко не все фирмы-потребители смогли с ним справиться. Другим фактором, укрепляющим позиции мэйнфреймов, является технологический прогресс. Переход на КМОП-технологию, который характерен как для UNISYS, так и для других фирм-производителей мэйнфреймов вызвал резкое удешевление этих компьютеров. Одновременно резко снизились их требования к площадям, системам электропитания и охлаждения. В результате многие мэйнфреймы могут работать в оффисном окружении. А ведь именно дороговизна мэйнфреймов и большие затраты на поддержку их системы жизнеобеспечения были основным объектом критики. Если еще учесть, что необходимо поддерживать большое количества работающих на мэйнфреймах приложений, то понятно, почему позиции мэйнфреймов на рынке средств вычислительной техники существенно стабилизировались.

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

Эволюция мэйнфреймов UNISYS

За последний год фирмой UNISYS было предложено сразу несколько новых семейств компьютеров класса мэйнфрейм. Полезно проследить, как происходила эволюция мэйнфреймов этой фирмы (рис.1). Отметим, что на рисунке не представлены близкие компьютерные системы UNISYS: ClearPath SMP [3] и многопроцессорные серверы OPUS [4].

Picture 1

Рисунок 1.
Генеалогическое древо современных мэйнфреймов UNISYS.

До середины 80-х годов в списке крупнейших производителей мэйнфреймов в мире были фирмы Sperry Univac и Burroughs. Первая известна, в частности, своими мэйнфреймами UNIVAC 1108 и 1110 [5], которые широко использовались в университетах и государственных организациях. Мэйнфреймы Burroughs от B5000 до B78xx [6] широко применялись в коммерческих, в частности, банковских, приложениях. Фирма выпускала и совместимые с ними миникомпьютеры, которые также использовались в нашей стране. Burroughs вообще отличалась своими разработками в области компьютерных архитектур, в частности, суперЭВМ Illiac IV и BSP. Мэйнфреймы Burroughs обладали архитектурой, существенно отличающейся от всех других - можно сказать, что в нее была заложена аппаратная поддержка языка высокого уровня Algol. В этих компьютерах применялась система команд со стековой организацией памяти, естественной для представления обратной польской записи. Другой принципиальной особенностью архитектуры является использование тегов в памяти, указывающих на тип хранимой информации. Наконец, широко применялись дескрипторы, которые явились расширением обычных ссылок, поскольку содержали дополнительную информацию - тип данных, на которые указывает ссылка.

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

После слияния Sperry Univac и Burroughs объединенная UNISYS продолжила поддерживать обе линии мэйнфреймов с сохранением совместимости снизу вверх в каждой. Это является ярким свидетельством непреложного закона развития мэйнфреймов - сохранения работоспособности разработанного ранее программного обеспечения.

К сожалению, данные по использованию в нашей стране ЭВМ "линии UNIVAC" оказались недоступны, поэтому ограничимся только "линией Burroughs", подробную информацию об архитектуре систем которой можно найти в работе [6]. В связи с распространением мультимедийных приложений и новых сетевых технологий снова стали высказываться предложения о более тесной увязке с ними системы команд новых компьютеров. Насколько известно, мэйнфреймы Burroughs/UNISYS оказались единственной в мире широко распространенной платформой с аппаратной поддержкой языка высокого уровня (Algol), так что на этот опыт следует обратить особое внимание.

Системы A2800

Общей установкой в развитии линии Burroughs было обеспечение совместимости программного обеспечения при переходе на новые модели. В связи с этим можно сказать, что доступная программисту своеобразная виртуальная машина сохранила свои "алголоподобные" черты. К виртуальной машине можно отнести также среду, создаваемую ОС MCP ("Главная Управляющая программа"), все последние поколения которой именуются MCP/AS. Но вот способы реализации этой виртуальной машины претерпели существенные изменения. Чисто аппаратная реализация, имевшаяся в некоторых компьютерах от Burroughs, эволюционировала в сторону частичной микропрограммной поддержки, и, в последних моделях серии A2000, - программной эмуляции. Естественно, что в мощных моделях более простые операции, определяющие производительность, реализуются аппаратно.

В нашей стране некоторыми банками используются мэйнфреймы UNISYS серий A14, A18, а в апреле компания объявила о новой серии A2000, сменившей модели А14-А19. В эту серию входят 3 семейства моделей. В младших А2100 используются материнские платы UNISYS на базе микропроцессоров Intel Pentium или Pentium Pro и шины PCI. Окружение MCP/AS создается путем программной эмуляции. Такие системы дешевы и имеют хорошее соотношение цена/производительность. Их целесообразно использовать для разработки программного обеспечения в этой среде. В моделях среднего класса А2400 используется КМОП-технология, а процессор реализован в виде одного чипа. Эти системы имеют конструктив в виде стойки и работают в оффисных условиях. Имеются одно- и двух-процессорные конфигурации с возможностями разделения всей системы на 2 домена и построения кластерных конфигураций. Оперативная память (ОП) расширяется до 1.54 Гбайт, а подсистема ввода-вывода поддерживает как шины SCSI, так и традиционные для UNISYS каналы MLI (Message Level Interface). Последние являются интеллектуальными подсистемами, к которым могут подсоединяться контроллеры внешних устройств разных типов. Мы не будем подробнее анализировать компьютеры A2400, а перейдем к рассмотрению архитектуры мэйнфреймов А2800, представляющей сегодня наибольший интерес.

Архитектура А2800

Компьютеры А2800 построены с использованием 0.5 мкм КМОП-технологии. При этом по производительности А2800 в 1.5 раза превосходит A18 и примерно равен компьютеру А19. Отметим, что КМОП- процессоры IBM достигли по производительности свои ECL-системы только спустя примерно полгода после UNISYS.

А2800 являются старшими, самыми мощными моделями семейства A2000 и представляют собой многопроцессорные системы, ряд моделей которых поддерживает возможности образования доменов. Впервые "домены" появились в мэйнфреймах фирмы Amdahl. Тогда остро стоял вопрос о повышении эффективности работы гостевых ОС (в первую очередь, MVS) под управлением операционной системы VM. Amdahl предложила механизм типа квантования времени, при котором на одной ЭВМ "попеременно" работали разные операционные системы, разделяющие ресурсы процессоров, но имеющие свои собственные ресурсы, например, диски.

Затем доменная организация была развита фирмой IBM и сейчас она используется в мэйнфреймах различных фирм-производителей, в частности, UNISYS. Основная цель доменов - это реконфигурация находящейся, например, в одном шкафу многопроцессорной системы с получением фактически нескольких независимых машин, которые функционируют, вообще говоря, каждая со своей операционной системой. Такая организация позволяет строить, используя терминологию работы [7], системы непрерывной готовности, поскольку это обеспечивает возможность любой аппаратной реконфигурации одного из доменов, или даже отключения на нем электропитания, в то время как другие домены продолжают обработку информации. Доменная организация позволяет безболезненно переходить на новые версии ОС, при этом соответствующие работы проводятся на одном домене при сохранении промышленной эксплуатации другими - в "нормальном" состоянии весь компьютер в целом функционирует как единая мультипроцессорная система. Например, 6-процессорная система в промышленной эксплуатации использует все процессоры для решения задач пользователей. При выходе из строя какого-либо из процессоров она продолжает выполнение задач, динамически переконфигурировав систему, выведя процессор в автономное состояние. Для проведения же работ по инсталляции новой версии ОС компьютер может быть реконфигурирован в два трехпроцессорных домена, на одном из которых продолжится выполнение вычислительного процесса. Насколько известно, такой подход, пока не нашел применения в мире SMP-серверов.

Схема архитектуры 6-процессорной двухдоменной системы A2800 на макроуровне приведена на рис.2.

Picture 2

Рисунок 2.
Макросхема двухдоменной системы А2800.

Основными структурными единицами являются: 1) Процессорные модули (PM), по 3 на каждый домен; 2) Модули памяти (MSU) - также по 3 на домен; 3) Модули ввода-вывода IOM, по одному на домен. Работой двух доменов, имеющих собственные блоки питания управляет общий системный процессор консоли (SCP).

Процессорный модуль PM

В состав PM, реализованного в виде отдельной платы, входят 3 основных чипа: процессор инструкций IP и 2 чипа кэш-памяти второго уровня SLC. Основная задача IP (рис.3) - обеспечение возможностей выполнения OC MCP/AS. Еще со времен компьютеров Burroughs разработчики предпочитают использовать термин "оператор" вместо "команда", что напоминает о приближенности набора команд к языку высокого уровня. Поэтому здесь также применяется термин оператор.

Picture 3

Рисунок 3.
Процессор инструкций.

В A2800 аппаратно реализованы только операторы, существенно влияющие на производительность. Для выполнения других операторов и обработки всех прерываний используется эмуляция. Командное устройство (Code Unit, CU) сохраняет коды операций и относящиеся к ним данные в кэше команд. "Существенные" операторы декодируются и объединяются в группы до четырех операторов.

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

Устройство преобразования адресов ACU конвертирует полученные из DCU ссылки в абсолютные адреса. Специальная ассоциативная память ASDAM служит для оптимизации повторных ссылок на ту же страницу памяти.

Устройство памяти MU получает адреса от ACU, доставляет необходимую информацию в специализированный блок (EU, DCU или ACU), или загружает адрес в список записи SAL (Store Address List) для последующей записи из EU. Когда EU передает в MU слово данных, MU модифицирует кэш данных и направляет в SLC.

Блок EU исполняет те простые арифметические операторы, которые не были завершены в DCU, а также все более сложные вычислительные операторы. EU также снабжает MU данными для операций записи.

По сравнению со своими предшественниками в структуре IP системы А2800 появилось много усовершенствований: 1) по сравнению с А16/А18 некоторые функциональные блоки IP выполняют "больше работы" за один такт; 2) с целью поднятия тактовой частоты работы конвейеров, некоторые функции, выполнявшиеся за 1 шаг в A16/A18, исполняются за 2 шага; 3) для ускорения возврата из вызванных подпрограмм оптимизировано выполнение оператора Exit; 4) в А2800 появились новые функциональные блоки (рис. 3) - ассоциативная память связанных адресов (Address Couple Associative Memory, ACAM), в которой кэшируются данные при одновременных запросах в память, и ассоциативная память ASDAM; 5) в А16/А18 применялась общая кэш-память первого уровня, в то время как в А2800, как и в более мощных А17/А19, кэш-память команд и данных разделена; 6) в устройство кодов CU А2800 добавлена специальная память прерываний для выталкивания назад из стека к точке возврата; 7) увеличенная производительность A2800 на операциях с плавающей запятой позволила отказаться от применения векторного функционального устройства, имевшегося в А16/А18. Все эти усовершенствования соответствуют общей современной тенденции вытеснения парадигмы векторных вычислений подходом, базирующемся на использовании большой кэш-памяти и распараллеливания. В целом можно сказать, что было достигнуто уменьшение взаимозависимости между различными функциональными устройствами, что способствует предотвращению конфликтов с ожиданием одним устройством завершения работы другого.

Кэш-память второго уровня SLC

Блок вторичной кэш-памяти А2800 имеет довольно сложное строение (рис. 4). SLC реализована в виде двух микросхем и собственно памяти SRAM емкостью 1.536 Мбайт и работает в режиме обратной записи.

Picture 4

Рисунок 4.
Блок вторичной кэш-памяти А2800.

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

SLC включает 3 главных блока: контроллер кэша, контроллер памяти и контроллер дублирующих тегов. Контроллер кэша содержит SAL, список выборки FL и очередь данных DQ. Он получает запросы от PM, поддерживает RAM данных и тега, и обменивается данными и сообщениями с контроллером памяти. Контроллер памяти поддерживает список выборки из памяти (MFL), очередь адресов записи (Store Address Queue, SAQ), таблицы прямого и обратного преобразования адресов FAT/RAT и очередь возврата RETQ. Наконец, контроллер дублирующих тегов содержит копию тегов команд и данных из PM, что обеспечивает согласованность с кэш-памятью PM.

Подсистема памяти

Подсистема памяти в А2800 может содержать от 1 до 3 плат MSU в каждом домене. Каждая MSU имеет емкость до 384 Мбайт или до 1152 Мбайт на домен. Итого A2800 может комплектоваться от 96 до 2304 Мбайт оперативной памяти, в которой использована 16-мбитная DRAM-технология, при этом без снижения производительности детектируются и автоматически корректируются ряд типов ошибок. Емкость памяти А2800 соответствует современным компьютерным системам масштаба предприятия, хотя наиболее мощные RISC- серверы SMP-архитектуры, ориентированные на сверхбольшие базы данных, могут иметь в несколько раз более высокую емкость ОП. Следует отметить, однако, что при работе с ОС UNIX, обычно используемой в SMP-серверах, особенно в 64-разрядных версиях UNIX, как сама ОС, так и работающие приложения предъявляют обычно гораздо более высокие требования к памяти по сравнению с традиционными ОС мэйнфреймов.

Подсистема ввода-вывода

Как и все "классические" мэйнфреймы, А2800 имеет высокопроизводительную подсистему ввода-вывода. Ее эффективность базируется на применении интеллектуальных процессоров ввода-вывода (каналов), работающих параллельно, независимо от центрального процессора, и на отказе от идеологии общей шины. Последняя часто становится узким местом в архитектуре SMP-серверов, лимитирующим их пропускную способность. Подсистема ввода-вывода в А2800, как и в А14-А19, выполняет ряд функций, не имеющих аналогов в современных компьютерных системах, за исключением, быть может, некоторых суперЭВМ. Поэтому на нее следует обратить особое внимание.

На макроуровне подсистема ввода-вывода состоит из модулей IOM. Каждый домен имеет по одному блоку IOM, которых в А2800 существует 2 варианта. Модуль IOM5 аналогичен используемому в компьютерах А18/А19 и построен с применением ECL-технологии. IOM7, последняя разработка UNISYS, базируется на КМОП-технологии и имеет близкую архитектуру с IOM5. Для конкретности на рис.5 приведена схема IOM7.

Picture 5

Рисунок 5.
Схема IOM7.

Любой IOM имеет 5 типов блоков: одно устройство интерфейса с памятью (MIU); одно процессорное устройство управления задачами (TCU); устройства передачи данных DTU (одно в IOM7 и два - в IOM5); процессорные устройства ввода-вывода (одно в IOM7 и два - в IOM5); и, наконец, устройства менеджеров каналов CMU - их может быть до 6 в IOM4 и до 8 в IOM7.

Блок MIU реализует интерфейс блоков IOM с подсистемой памяти. Блок TCU - это специализированный процессор, ответственный за реализацию механизмов обработки событий и планирования. TCU позволяет разгрузить PM от выполнения этих задач - его функции тесно связаны с задачами, присущими ОС. Это - уникальная особенность рассматриваемых систем. Предельным выражением такого подхода является полное освобождение процессора от выполнения функций ОС. Это имело место, в частности, в мэйнфреймах фирмы Control Data.

Блок DTU отвечает за кэширование данных на дисках в ОП. В IOM5, где этих блока 2, они могут работать одновременно. Блок IOU отвечает за "логику" запуска и завершения операций ввода-вывода и поддерживает структуры очередей к устройствам, располагаемые в памяти. В IOM5 2 одновременно работающих блока IOU.

Блоки CMU ответственны за поддержание интерфейса между IOM и различными каналами ввода-вывода - MLI, SCSI и др. Соответствующие каналы поддерживаются аппаратурой канальных адаптеров (CA), которых может быть до 8 на каждый CMU. Они передают данные в шину CSBus III (CSBus II - для IOM5) блока CMU и реализованы на отдельных платах.

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

Разнообразие палитры внешних устройств определяется канальными адаптерами - кроме традиционно используемых в мэйнфреймах UNISYS, планируются поставки для F&W SCSI-2, Fibre Channel и АТМ.

Подсистема поддержки

Кроме консольного процессора SCP, в состав подсистемы поддержки входят модули доступа к состоянию (State Access Module, SAM) - по одному на каждый домен (рис.2). Он отвечает за связь остальных функциональных модулей А2800 и SCP, который выполняет традиционные для подсистем поддержки функции: конфигурирование системы, выполнение диагностических тестов, мониторинг характеристик среды - уровней напряжения и температуры, протоколирование сообщений об ошибках, поддержание удаленной диагностики. SCP базируется на микропроцессоре Intel Pentium, а в его конфигурацию входят 32 Мбайт оперативной памяти, 1 Гбайт жесткий диск, 3.5-дюймовый накопитель на гибких дисках, лента QIC, CDROM, дисплей SVGA, клавиатура и мышь. SCP монтируется в стойку и допускает подключение X-терминалов и принтеров. Возможны конфигурации с дополнительным, избыточным SCP. В результате видно, что SCP представляет собой управляющую машину, которая может использоваться исключительно для выполнения инженерных функций по обслуживанию A2800.

Конфигурации и производительность

Обозначение модели A2800-ijk включает в себя уровень производительности i (от 2 до 7), число IP (j, от 1 до 6), и число блоков IOM k, равное 1 или 2 (Таблица 1). Все модели с двумя блоками IOM поддерживают двухдоменную организацию.

Модели А2800
Число IP
Емкость ОП, Мбайт
Число каналов ввода-вывода
Число SCP
Платы IOM5
Платы IOM7
211-711
1
96-1152
до 48
3-64
1
221-721
2
192-1152
до 48
3-64
1
222-722
2
192-2304
до 96
6-128
1-2
731
3
288-1152
до 48
3-64
1
732
3
288-2304
до 96
6-128
1-2
742
4
384-2304
до 96
6-128
1-2
752
5
480-2304
до 96
6-128
1-2
762
6
576-2304
до 96
6-128
1-2

Таблица 1. Конфигурации А2800.

Согласно первоначальным оценкам, один модуль типа IOM7 может выполнять до 4000 операций ввода-вывода в секунду, а двухдоменные системы с двумя IOM7 - до 7400 операций ввода-вывода. Компания UNISYS анонсировала также возможности увеличения производительности IOM7 почти вдвое, до 15000 операций ввода-вывода в сек для дуальной системы. К сожалению, информация о пропускной способности, выраженной в более понятных единицах Мбайт/с, в литературе отсутствует.

Более важной для пользователя является интегральная оценка производительности, а с учетом ориентации А2800 на обработку транзакций более значимыми для нее следует считать тесты TPC. 6-процессорная А2800-762 имеет производительность 7862 tpmc. таким образом, старшие модели А2800 по-прежнему превосходят SMP-серверы на платформе Intel, например ClearPath SMP от UNISYS. Наиболее выигрышным с точки зрения производительности будет применение A2800 для больших транзакций с пакетной обработкой или при смешанной пакетной и диалоговой обработке. К сожалению, отсутствие стандартных тестов в этой области делает невозможным прямое сопоставление с компьютерами другой архитектуры.

Заключение

Несмотря на стабилизацию позиций мэйнфреймов, наблюдавшуюся в последние два года, не вызывает сомнения тенденция все большей их ориентации на стандарты открытых систем. Ярким примером этому является ОС OS/390 Release 2 фирмы IBM, в которой поддерживаются многие стандарты UNIX, в частности, XPG4. Сегодня мы стали свидетелями нового архитектурного явления - появления гетерогенных мультипроцессорных (HMP) систем. Первые такие системы были предложены IBM, которая создала плату с микропроцессором, выполняющим систему команд процессора S/390. Эта плата вставляется в слот шины MicroChannel сервера, использующего процессор Intel Pentium и работающего под управлением OS/2, а функции ввода-вывода S/390 эмулируются [8]. Недавно IBM анонсировала аналогичные компьютеры на базе рабочих станций RS/6000. Ясно, что такие системы не предназначены для замены больших мэйнфреймов.

Фирма UNISYS пошла по этому пути дальше: аналогичной интеграции подверглись большие мэйнфреймы - были предложены две линии компьютеров ClearPath HMP - IX, интегрирующие UNIX/Windows NT/OPUS c окружением OS2200 и NX, интегрирующие те же платформы со средой MCP/AS (Таблица 2). В группе мэйнфреймов, использующих микропроцессоры Pentium c тактовой частотой 133 МГц, до 4 на серверный модуль имеется две двухдоменные модели. Таким образом, UNISYS предложила аппаратно-программную интеграцию в рамках единой вычислительной системы мощных мэйнфреймов и серверов на платформе Intel. "Половинки" компьютера соединяются через шину CSBUS. Кроме того, коммутирующий хаб объединяет эти компоненты доменов и SCP. Интересно, что старшая модель NX4802 имеет производительность 8013 tpmc, что выше, чем в F2800.

Модель
Число доменов
Число IP
Число каналов
Размер ОП, Мбайт
Число процессоров Pentium
NX 4600
1
1-2
1-24
96-1545
1-4
2
2
2-48
192-1545
2-8
NX 4800
1
1-3
2-64
96-1150
1-4
2
2-6
3-128
192-2300
2-8

Таблица 2. Конфигурации ClearPath HMP NX.

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


Литература

[1] М. Кузьминский, ComputerWorld Россия, # 20, 1996.

[2] J. Hoskins, "IBM/ES 9000. A business perspective" 2nd Ed., N.Y., 1996.

[3] М. Кузьминский, ComputerWorld Россия, # 34, 1996.

[4] Н. Уэйнберг, Computer World Россия, # 7, 1995.

[5] Мультипроцессорные системы и параллельные вычисления, под ред. Ф.Г.Энслоу, М., Мир, 1976.

[6] Л.Н. Королев, Структуры ЭВМ и их математическое обеспечение, М., Наука, 1978.

[7] А.Зуев, Банки и банковские технологии, # 2 (1996), c. 54.

[8] М.Кузьминский, ComputerWorld Россия, # 22, 1996.