Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Архитектура бесконечных возможностейВсе большее применение в центрах обработки данных находит технология 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, через какое-то время может оказаться недостаточно.
Первые специализированные коммутационные решения для систем хранения основывались на фирменных вариантах волоконно-оптических и медных сетей. Для повышения скорости производители прибегали к разного рода ухищрениям вроде огромных кэшей, реализуемых в контроллерах, или алгоритмов предварительного чтения read-ahead, используемых приложениями. Позже определились две конкурирующие группы производителей, каждая из которых предлагала свое решение: Future I/O у Compaq, IBM и Hewlett-Packard, а также Next Generation I/O у Intel, Microsoft и Sun. Впоследствии флагманы индустрии объединились, чтобы создать новый стандарт скоростных сетей для подключения систем хранения. Принципы архитектурыВ процессе создания стандартной технологии, получившей название InfiniBand, было выработано несколько основных принципов реализации каналов. Один из них базируется на современном подходе к распределению нагрузки. InfiniBand, как правило, не реализуется в одном (и достаточно дорогом) устройстве, которое контролирует все операции. Вместо этого применяются множество небольших и сравнительно недорогих строительных узлов, которые могут быть подключены в различных комбинациях. С их использованием можно наращивать производительность системы. Например, один физический канал можно заменить четырьмя, притом с точки зрения приложения эти каналы будут работать как одно целое. Также можно реализовать двенадцать каналов с соответствующим увеличением пропускной способности. В пресс-релизах производителей возможность наращивания пропускной способности рассматривается как готовность к будущему, которая не оплачивается сегодня. К тому же демонтаж и замену модульных систем технически и экономически осуществить проще, и они могут проводиться без прекращения обслуживания. Сегодня, когда модернизация блейд-серверов и кластерных модулей производится практически постоянно, это особенно важно.В отличие от других шинных архитектур, в которых пропускная способность шины строго фиксирована, InfiniBand позволяет строить любое количество избыточных каналов между двумя точками. Маршрутизация осуществляется динамически, то есть сеть сама определяет наилучший маршрут прохождения (кратчайший маршрут выбирается первым).
Этот принцип позволяет понимать буквально приставку Infini- ("бесконечно"). Пропускная способность такой сети в большей мере определяется финансовыми возможностями заказчика. Правда, свои ограничения накладывает и специфика функционирования сетевых узлов. Протоколы высокого уровняКонечно, чтобы реализовать такие возможности, архитектура InfiniBand требует наличия определенных программных инструментов и поддержки со стороны операционной системы. Традиционно система воспринимает накопители SAN как обычные диски SCSI (iSCSI). Как вариант может рассматриваться подключение посредством NAS (Network Attached Storage) с методами доступа NFS/CIFS.Традиционные сетевые файловые системы являются блокирующими. Из соображений целостности данных они ограничивают одновременный доступ к взаимосвязанным данным. Соответственно, операции записи для определенного файла доступны только одному внешнему процессу. Обеспечить параллельный доступ к данным этого файла невозможно. Решать проблему параллельного доступа можно двумя путями. Первый - это поддержка параллельных копий файла с последующей синхронизацией (рекомбинацией). Второй - блокировка на уровне более мелких элементов информации, таких, как сегменты или блоки файлов, или же блокировка записей базы данных или объектов. Параллельный доступ с рекомбинацией метаданных обеспечивают объектные файловые системы Lustre или Раnasas, а прямой доступ с блокировками - Oracle Cluster Filesystem, Veritas, XFS, iBRIX и еще несколько конкурирующих схем хранения. Техническая реализацияКогда речь идет о том, что InfiniBand не использует общую шинную архитектуру, имеется в виду, что шина не используется в традиционном режиме разделения и блокировок (когда одно устройство захватывает шину, и до окончания операций с ней остальные ждут завершения обмена). Для этой технологии более приемлемой оказалась топология "логической шины" (switched fabric). Данное словосочетание можно перевести как "коммутируемая канва", но чаще (и неверно) оно переводится как "коммутируемая фабрика".
Подобная топология ранее была известна также как FC-SW, где FC обозначает Fiber Channel, а SW - SWitch. Принцип осуществления коммутации в рамках этой топологии заключается в том, что каждый из узлов (серверов) связывается с каждым из хранилищ данных через группу коммутаторов.
Такие величины, разумеется, нужно рассматривать только как теоретически определенные максимумы. Даже для критических приложений и конфигураций существуют "моменты отсечения", то есть пиковый трафик, на который не рассчитывают при проектировании пропускной способности. Можно сконфигурировать систему, способную пропускать любой трафик, но ее стоимость будет слишком высокой. Адресуемые пространстваЧто касается количества подключаемых через InfiniBand устройств, то протокольных ограничений для него не существует. Главное реальное ограничение - 24-битный адрес устройства LID (локальный идентификатор - Local ID). Этот адрес используется при маршрутизации. Соответственно, адресное пространство целевых узлов, обслуживаемых одним маршрутизатором, ограничивается примерно 16 млн. устройств.В современных решениях применяется динамическая трехэтапная маршрутизация. После получения ответа на широковещательный запрос абсолютного адреса целевого узла (GUID), поступающий извне, маршрутизатор сообщает LID, под которым у него зарегистрирован ответивший узел. В качестве развития этой технологии предусмотрена маршрутизация между подсетями с помощью 16-байтного (96-битного) GID. GID - это тот же GUID, но с префиксом адреса подсети. Очевидно, что такое осуществление маршрутизации ориентируется на протокол IPv6. Как уже говорилось, обмен ведется отдельными сообщениями - их размер составляет до 4 кб. Кроме сообщений сданными, предусмотрено также большое количество служебных сообщений, отвечающих за безопасность или качество доставки. Сам обмен данными происходит в трех режимах: прямого удаленного доступа к памяти (RDMA), операций чтения и записи в канал, а также в режиме транзакций с возможностью подтверждения или обращения к журналу отката. За передачу данных отвечают канальные процессоры, почти такие же, как в мейнфреймах. На стороне сервера эти адаптеры называются НСА (Host Channel Adapter), а на стороне устройства хранения - ТСА (Target Channel Adapter). Адаптеры СА - достаточно интеллектуальные устройства, которые способны самостоятельно устанавливать защищенное соединение или договариваться о предоставлении качества обслуживания (QoS). Будущее InfiniBandInfiniBand предоставляет целый ряд преимуществ по сравнению с коммуникационными технологиями. В частности, поддержка 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), сетевые контроллеры непосредственно вмонтированы в материнские платы. Но в данном случае о "конструкторе из недорогих компонентов" речь уже не идет. |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|