Высокоскоростная сеть передачи данных Storage area network (SAN) предназначена для подключения серверов к устройствам хранения данных. Разнообразные топологии SAN замещают традиционные шинные соединения сервер–устройства хранения и предоставляют по сравнению с ними большую гибкость, производительность и надежность. Транспортную основу SAN составляет протокол Fibre Channel, использующий как медные, так и волоконно-оптические соединения устройств [1].
Сети хранения данных состоят из следующих компонентов:
- адаптеры для подключения серверов к сети;
- ресурсы хранения данных;
- устройства, реализующие инфраструктуру SAN;
- программное обеспечение.
Взаимосвязь компонентов SAN показана на рисунке 1.
Адаптеры устанавливаются в серверы и осуществляют их взаимодействие с SAN по протоколу Fibre Channel. Стек протоколов Fibre Channel реализован внутри контроллера HBA.
К ресурсам хранения данных относятся дисковые массивы, ленточные приводы и библиотеки с интерфейсом Fibre Channel.
Устройствами, реализующими инфраструктуру SAN, являются коммутаторы Fibre Channel (FC-коммутаторы).
Программное обеспечение (например, драйверы устройств, менеджер томов Volume Manager и другие) поддерживает таблицу путей доступа к устройствам и обеспечивает отключение путей в случае аварии, динамическое подключение новых путей и распределение нагрузки между ними. Программное обеспечение используется также для управления SAN: для отображения топологии, управления зонами на коммутаторах, обнаружения отказов устройств в SAN, сбора статистики производительности и т.д.
Серверы и ресурсы хранения данных соединены между собой через общую память FC-коммутатора. Архитектура FC-коммутатора приведена на рисунке 2. Менеджер очередей управляет доступом и разрешает конфликты. При поступлении запроса клиента на/от входного порта менеджер анализирует затребованный адрес и по кабелю отсылает его к соответствующему ресурсу хранения данных или серверу по выходному порту.
Производительность FC-коммутатора в большей степени определяется тем, насколько пересекаются клиентские запросы в памяти от разных портов коммутатора.
В предлагаемой модели оценки вероятностно-временных характеристик SAN используются следующие обозначения: t1 – отрезок времени на обращение контроллера к буферной памяти (БП) порта FC-коммутатора; t2 – отрезок времени обращения порта к разделяемой памяти; t3 – интервал времени, в течение которого блокируется обращение к разделяемой памяти.
Параллельность выполнения процессов в коммутаторе задается произведением логических показателей использования его модулей: t=t1 t2 t3.
Для каждого цикла время обращения конкретного порта FC-коммутатора к одной из своих М очередей разделяемой памяти равно 1/М. Следовательно, вероятность того, что доступ к данной очереди разделяемой памяти заблокирован, составит t¢/M, где t¢ – интервал времени, в течение которого порт осуществляет пересылку (занимает память), включая пересечения с запросами других портов.
Следовательно, для N портов вероятность того, что вход в очередь разделяемой памяти не заблокирован, определяется как
, (1)
а того, что память заблокирована или занята другим портом, как
. (2)
При N=М=1 использование памяти равно t¢=t. Следовательно, длительность циклов памяти (производительность), нормализованную по системе, состоящей из одного порта и одной очереди, можно выразить в виде:
, (3)
а общую производительность системы с М очередями общей памяти – в виде
, (4)
где L – коэффициент производительности системы.
Пусть t¢¢ и tт – среднее время цикла порта (среднее время между обращениями к разделяемой памяти одного порта) и время блокировки очереди соответственно; tе – среднее дополнительное время ожидания освобождения блокированной памяти. Тогда t и t¢ определяются как
, (5)
и окончательно
. (6)
В соответствии с принятыми определениями L/N – это отношение скорости исполнения команд порта при наличии или отсутствии влияния других. Скорость исполнения команд без учета такого влияния равна 1/t¢¢, а с учетом – 1/(), откуда имеем .
Используя приведенное выше выражение (6), для te находим:
(7)
или .
Подставив значение t¢ в уравнение и произведя перестановку переменных, получим полиномиальное уравнение N-го порядка, которое может быть решено относительно коэффициента производительности L системы:
. (8)
Показатель эффективного использования представляет собой часть временного цикла порта, затраченную на конкурентный (непараллельный) цикл памяти. Численное значение t может быть получено перемножением индивидуальных показателей использования элементов, доступ к которым осуществляется последовательно. В связи с этим определим t1, t2 и t3 как интервалы времени обращения порта к собственной БП, обращение порта к общей разделяемой памяти и времени, в течение которого выходная очередь общей памяти заблокирована, то есть занята другим портом. Проанализируем каждый из этих показателей [2].
Определение t1. Время приема в БП порта определяется отношением длины пакета к скорости передачи/приема в дуплексном канале соответствующего порта.
Определение t2. Время обращения к памяти определяется произведением длины пакета и цикла обращения к разделяемой памяти.
Определение t3. Время t3, на которое блокируется память, рассчитывается с помощью двухфазной замкнутой сети массового обслуживания с конечным числом источников. В системе имеется 2S источника, где первые S источников моделируют порты в режиме приема, вторые S источников – порты в режиме передачи. В системе также имеется S=М одноканальных приборов обслуживания, моделирующих очереди разделяемой памяти.
В таблице приведены значения задержки при разных показателях: r – коэффициент использования канала; М – число очередей в разделяемой памяти; L – длина запроса для асимметричного и симметричного трафиков.
Анализ результатов показывает, что наибольшее влияние на задержку и производительность FC-коммутатора оказывают длина запроса, цикл обращения к общей памяти и число очередей общей памяти. Это объясняется архитектурной особенностью данного типа коммутатора:
· чем больше длина пакета, тем чаще нужно обращаться к памяти для перезаписи запроса в общую память блоками длиной в машинное слово;
· для данного типа FC-коммутатора время обращения к памяти является одной из главных характеристик, так как конкуренция потоков происходит именно за обращение к памяти;
· увеличение количества очередей общей памяти распараллеливает процесс обращения к ней и, следовательно, уменьшает время обработки пакета;
· время обработки пакета в FC-коммутаторе для симметричного трафика меньше, чем асимметричного при одном и том же количестве очередей, что тоже справедливо, поскольку каждый выходной порт закреплен за определенной секцией и в случае асимметричного трафика это приравнивается к наличию только одной очереди, так как обращение каждый раз происходит именно к ней.
Скорость и коэффициент использования канала оказывают слабое влияние на изменение производительности FC-коммутатора.
Литература
1. Кормильцев А.И. Как построить оптимальную систему хранения данных // Сети и системы связи. 2002. № 11. С. 52–58.
2. Кутузов О.И., Сергеев В.Г., Татарникова Т.М. Коммутаторы в корпоративных сетях. Моделирование и расчет. СПб: Судострение, 2003.