Разработка систем ввода-вывода

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

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

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

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

При разработке таких систем используются следующие общие подходы:

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

2. Настройка этого компонента для поддержки требуемой пропускной способности.

3. Определение требований для всей остальной системы и настройка ее на поддержку этой пропускной способности.





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: