в сфере ОС и другого программного обеспечения - мэйнфреймы от 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 видно, что пиковая производительность параллельного канала недостаточно высока; например, уже протокол SCSI-2 превосходит его по быстродействию. В 1990 г. IBM анонсировала последовательный оптоволоконный интерфейс ESCON, обеспечивающий соединение "точка-точка" на скорости 17 Мбайт/с. Максимальная длина любого сегмента такого соединения равна 3 км, а общее число канальных интерфейсов (как параллельных, так и ESCON), которые могут совместно работать в одном компьютере, по-прежнему равно 256.

Для расширения возможностей подсоединения УУ специалисты IBM разработали коммутатор, известный как ESCON Director (рис.1), имеющий до 124 портов. Важно отметить, что введение ESCON также не привело к кардинальным изменениям программных интерфейсов ввода-вывода.

Кроме параллельных и ESCON-каналов, в составе S/390 присутствуют межсистемные каналы ISC [1], которые служат для организации кластеров Parallel Sysplex.

В более современных КМОП-мэйнфреймах IBM, в том числе поколений G3-G5, имеются канальные адаптеры, поддерживающие не только указанные типы каналов, но и SCSI (для моделей IBM Multiprise 2000, имеющих внутренние SCSI-диски), и OSA-2, обеспечивающие сетевые интерфейсы ATM/FDDI/ Ethernet/Token Ring.

Интерфейс ввода-вывода

Общая схема программного интерфейса ввода-вывода выглядит следующим образом.

  • В ОП строится канальная программа, которая представляет собой последовательность командных слов канала CCW, используемых для организации операций ввода-вывода - каждой такой операции соответствует свое CCW.
  • Адрес начала канальной программы помещается в адресное слово канала (СAW), находящееся по некоторому фиксированному адресу в ОП. Для S/390 эта схема несколько изменена - адрес начала канальной программы вместе с некоторыми другими параметрами помещается в блоки запроса операции (ORB) [1].
  • Выдается (процессорная) команда на запуск ввода-вывода. В S/360 и S/370 это была команда SIO ("запустить ввод-вывод"), либо, для блок-мультиплексного режима, SIOF ("запустить ввод-вывод с быстрым отключением"). Начиная с архитектуры XA, применяется команда SSCH ("запустить подканал"). Аргументом этих команд является строка байтов, содержащая адрес канала и адрес устройства в канале.

После выполнения этой команды процессор освобождается, и вся процедура ввода-вывода выполняется каналом по канальной программе, и именно канал обеспечивает передачу данных от УУ в ОП и обратно.

Описанная модель ввода-вывода для мэйнфреймов IBM в современной компьютерной индустрии уникальна. Ее преимуществом является возможность независимой работы канала по канальной программе без вмешательства процессора (в то время как в режиме DMA нет возможности выполнять без вмешательства процессора целые канальные программы).

Пример канальной программы

Для иллюстрации преимуществ применения канальных программ приведем пример простейшей канальной программы для работы с НМД фирмы IBM.

Как известно, практически все современные НЖМД используют при физической записи на диск блоки фиксированной длины - обычно 512 байт. Такую "архитектуру" НМД в IBM называют FBA (Fixed Block Architecture) [9]. Почти все НМД от IBM вплоть до IBM 3380/3390 использовали совсем другой подход - хранение информации в виде записей переменной длины. Такая архитектура называлась CKD (счетчик ключ-данные). В последних модификациях НМД она была несколько модернизирована и получила название ECKD [1].

На рис. 2 приведена структура дорожки НМД CKD-типа. Вслед за индексом располагается собственный адрес HA (содержащий номер цилиндра и номер дорожки) и запись R0, которая может использоваться для указания на альтернативную дорожку в случае, если эта оказалась дефектной. Все последующие записи Ri содержат поле идентификатора-счетчика (в нем указывается число байт в поле данных и поле ключа), поле ключа (может отсутствовать) и поле данных. Записи отделяются друг от друга межблочными промежутками.

Такая организация хранения информации на дорожке диска имеет немалые преимущества . Во-первых, здесь имеется возможность использования блоков переменной длины, в зависимости от конкретного приложения (длиной блока, используемой в программе для каждого конкретного файла, управляет программист). Например, для организации эффективной передачи больших объемов данных в НМД IBM 3380/3390 можно использовать блоки данных размером примерно до 19 Кбайт - за одну CCW-команду чтения или записи можно передать такой блок. Во-вторых, наличие в записях поля ключа и аппаратная поддержка поиска по ключу на уровне команд CCW позволяет эффективно организовать работу с записями CУБД, и использующими ключи.

Однако общее стремление улучшить отношение стоимость/производительность путем уменьшения стоимости благодаря массовому выпуску продукции сработало и здесь. Широко используемые НМД FBA-архитектуры (IDE/SCSI/ Fibre Channel) вытеснили CKD-устройства с рынка. IBM также пошла в этом направлении, и ее хорошо известная дисковая подсистема RAMAC использует обычные FBA-диски, но в УУ эмулируется ECKD-архитектура.

Ниже приведен фрагмент канальной программы для CKD-устройств корпорации IBM, который иллюстрирует преимущества модели ввода-вывода мэйнфреймов [10].

	CCW X'0B',ADDR,X'40',6			(1)
	SEARCH CCW X'31',ADDR+2,X'40',5		(2)
	CCW X'08',SEARCH,X'40',-		(3)
	CCW X'06',DATA,X'00',80			(4)
	ADDR DC X'00000003000102'		(5)
	DATA DS CL80

Первая команда CCW (код операции 0B) - это команда установки на цилиндр. Номер цилиндра (3) указан в поле ADDR. Вторая команда CCW (с меткой SEARCH) - поиск записи, идентификатор которой - дорожка 1, запись 2 - находится по адресу ADDR+2. Третья команда CCW - это команда перехода на метку SEARCH. Если поиск во второй команде CCW оказался успешным, то команда пропускается. В результате образуется некоторый цикл: записи по очереди проверяются до тех пор, пока под головками НМД не окажется нужная запись. Наконец, четвертая команда CCW - это команда чтения 80 байт данных из найденной записи.

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

Оценки пропускной способности ввода-вывода

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

Прежде всего следует отметить, что наиболее популярные сегодня в многопроцессорных серверах интерфейсы SCSI так же, как и система команд CCW для НМД, содержат команды поиска. Начиная с SCSI-2, возможно использование очередей команд. Например, к одному НМД можно направить несколько команд, и пока первая будет выполняться, следующая будет декодироваться [11].

C другой стороны, преимущества протоколов SCSI, FC-AL и др. по сравнению с канальными интерфейсами ESCON, не могут служить достаточным основанием для того, чтобы утверждать, что ПС ввода-вывода мэйнфреймов IBM начинает отставать. Речь может идти о ПС отдельного канала/шины или об интегральной ПС всей ЭВМ.

Что касается ПС канала (канального интерфейса) или шины, то она обычно выше, чем у отдельного ВУ. Чтобы "выбрать" возможности, например, SCSI-шины, необходимо иметь на ней достаточное количество НМД. Поэтому SCSI-НМД могут работать с мэйнфреймами IBM, если использовать специальные "мосты" между SCSI и каналами IBM. Подобные устройства уже давно существуют на рынке, не говоря уж об известных RAID-массивах для мэйнфреймов.

Хотя скорость передачи данных одним ВУ значительно ниже ПС канала/шины, широко применяемое аппаратное кэширование в контроллерах накопителей и УУ существенно повышает эффективную скорость передачи, так что в некоторых случаях производительности ESCON-каналов уже недостаточно. В последние годы заметно растет и сама скорость "съема" данных с НМД.

Cтало ясно, что возможностей ESCON-каналов будет хронически недоставать для эффективной поддержки современных НМД. Компания IBM должна была либо увеличить ПС ESCON-каналов, либо ввести новую для мэйнфреймов модель ввода-вывода. Как мы увидим ниже, не исключено, что IBM пойдет по обоим путям.

На самом деле приложению не важно, какова ПС отдельного канала или шины, если можно организовать одновременную работу с несколькими ВУ, находящимися на разных каналах/шинах (например, чередование ввода-вывода - striping, эквивалентное RAID 0). Это характерно для некоторых приложений, работающих со сверхбольшими БД и хранилищами данных. В многозадачной среде становится также интегральная ПС ввода-вывода определяющей.

Теоретическую интегральную ПС ввода-вывода можно посчитать, умножив ПС отдельных каналов/шин на их число. Например, для 256-канального мэйнфрейма IBM эта величина составила бы 17 х 256 = 4352 Мбайт/с. Вопрос в том, способна ли вообще подсистема ОП соответствующей ЭВМ принять/передать подсчитанный таким путем поток данных, и если да, то не приведет ли это к конфликтам из-за обменов данными процессора и ОП. Иначе говоря, лимитирующими для производительности ввода-вывода могут оказаться другие компоненты архитектуры ЭВМ.

Наиболее ярким примером, где эта ситуация вполне вероятна могут служить ПК с классической структурой общей шины, через которую общаются с ОП и процессор, и все средства ввода-вывода, включая монитор (в более новых моделях на базе Pentium Pro и особенно Pentium II со 100-мегагерцовой системной шиной в этом смысле внесены значительные усовершенствования). В таких ПК между процессором и подсистемой ввода-вывода могут возникать конфликты за доступ к памяти, а ПС системной шины становится лимитирующей.

Такие же конфликты между процессорами и подсистемой ввода-вывода могут возникать и в многопроцессорных серверах SMP-архитектуры, основанной на традиционной системной шине. Хотя ПС системной шины таких серверов уже в 1995-1996 гг. перевалила за отметку 1 Гбайт/с, шина потенциально оставалась "узким местом", учитывая быстрый рост производительности микропроцессоров. Благодаря применению технологии коммутации в мэйнфреймах IBM, не имеющих архитектуры общей шины, такой ситуации возникнуть не могло. Коммутаторы обеспечивали отсутствие подобных конфликтов и необходимую ПС.

С внедрением КМОП-систем S/390 архитектура мэйнфреймов претерпела значительные изменения. Однако, хотя в этих системах и присутствуют "системные шины" (рис.3), центральными элементами, определяющими ПС всей установки, стали коммутаторы BSN (адаптеры Bus Switching Network). Они обеспечивают доступ к памяти как со стороны процессоров (шины от процессоров к BSN имеют суммарную пиковую ПС 6.7 Гбайт/с при поддерживаемом значении 5-6 Гбайт/с), так и со стороны каналов - через два концентратора MBA (Memory Bus Adapter), каждый из которых имеет по два порта с ПС 1 Гбайт/с. Итого 4 Гбайт/с на 2 MBA [12]. Эта ПС незначительно ниже суммарной возможной ПС каналов, если предположить, что все они будут ESCON-типа. Итак, пиковая ПС ввода-вывода мэйнфреймов S/390 составляет 4 Гбайт/с.

Эта величина выше, чем почти у всех современных многопроцессорных серверов SMP-архитектуры. Наибольшую пиковую производительность имеют серверы, в которых вместо обычной системной шины используется коммутатор. Классическим примером системы такого типа, в которой применяется неблокирующийся коммутатор, является HP V2200. ПС этого коммутатора превышает 15,4 Гбайт/с, а пиковая ПС ввода-вывода равна 1,9 Гбайт/с, что обеспечивается наличием 8 PCI-шин, имеющих ПС 240 Мбайт/с каждая.

Единственным SMP-сервером, имеющим более высокую, чем у мэйнфреймов IBM, пиковую ПС ввода-вывода, является Sun Ultra Enterprise 10000, в котором вместо системной шины используется коммутатор GigaPlane XB (общая ПС 12,5 Гбайт/с). Пиковая ПС ввода-вывода определяется наличием до 32 шин Sbus c пиковой ПС 200 Мбайт/с каждая, итого 6,4 Гбайт/с на сервер. Поддерживаемая величина ПС в 2 раза ниже.

Что касается многопроцессорных серверов с архитектурой ccNUMA, то благодаря лучшим возможностям масштабирования их ПС ввода-вывода может быть еще выше. Так, уже двухпроцессорный узел SGI Origin 2000 имеет пиковую ПС ввода-вывода 1.6 Гбайт/с, а таких узлов в Origin 2000 может быть до 64.

Особенности подсоединения каналов КМОП-cерверов S/390

Начиная с поколения G3, КМОП-cистемы S/390 для передачи данных к MBA от УУ и канальных интерфейсов (и обратно) используют новую шину - STI (Self-Timed Interface). В этих ЭВМ имеется до 12 STI-интерфейсов (по 6 на MBA) c ПС до 333 Мбайт/с у каждого [1] . Суммарная их ПС как раз равна 4 Гбайт/с.

Технология STI обеспечивает соединение "точка-точка" и использует пакетную коммутацию. STI [1] аналогична соединениям, применяемым в SAN (ServerNet) от Compaq/Tandem или в коммутаторе IBM SP2. К интерфейсу STI подсоединяется мост, называемый IBB (буфер внутренней шины IB). Двунаправленные шины IB шириной 8 байт имеют пиковую ПС 296 Мбайт/с в одном направлении. Поддерживаемая ПС IB равна 150 Мбайт/с.

К шине IB через специальный мост подключаются канальные интерфейсы - как межсистемных каналов ISC, так и традиционных параллельных и ESCON-каналов. В компактных моделях S/390 серии Multiprise 2000 имеются внутренние SCSI-диски, которые подсоединяются через SCSI-адаптеры. Наконец, адаптеры OSA-2 применяются для поддержки сетевых интерфейсов ATM/FDDI/ Ethernet/Token Ring и работают с использованием аппаратно-программной эмуляции известных в мире мэйнфреймов адаптеров канал-канал IBM 3172, что позволяет продолжать применять традиционную программную модель ввода-вывода мэйнфреймов IBM [1].

Аналогично, внутренние SCSI-диски эмулируют УУ и НМД ECKD-архитектуры, используя для этого ресурсы сервисного процессора и часть ОП, называемую аппаратной системной областью - HSA. Внутренние SCSI-диски емкостью 9 Гбайт на один НМД используют зеркалирование по схеме RAID-1, при общей емкости до 288 Гбайт [1].

Перспективы и выводы

Очевидно, что производительности IB-шины достаточно, чтобы подсоединить любую современную шину ввода-вывода, будь то FC-AL или 64-разрядная шина PCI (c ПС 240 Мбайт/с). Это позволяет компании IBM разрабатывать соответствующие адаптеры-мосты между IB и открытыми индустриальными стандартами сетевых интерфейсов и интерфейсов ввода-вывода. С другой стороны, проще может оказаться увеличение ПС ESCON - каналов и подсоединение к ним быстродействующих ВУ. Когда данная статья уже была готова к печати, появились данные о применении в S/390 G5 новых каналов FICON с ПС 100 Мбайт/с.

Разработчики IBM обращают особое внимание на стандарт PCI, поскольку для него уже имеются и разрабатываются новые карты интерфейсов Fast Ethernet, Gigabit Ethernet, ATM OC-12 (622 Мбит/с), FC-AL, SSA и др. [1]. Подсоединение таких интерфейсов к каналам ESCON, а в некоторых случаях и FICON бесперспективно из-за ограничений их ПС.

Однако здесь имеются определенные проблемы. В модели ввода-вывода, характерной для ПК и многопроцессорных серверов, где применяются PCI-карты, последние имеют прямой доступ к памяти, в которой драйверы размещают буферы данных и очереди запросов. Это запрещено в модели ввода-вывода мэйнфреймов IBM, где доступ к ОП имеют только каналы. Поэтому для подсоединения PCI-карт к S/390 требуется некий "адаптационный уровень", обеспечивающий, в частности, отображение адресного пространства PCI в адреса ОП S/390. Создание этих средств осложняется из-за поддержки в S/390 доменной организации - разделов LPAR, которые должны разделять PCI-карту. Однако современные PCI-карты "предполагают", что они работают только с одной ОС, поэтому в будущем предлагается перейти к прямой поддержке в S/390 новой программной модели, аналогичной используемой в UNIX-серверах, хотя для поддержки LPAR по-прежнему потребуется адаптационный уровень [1].

Cледует подчеркнуть, что речь идет не об отказе от традиционной модели ввода-вывода мэйнфреймов, а лишь о добавлении в архитектуру S/390 новой модели ввода-вывода. Более того, недавно появилась информация о близких предложениях IBM ("Future I/O") и Intel ("Next Generation I/O") новых интерфейсов ввода-вывода, в которых используются некоторые идеи, напоминающие каналы ввода-вывода.

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

Во-вторых, в соответствии с общей тенденцией перехода к более массовой и потому более дешевой компьютерной продукции, можно предположить, что основным направлением развития НМД S/390 будет ориентация на индустриальные стандарты типа SCSI/FC-AL/SSA с использованием FBA, а не ECKD-архитектуры.

В-третьих, по этим же соображениям, можно предположить перенос в будущем "центра тяжести" на новую модель ввода-вывода и применение шин PCI. Cистемы S/390, архитектура которых за последние два года развивалась очень динамично (возможно, даже опережая темпы развития архитектуры многопроцессорных UNIX-серверов), очевидно, будут при этом cохранять совместимость со старой моделью ввода-вывода.


Об авторе

Михаил Кузьминский - старший научный сотрудник Центра компьютерного обеспечения Института химических исследований РАН. С ним можно связаться по электронной почте по адресу kus@free.net.


Литература

[1] T.Gregg, IBM J. Res.Develop., 1997, v.41, p.449

[2] К.Джермейн, Программирование на IBM/360, //М.,Мир, 1973

[3] Принципы работы системы IBM/370, //М.,Мир, 1975

[4] В. Пржиялковский, Ю. Ломов, "Технические и программные средства единой системы ЭВМ", //М.,Статистика, 1980

[5] XA System Architecture Overview IBM,

[6] J. Elliot, M. Sachs, IBM J. Res.Develop., 1992, p.577

[7] J. Flanagan, T. Gregg, D. Caspar, IBM J.Res.Develop., 1992, p.617

[8] Enterprise System Architecture/390. Principles of Operation, IBM, SA22-7201.

[9] Device Support Facilities. User's Guide and Reference, Appendix A. IBM, GC35-0033-9.

[10] C. Мэдник, Дж.Донован, Операционные системы, //М., Мир, 1978, с.373

[11] Л. Букчин, Ю. Безрукий, Дисковая подсистема IBM-совместимых персональных компьютеров, //М., МП "Бином", 1993

[12] G.Doetting, V.J.Getzlaff, B.Leppa e.a., IBM J.Res.Develop., 1997, v.41, p.405