Интегральная производительность, которую пользователь оценивает по скорости реакции на его действия, определяется не только производительностью ЦП, но и производительностью подсистемы ввода/вывода.

О производительности вычислительных систем часто судят по разнообразным рейтингам, характеризующим производительность центрального процессора. Но нагромождение MIPS или SPEC еще не означает, что пользователь будет удовлетворен тем, с какой скоростью компьютер реагирует на его действия. Если в ответ на действия пользователя компьютер, прежде чем открыть новое окно, долго шуршит дисководом, то, как бы вы ни наращивали производительность ЦП, особого выигрыша не получите. Дело в том, что на скорость реакции компьютера влияет не только производительность ЦП, но и производительность подсистемы ввода/вывода. Эти характеристики должны быть сбалансированы; другими словами, быстрому процессору нужен быстрый ввод/вывод.

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

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

Именно для облегчения жизни производителей контроллеров и ОС (а в конечном счете для экономии средств пользователя этих ОС и контроллеров) и появился отраслевой стандарт I2O(Intellectual Input/Output).

Стандарт интеллектуального ввода/вывода I2O

Задача стандарта I2O - определить унифицированный интерфейс между операционной системой и устройствами ввода/вывода. Его применение даст производителям ОС возможность реализовывать всего один I2O-совместимый драйвер для всех устройств ввода/вывода, а от производителя контроллера ввода/вывода потребуется единственный I2O-совместимый интерфейс, который позволит контроллеру работать со всеми ОС, снабженными I2O-совместимым драйвером.

Для унификации интерфейса предложена концепция сплит-драйвера. Монолитный ранее драйвер расщеплен на две части: зависящую от ОС (OSM, OS Service Module) и зависящую от устройства ввода/вывода (HDM, Hardware Device Module). OSM исполняется центральным процессором компьютера, а HDM - на локальном процессоре интеллектуального контроллера ввода/вывода. Стандартом I2O определен протокол обмена сообщениями между OSM и HDM, а также API-интерфейс с каждой стороны. Физической коммуникационной средой для обмена сообщениями между OSM и HDM является системная шина.

i960RP - подсистема ввода/вывода на одном кристалле

Хотя стандарт I2O не определяет тип процессора и системной шины, первой и пока единственной аппаратной реализацией стандарта I2O является архитектура на базе микропроцессора i960RP и шины PCI.

i960RP, позволяющий строить интеллектуальные контроллеры ввода/вывода, по праву можно назвать "подсистемой ввода/вывода на одном кристалле". Действительно, кроме процессорного ядра он содержит мост PCI-to-PCI, интерфейс локальной памяти, контроллер прямого доступа и другие устройства. Одна из шин PCI соединена с системной шиной компьютера и служит для связи с центральным процессором. Другая шина PCI в i960RP используется в качестве локальной шины платы контроллера, к которой подключаются микропроцессоры периферийных контроллеров.

Микропроцессор i960RP содержит также устройство Messaging Unit (MU), в котором предусмотрены несколько аппаратных механизмов передачи данных между ЦП и i960RP. Основным механизмом MU являются четыре FIFO-буфера для организации очередей сообщений. Два буфера служат для передачи команд от одного процессора к другому и два - для возврата результатов их выполнения. Очереди располагаются в локальной памяти i960RP и занимают от 4К до 64К 32-разрядных слов. На базе этих очередей реализуется протокол обмена сообщениями стандарта I2O.

IxWorks - ОС для I2O-совместимых контроллеров

Локальный процессор интеллектуального контроллера ввода/вывода выполняет несколько асинхронных процессов: прием команд ввода/вывода от центрального процессора, возврат результатов их выполнения, пересылку данных между центральным процессором и устройством ввода/вывода через буферы в локальной памяти, обработку прерываний от устройств и т. д. Для управления ими нужна многопроцессная операционная система, но какая? Поскольку устройства ввода/вывода обладают фиксированными временными характеристиками, не "вписавшись" в которые можно потерять информацию (например пропустить кадр в сети), в качестве локальной операционной системы следует использовать ОС реального времени.

На роль такой локальной операционной системы i960RP Intel выбрала IxWorks компании Wind River Systems, являющуюся модификацией под I2O распространенной ОС реального времени VxWorks. В IxWorks реализован протокол обмена сообщениями I2O, очереди событий I2O, "каркас" HDM-части сплит-драйвера, API-интерфейсов I2O и поддержка прямого доступа в память.

Для разработки I2O-совместимых HDM-частей драйвера, а также другого ПО управления устройствами ввода/вывода, которое встраивается в интеллектуальный контроллер, Wind River Systems поставляет I2O-ориентированную версию инструментальной среды Tornado. В отличие от обычной среды Tornado для VxWorks, Tornado for I2O ориентирована на разработку ПО для IxWorks I2O-совместимого контроллера ввода/вывода, построенного на базе микропроцессора i960RP. В качестве инструментального компьютера для Tornado for I2O поддерживается ПК под Windows 95 или NT. В качестве интерфейса между инструментальным ПК и платой контроллера могут использоваться шина PCI, внутрисхемный эмулятор ICE (In-Circuit Emulator), ROM-эмулятор, а также последовательный интерфейс I2C, встроенный в i960RP.

Для разработчиков интеллектуальных контроллеров ввода/вывода с использованием i960RP компания Intel поставляет комплект I2O Evaluation Kit, включающий прототипную плату на i960RP с шиной PCI, лицензию на IxWorks и демонстрационную лицензию на Tornado for I2O.

ESSE о стандарте I2O

Стандарт I2O предназначен для применения прежде всего с популярными сетевыми операционными системами (например Windows NT, NetWare); его планируется распространить и на системы реального времени. Инициатива ESSE (Embedded Systems Software Environment - программная среда для встраиваемых систем), выдвинутая ассоциацией VITA (VMEbus International Trade Association) в числе других направлений развития стандартов ПО встраиваемых систем, предполагает создание унифицированного интерфейса драйверов ввода-вывода, в качестве одного из вариантов которого рассматривается стандарт I2O.


Алексей Демьянов - директор компании AVD Systems. С ним можно связаться по телефону (095) 145-1169 или по электронной почте: avd@avdsys.msk.su

I2O движется в направлении кластерных систем

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

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

Компании Compaq Computer и Hewlett-Packard, наряду с Dell, Digital и NetFrame, продемонстрировали на Comdex платы PCI, в которых новая архитектура ввода-вывода используется для повышения производительности сервера. Системы поступят в продажу в 1997 году.

С середины текущего года компании Microsoft, Novell и Santa Cruz Operation начнут поставлять дополнительные модули для своих операционных систем, обеспечивающие поддержку спецификации I2O. Соответствующая версия ОС HP-UX компании Hewlett-Packard появится к концу года.

"Данная спецификация действительно отвечает интересам производителей оборудования, поскольку она позволяет написать всего один драйвер для каждого устройства взамен отдельного драйвера для каждой операционной системы, - сказал Джо Баркан, аналитик компании Gartner Group. - Для пользователей же это означает возможность взаимодействия плат ввода-вывода без прерывания работы центрального процессора".

Повышение производительности серверов пока не получило количественного выражения. Однако, по словам ведущего разработчика системных архитектур компании Hewlett-Packard Али Иззета, HP произвела измерения на собственном двухпроцессорном сервере LX Pro NetServer с контроллером ввода-вывода, удовлетворяющим спецификации I2O, а также без него и установила, что производительность процессора снижается на две трети.

"Эта технология до такой степени высвобождает вычислительную мощность центрального процессора, что на однопроцессорном сервере типа HP NetServer с процессором Pentium Pro/200 МГц удается одновременно выполнять целый ряд приложений из набора Microsoft BackOffice и приложений баз данных SQL Server", - говорит Иззет и добавляет, что указанные преимущества станут еще более заметны в кластерных системах, где обмен информацией между серверами буквально "съедает" общую производительность системы и снижает ее масштабируемость.

Compaq и Dell заняты оценками эффективности затрат на установку контроллера I2O в каждый сервер и применение I2O в мощных настольных ПК.

- Джуди Демокер,
Infoworld, США

Дополнительная информация:

Стандарт I2O:

WWW-сервер организации I20 SIG - http://www.I2Osig.org

Микропроцессор i960RP:

WWW-сервер компании Intel - http://www.intel.com/design/i960

Инициатива ESSE:

WWW-сервер ассоциации VITA - http://www.vita.com

IxWorks и Tornado for I2O:

WWW-сервер Wind River Systems - http://www.wrs.com