Network World, США

Технология, созданная для связи серверов и систем хранения данных, находит себе новые применения

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

Благодаря значительной пропускной способности, а также в силу того, что полная задержка при передаче данных не превышает 1 микросекунды, 20-гигабитный вариант InfiniBand (часто называемый DDR, то есть «с удвоенной скоростью») помогает решить проблемы, связанные с вводом/выводом в центрах обработки данных, и активно завоевывает суперкомпьютерные центры.

InfiniBand — это стандарт, сформулированный отраслевой ассоциацией InfiniBand Trade Association. Его поддерживают многие производители, а также Open Fabrics Alliance, альянс, объединяющий разработчиков свободно распространяемого программного обеспечения.

Данный стандарт определяет несколько ключевых технических решений, которые позволяют поддерживать высокую производительность и надежность при низких задержках. В первую очередь, это: контроль потоков данных на основе так называемых «кредитов»; «канализируемый» ввод/вывод с поддержкой аппаратно реализуемого механизма управления качеством обслуживания; транспорт, оптимизированный для передачи большого трафика с минимальной нагрузкой на сервер.

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

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

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

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

Управление передачей на основе «кредитов» в InfiniBand осуществляется отдельно по нескольким каналам, обеспечивая простой, но надежный механизм обеспечения качества обслуживания для защищаемого трафика. Защита трафика очень важна, в частности, для реализации стратегии конвергенции сетей, поскольку один канал связи заменяет в этом случае несколько работающих в параллель сетей, используемых для кластеризации, хранения, коммуникаций и управления трафиком. Критически важным это становится для виртуализованных сред.

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

Однако большинство пользователей InfiniBand также применяют и TCP/IP для обеспечения интероперабельности приложений. Например, для поддержки одного типа трафика между серверами нужна высокая производительность и перераспределение нагрузки, характерные для транспорта InfiniBand, для поддержки другого — совместимость протоколов и приложений, обеспечиваемые TCP/IP. Многие центры обработки данных, поддерживающие технологию InfiniBand, используют оба протокола.

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

Дэн Таклер — старший директор по управлению продуктами компании Mellanox Technologies. С ним можно связаться по адресу dan@mellanox.com