Мэйнфреймы, а вслед за ними и суперкомпьютеры, уже многие годы служат источником архитектурных идей, широко применяемых в компьютерах самых разных типов: от ПК до многопроцессорных Unix- серверов. Аналогичная картина наблюдается в сфере ОС и другого программного обеспечения - мэйнфреймы от IBM и их системное ПО, в первую очередь MVS, как потенциальный источник идей оказалось далеко впереди своих конкурентов.
Интересно, что в перспективных архитектурах ввода/вывода серверов следующего поколения Future I/O и Next Generation I/O используются идеи, напоминающие каналы ввода/вывода мэйнфреймов фирмы IBM.
Для приложений коммерческого характера, особенно СУБД и хранилищ данных, фактором, лимитирующим производительность, чаще оказывается подсистема ввода-вывода. Это один из основных компонентов, обеспечивающих лидирующие позиции мэйнфреймов в данном классе приложений. В нашей статье дается краткий обзор истории развития и современного состояния подсистем ввода-вывода мэйнфреймов IBM. Подсистемы ввода-вывода рассматриваются в их взаимосвязи с остальными компонентами мэйнфреймов: оперативной памятью с одной стороны и внешними устройствами - с другой.
Как известно, важнейшими показателями для современного компьютерного рынка являются не просто производительность, уровень сервиса, надежность и т.п., а отношение этих показателей к стоимости, например, стоимость/производительность. С точки зрения автора, прогресс отчасти идет не столько за счет собственно повышения "качества", сколько за счет расширения массового производства и, соответственно, снижения стоимости. Другим примером могут служить тенденции в области применения ОС. Например, Unix, вытеснившая с лидирующих позиций MVS, сильно уступала последней (вплоть до появления 64-разрядных версий Unix), да и сейчас уступает по целому ряду характеристик. Зато и MVS Open Edition поддерживает теперь интерфейсы открытых систем. Сегодня эта ситуация повторяется с Unix и Windows NT Server, хотя пока последняя еще дороже некоторых "фирменных" диалектов Unix.
Для приложений, работающих с СУБД или хранилищами данных, лимитирующим производительность фактором часто оказывается подсистема ввода-вывода, которая как раз и стала одним из основных компонентов, обеспечивающих лидирующие позиции мэйнфреймов. Попытаемся дать краткий обзор истории развития и современного состояния подсистем ввода-вывода мэйнфреймов IBM, рассмотрев подсистемы ввода-вывода в их взаимосвязи с остальными компонентами мэйнфреймов: оперативной памятью (ОП) и внешними устройствами. Кроме того, сопоставим подсистемы ввода-вывода мэйнфреймов IBM и современных многопроцессорных серверов, работающих с ОС Unix, а также соответствующих "парадигм" ввода-вывода. Это сопоставление носит отчасти дискуссионный характер; прямые ответы могли бы дать только прямые измерения пропускной способности (ПС), которые, как правило, в непосредственном виде в литературе не встречаются.
Эволюция модели ввода-вывода
Основы модели "ввода-вывода" [1] мэйнфреймов IBM были заложены еще в первых системах IBM S/360 [2]. Затем эта модель была модернизирована в связи с внедрением виртуальной памяти в мэйнфреймах S/370 [3]. Примерно на этом же уровне остановилось развитие подсистемы ввода-вывода отечественных ЕС ЭВМ [4]. Дальнейшее развитие модели вводавывода было связано с "динамическим" распределением подканалов, появившимся в архитектуре XA (eXtended Architecture) [5], и, наконец, с появлением волоконно-оптических каналов ESCON [6,7] в архитектуре ESA (Enterprise System Architecture) мэйнфреймов S/390 [8].
Важно подчеркнуть, что программный интерфейс модели ввода-вывода не претерпел существенных изменений со времен IBM S/360, по крайней мере в тех его аспектах, которые затронуты в данной статье. Прежде чем проиллюстрировать работу с этим интерфейсом на конкретном примере, необходимо вкратце описать собственно аппаратную часть подсистемы ввода-вывода и ввести соответствующую терминологию.
Итак, подсистема ввода-вывода в мэйнфреймах IBM включает три основных компонента: внешние устройства (ВУ), контроллеры или устройства управления (УУ) и каналы. Что такое ВУ, понятно интуитивно. Что такое УУ, тоже ясно, но необходимо дать небольшие комментарии.
ВУ мэйнфреймов до недавнего времени представляли собой устройства, находящиеся в собственных корпусах вне центральной части (процессоров, ОП, каналов) ЭВМ. УУ может встраиваться в ВУ и находиться в его корпусе (например, у принтеров), или выпускаться в отдельном корпусе. В последнем случае одно УУ управляет работой нескольких ВУ (так подключаются накопители на лентах и дисках).
УУ расшифровывают команды, полученные от канала, порождая последовательности операций для работы с ВУ, подсоединенными к этому УУ. Интерфейс, по которому осуществляется взаимодействие с ВУ, иногда называют "малым" в отличие от "большого", по которому УУ взаимодействует с каналом. Для программиста УУ "прозрачен": он как бы работает непосредственно с ВУ.
Самым важным для нас объектом является канал - именно он управляет передачей информации между ВУ и ОП. Канал - это, если угодно, некий процессор ввода-вывода, и именно процессоры ввода-вывода в суперЭВМ можно рассматривать как наиболее близкое к каналу архитектурное понятие. В этом смысле известный SCSI - это никакой не канал, а просто шина ввода-вывода; аналогом ее в мэйнфреймах является канальный интерфейс.
Канал воспринимает управляющую информацию от процессора и преобразует ее в последовательность сигналов большого интерфейса. Эти сигналы воспринимает УУ, которое по запросам ВУ выполняет аналогичные функции "в противоположном направлении". Канал обеспечивает операции передачи данных в ОП и обратно, освобождая процессор от управления работой УУ и ВУ.
Итак, здесь налицо одно из кардинальных отличий от модели ввода-вывода, типичной для ПК и многопроцессорных серверов с традиционной шинной архитектурой, где в наиболее эффективном режиме DMA прямой доступ к ОП имеет не канал, а, например, PCI-карты, работающие под управлением драйверов устройств. В мэйнфреймах же УУ и ВУ не имеют прямого доступа в ОП. Ниже, после рассмотрения конкретного примера, мы обсудим преимущества и недостатки таких подходов к организации ввода-вывода.
Рассмотрим теперь типы каналов мэйнфреймов. Первоначально в IBM S/360 и ЕС ЭВМ-1 было 2 типа каналов: мультиплексные и селекторные. К мультиплексным каналам подсоединялись медленные устройства (например принтеры), а обмен информацией с ними мультиплексировался. Производительность таких каналов не превышала нескольких десятков Кбайт/с. Селекторные каналы, наоборот, использовались для работы с быстрыми ВУ (НМЛ, НМД), а при передаче данных выполнялась только одна канальная программа и ВУ работали в монопольном режиме. Максимальная производительность селекторного канала составляет 1,5 Мбайт/с (Таблица 1), хотя УУ, обладавшие такой скоростью передачи, в ЕС ЭВМ-1 отсутствовали.
Табл.1 Пропускная способность каналов ЕС ЭВМ, мэйнфреймов IBM и современных стандартов шин ввода-вывода
Тип канала/шины
Производительность (Мбайт/с)
Байт-мультиплексный канал ЕС ЭВМ
0,04/1,5*
Блок-мультиплексный канал ЕС ЭВМ
1,5/3**
Блок-мультиплексный канал IBM, монопольный (burst) режим
4.5
Канал ESCON мэйнфреймов IBM
17
Шина PCI
133/240***
Интерфейс FC-AL
100
Шина SCSI Ultra2 Wide
80
SCSI-2 FWD
40
Интерфейс UltraDMA
33
* При использовании селекторных подканалов; ** При работе с двухбайтным интерфейсом; *** Для 64-разрядной PCI-шины
В ЕС ЭВМ-2 появился новый тип канала - блок-мультиплексный, который предназначался для работы с высокоскоростными ВУ (как селекторный канал), но благодаря поддержке в процессоре новых команд ввода-вывода типа SIOF допускал мультиплексирование. Это позволило более эффективно использовать возможности канала за счет подключения к нему нескольких УУ. Блок-мультиплексные каналы получили возможность работать с двухбайтным интерфейсом [4], благодаря чему производительность возросла до 3 Мбайт/с. Однако только некоторые УУ из номенклатуры ЕС ЭВМ умели работать с таким интерфейсом.
Одновременно с введением блок-мультиплексных каналов "обычные" мультиплексные каналы стали именоваться байт-мультиплексными - их мультиплексирование происходило на уровне отдельных байтов. Некоторые байт-мультиплексные каналы имели селекторные подканалы (часть аппаратуры канала, ответственная за выполнение одной операции ввода-вывода), которые в монопольном режиме могли работать с более быстрой периферией (например, с дисплейными терминалами). У таких подканалов производительность могла достигать 500 Кбайт/с.
Чтобы оценить cуммарную производительность подсистемы ввода-вывода ЕС ЭВМ, укажем, что максимально можно было адресовать 256 каналов, в то время как в реальных моделях ЕС ЭВМ их число не превышало 16. Если учесть, что к каждому каналу может подсоединяться до 256 ВУ, то становится ясно - теоретически в мэйнфреймах можно достигнуть самой высокой по индустрии суммарной емкости дисковой памяти.
Развитие каналов ЕС ЭВМ было завершено практически на этом уровне, а IBM обеспечила возможность работы более быстрых устройств, в первую очередь НМД, введя "монопольный" (burst) режим работы блок-мультиплексных каналов с быстродействием 4,5 Мбайт/с. Этот режим известен многим российским пользователям мэйнфреймов IBM, которые комплектовались популярными у нас устройствами IBM 3880 и НМД IBM 3380. Для поддержки этого режима в одной из последних моделей ЕС ЭВМ - ЕС 1066 - нужно было выполнить специальные доработки каналов, и лишь в ЕС 1130 минского производства этот режим поддерживался "штатно".
Все рассмотренные до сих пор типы каналов используют - параллельный интерфейс, который стал ANSI-стандартом и широко применялся в различных ЭВМ. Этот интерфейс представляет собой шину, на которой УУ связаны в цепочку, а на последнем, дальнем от канала, УУ стоят резисторные заглушки-терминаторы (рис.1). Протоколы и "физический уровень" этого интерфейса напоминают SCSI [1]. Когда производительность большого интерфейса возросла до 4.5 Мбайт/с, была во много раз увеличена и максимальная длина кабеля - до 122 м.
Каждое УУ может иметь несколько параллельных интерфейсов (рис. 1), что позволяет одновременно подключать одно УУ к нескольким каналам мэйнфрейма или к каналам разных мэйнфреймов. Это способствует как увеличению производительности, так и повышению надежности.
Очерки истории советской вычислительной техники Наталья Дубова Очерк первый: ИТМ и ВТ. Машины 1 И 2 поколений
Многие принципы структурной организации БЭСМ-6 были революционными для своего времени и предвосхищали архитектурные особенности машин третьего поколения "Генеология" вычислительной техники
В развитии информационных систем 90-е годы стали временем становления объектных технологий. Начал формироваться и активно развивается рынок объектных СУБД. Благодаря появлению в 1996-1997 годах нового поколения объектно-реляционных серверов баз данных
Управление данными, размещенными в оперативной памяти Галина Никитина Уже пятнадцать лет различные научные и коммерческие организации изучают, насколько изменяется время обработки, алгоритмы оптимизации и общая производительность информационной системы, если реляционные СУБД разместить не жестком диске, а в оперативной памяти.