White Papers

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

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

Открытые системы

Эволюция подсистемы ввода-вывода мэйнфреймов IBMВерсия для печати

Михаил Кузьминский

Мэйнфреймы, а вслед за ними и суперкомпьютеры, уже многие годы служат источником архитектурных идей, широко применяемых в компьютерах самых разных типов: от ПК до многопроцессорных 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 мэйнфреймов IBM17
Шина PCI133/240***
Интерфейс FC-AL100
Шина SCSI Ultra2 Wide80
SCSI-2 FWD40
Интерфейс UltraDMA33
* При использовании селекторных подканалов; ** При работе с двухбайтным интерфейсом; *** Для 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 3

16.01.1999г


Также в разделе:

Новости ОСП-ТВ - 15.03.10


16/01/1999 №01

Очерки истории советской вычислительной техники
Наталья Дубова
Очерк первый: ИТМ и ВТ. Машины 1 И 2 поколений Многие принципы структурной организации БЭСМ-6 были революционными для своего времени и предвосхищали архитектурные особенности машин третьего поколения "Генеология" вычислительной техники
Что такое OMG-UML и почему он важен

В развитии информационных систем 90-е годы стали временем становления объектных технологий. Начал формироваться и активно развивается рынок объектных СУБД. Благодаря появлению в 1996-1997 годах нового поколения объектно-реляционных серверов баз данных
Управление данными, размещенными в оперативной памяти
Галина Никитина
Уже пятнадцать лет различные научные и коммерческие организации изучают, насколько изменяется время обработки, алгоритмы оптимизации и общая производительность информационной системы, если реляционные СУБД разместить не жестком диске, а в оперативной памяти.



Эта рубрика в архиве
Список номеров за

OSP.RU :: Написать письмо.