Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Сети » Сети хранения данных - Все статьи »

Обсудить на форуме Обсудить на форуме

Архитектура бесконечных возможностей

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

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

Сегодня организация вычислений (в частности, центры обработки данных) требует использования сетевых накопителей и так называемых "сетей хранения" (SAN – Storage Area Network). Устройства SAN обладают достаточным интеллектом для того, чтобы создавать виртуальные тома, разделяя дисковое пространство накопителей между серверами, а также для резервного копирования данных или самодиагностики.

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

Проблема связи

Основной проблемой для систем хранения данных становится недостаток пропускной способности в каналах связи, посредством которых SAN подключается к "внешнему миру". Еще десять лет назад такие системы должны были обеспечивать обмен данными со скоростью 50 Мб/с, как и при подключении обычных SCSI-дисков, чтобы пользователи не ощущали разницы в работе с локальными дисками. Для производительных RAID-массивов могла потребоваться скорость в 300 Мб/с. Надо сказать, что ни одна сетевая технология не предлагала в то время такой пропускной способности. Номинально гигабитную производительность обеспечивала технология Gigabit Ethernet. Однако на практике скорость передачи данных оказывалась (и оказывается) меньше заявленной.

Сегодняшние дисковые интерфейсы позволяют достигать скорости до 1,5-3 Гбит/с. Последние поколения жестких дисков, как, например, Seagate Barracuda ES емкостью 750 Гб, оснащаются интерфейсом SATA II, обеспечивающим передачу 300 Мб/с.

Реальная скорость такого интерфейса с учетом накладных расходов составляет около 1,7 Гбит/с. В то же время с увеличением объемов циркулирующих данных даже возможностей такой технологии, как 10 Gigabit Ethernet, через какое-то время может оказаться недостаточно.


В оборудовании компании Cisco Systems наряду с Ethernet
поддерживается технология InfiniBand

Первые специализированные коммутационные решения для систем хранения основывались на фирменных вариантах волоконно-оптических и медных сетей. Для повышения скорости производители прибегали к разного рода ухищрениям вроде огромных кэшей, реализуемых в контроллерах, или алгоритмов предварительного чтения read-ahead, используемых приложениями. Позже определились две конкурирующие группы производителей, каждая из которых предлагала свое решение: Future I/O у Compaq, IBM и Hewlett-Packard, а также Next Generation I/O у Intel, Microsoft и Sun. Впоследствии флагманы индустрии объединились, чтобы создать новый стандарт скоростных сетей для подключения систем хранения.

Принципы архитектуры

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

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


Динамическая маршрутизация проходит в несколько этапов

Этот принцип позволяет понимать буквально приставку Infini- ("бесконечно"). Пропускная способность такой сети в большей мере определяется финансовыми возможностями заказчика. Правда, свои ограничения накладывает и специфика функционирования сетевых узлов.

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

Дополнительной особенностью InfiniBand является наличие механизмов защиты трафика и обеспечения качества обслуживания. Это позволяет, в частности, осуществлять доставку медиаконтента по заказу.

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

Протоколы высокого уровня

Конечно, чтобы реализовать такие возможности, архитектура InfiniBand требует наличия определенных программных инструментов и поддержки со стороны операционной системы. Традиционно система воспринимает накопители SAN как обычные диски SCSI (iSCSI). Как вариант может рассматриваться подключение посредством NAS (Network Attached Storage) с методами доступа NFS/CIFS.

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

Решать проблему параллельного доступа можно двумя путями. Первый - это поддержка параллельных копий файла с последующей синхронизацией (рекомбинацией). Второй - блокировка на уровне более мелких элементов информации, таких, как сегменты или блоки файлов, или же блокировка записей базы данных или объектов. Параллельный доступ с рекомбинацией метаданных обеспечивают объектные файловые системы Lustre или Раnasas, а прямой доступ с блокировками - Oracle Cluster Filesystem, Veritas, XFS, iBRIX и еще несколько конкурирующих схем хранения.

Техническая реализация

Когда речь идет о том, что InfiniBand не использует общую шинную архитектуру, имеется в виду, что шина не используется в традиционном режиме разделения и блокировок (когда одно устройство захватывает шину, и до окончания операций с ней остальные ждут завершения обмена). Для этой технологии более приемлемой оказалась топология "логической шины" (switched fabric). Данное словосочетание можно перевести как "коммутируемая канва", но чаще (и неверно) оно переводится как "коммутируемая фабрика".


C RDMA вычислительный ресурс на одном сервере получает доступ к памяти программы
на удаленном сервере, не задействуя ядро процессора

Подобная топология ранее была известна также как FC-SW, где FC обозначает Fiber Channel, а SW - SWitch. Принцип осуществления коммутации в рамках этой топологии заключается в том, что каждый из узлов (серверов) связывается с каждым из хранилищ данных через группу коммутаторов.

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

Сами маршрутизаторы соединяются друг с другом специальной шиной Inter Switch Link (ISL) через E-port (E -Expansion). Очевидно, что две точки могут захватить более одного физического канала связи, так что скорость может наращиваться пропорционально наличию избыточных маршрутов.

Чтобы оценить суммарную скорость передачи, нужно принять во внимание следующие соображения. Один канал, используемый InfiniBand, изначально определен как последовательное экранированное соединение. В нем обеспечивается передача около 2,5 Гбит/с в каждом направлении. В зависимости от возможностей среды передачи InfiniBand может устанавливаться удвоенная и учетверенная скорость передачи, то есть 5 Гбит/с и 10 Гбит/с соответственно. Поскольку каждый байт сопровождается двумя контрольными битами, реальная пропускная способность составляет 80% от номинальной, то есть могут формироваться потоки в 2 Гбит/с, 4 Гбит/с или 8 Гбит/с полезного трафика, причем обмен потоками происходит в полнодуплексном режиме.

Спецификация предусматривает объединение четырех или двенадцати каналов в один логический. В случае объединения двенадцати четырех скоростных физических каналов достигается номинальная скорость 120 Гбит/с (или 96 Гбит/с полезного трафика).


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

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

Особенно важным для межпроцессорного взаимодействия (IPC) параметром является время задержки, или латентность. Приемлемыми считаются значения не более 10 мс. Современные системы InfiniBand обеспечивают задержку до 4 мс. В других архитектурах, вроде локальной технологии AMD HyperTransport, применяющейся в кластерах Cray XD1, достигаются значения задержек до 1,5 мс. Но это достаточно специфическое и дорогое решение, которое к тому же не может массово использоваться в центрах обработки данных. В качестве естественного расширения Cray уже использует вариант "HyperTransport поверх InfiniBand", который скоро должен оформиться как отраслевой стандарт HyperTunnel.

Адресуемые пространства

Что касается количества подключаемых через InfiniBand устройств, то протокольных ограничений для него не существует. Главное реальное ограничение - 24-битный адрес устройства LID (локальный идентификатор - Local ID). Этот адрес используется при маршрутизации. Соответственно, адресное пространство целевых узлов, обслуживаемых одним маршрутизатором, ограничивается примерно 16 млн. устройств.

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

В качестве развития этой технологии предусмотрена маршрутизация между подсетями с помощью 16-байтного (96-битного) GID. GID - это тот же GUID, но с префиксом адреса подсети. Очевидно, что такое осуществление маршрутизации ориентируется на протокол IPv6.

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

За передачу данных отвечают канальные процессоры, почти такие же, как в мейнфреймах. На стороне сервера эти адаптеры называются НСА (Host Channel Adapter), а на стороне устройства хранения - ТСА (Target Channel Adapter).

Адаптеры СА - достаточно интеллектуальные устройства, которые способны самостоятельно устанавливать защищенное соединение или договариваться о предоставлении качества обслуживания (QoS).

Будущее InfiniBand

InfiniBand предоставляет целый ряд преимуществ по сравнению с коммуникационными технологиями. В частности, поддержка Remote DMA (когда данные перемещаются между ОЗУ компьютеров без участия процессоров и ОС) обеспечивает важные прерогативы при построении кластеров с массовым параллелизмом, например, на основе Linux. Несмотря на то, что стоимость реализации этой технологии в сотни раз меньше по сравнению с аналогичными по мощности суперкомпьютерами, это вовсе не дешевые решения. На цене сказывается использование специального оборудования, наличие множественных портов ввода-вывода и такого же количества маршрутизаторов. Большинство компаний среднего масштаба по-прежнему предпочитает адаптировать все технологии к привычным Ethernet и TCP/IP. Несмотря на то, что Ethernet, как наиболее близкую из конкурирующих технологий, отличают огромный опыт внедрения, обширнейшая инсталляционная база, а также поддержка сотнями производителей оборудования, ее возможности, причем даже в версии 10 Гбит/с, несопоставимы с потенциалом InfiniBand.

С предлагаемыми сегодня и пока не очень многочисленными продуктами InfiniBand для построения сетей можно ознакомиться на сайте InfiniBand Trade Association по адресу infinibandta.org. Распространение InfiniBand на рынке может достигаться за счет применения в кластерных решениях. В частности, эта технология интегрируется с HyperTransport (разработка компании AMD), благодаря чему полученный HyperTunel может использоваться для прозрачного обмена в рамках кластера. Таким образом, InfiniBand предназначена для наиболее важных приложений, и по мере распространения параллельных и сетевых вычислений она может стать массово применяемой.

Практика производительных вычислений

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

Что касается маршрутизаторов, то в идеале они могли бы набираться из отдельных портов. Но это невозможно, поскольку проводники не могут быть достаточно длинными и одновременно поддерживать высокую скорость передачи. Таким образом, чем меньше проводников и чем они короче, тем лучше для пропускной способности. В качестве компромиссного решения можно представить 24-портовые маршрутизаторы Cisco InfiniBand, которые могут подключаться также к обычным сегментам сети с помощью модулей расширения Fiber Channel или Gigabit/10 Gigabit Ethernet.

Когда InfiniBand служит для связи процессоров в схемах с общей памятью, логично размещать адаптеры InfiniBand в непосредственной близости от модулей памяти, и, как следствие, от самих процессоров. Чтобы использоваться в подобных решениях (вроде кластерных компьютеров Cray), сетевые контроллеры непосредственно вмонтированы в материнские платы. Но в данном случае о "конструкторе из недорогих компонентов" речь уже не идет.

Может пригодится:


Автор: неизвестен
Прочитано: 3176
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру