СУПЕРКОМПЬЮТЕРЫ

Эпоха господства симметричных мультипроцессорных систем (Symmetric MultiProcessing) в сегменте высокопроизводительных вычислительных комплексов закончена. Это стало ясно несколько лет назад - в июньском 2002 г. рейтинге пятисот самых мощных суперкомпьютеров мира, опубликованном на сайте top500.org, было представлено всего три SMP-системы. В том же рейтинге, если сравнивать его с предыдущим, было отмечено почти двукратное увеличение присутствия кластерных систем - их в списке насчитывалось 81, или 16,8% от общего числа. Каждый последующий рейтинг, а они публикуются дважды в год, лишь подтверждал эту тенденцию. В ноябрьском рейтинге 2005-го системы, построенные на базе кластерной архитектуры, составляют уже 72,0% когорты лучших из лучших, в то время как для SMP-систем рейтинг трехлетней давности стал последним, в который им удалось попасть.

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

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

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

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

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

Наиболее важными характеристиками являются:

- пропускная способность канала (bandwidth) - количество передаваемой информации в единицу времени. Варьируется в зависимости от размера пакета передачи. При небольшом размере - в большей степени зависит от latency (см. ниже);

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

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

12-портовый коммутатор Cisco SFS 3001 Infiniband

Далее попытаемся сделать небольшой обзор наиболее популярных и перспективных на сегодняшний день технологий.

Надежный экономкласс

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

Способный объединить многие сотни систем, расположенных как в одном монтажном шкафу, так и за сотни километров друг от друга, Ethernet играет роль универсального стандарта. Но именно универсальность создает основные проблемы при его использовании в качестве межсоединения в кластерах.

Значительные задержки в передачу данных вносит исполнение алгоритмов по обработке таблиц маршрутизации. А реализация стека TCP/IP, включая копирование передаваемой информации через промежуточный буфер ОС, расходует помимо того еще и процессорные ресурсы. При этом интенсивный трафик способен значительно загрузить процессор, что может замедлить работу основного приложения. С другой стороны, занятость процессоров обработкой задач приложения вносит дополнительные задержки в процесс приема/передачи информации. Задержки при использовании технологии Gigabit Ethernet достаточно высоки, зависят от аппаратной реализации сетевого интерфейса и варьируются от 30 до 90 мкс.

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

На крейсерских скоростях по ценам бизнес-класса

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

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

Среди достаточно широкого спектра предлагаемых технологий можно выделить две основные группы: технологии на основе открытых стандартов и фирменные технологии. В свою очередь, первую группу можно разделить на технологии, поддерживаемые одним или несколькими производителями.

В числе фирменных интерфейсов можно упомянуть такие, как HyperFabric2 и ServerNet II от HP, Switch II от IBM, NUMAlink от SGI, Sun Fire Link от SUN. Несмотря на отличные характеристики, использование технологий межсоединения этой категории ограничено - часто они могут эксплуатироваться лишь на аппаратных комплексах производителей интерфейсов и с применением их же программного стека. В настоящий момент намечается тенденция перехода крупных производителей на широкую поддержку более дешевых открытых стандартов.

Из всех технологий, основанных на открытых стандартах, самыми перспективными считаются Myrinet, Infiniband и все тот же Ethernet. Здесь можно упомянуть еще QsNet II от Quadrics и SCI от Sun, которые имеют несколько лучшие качественные характеристики по сравнению с Myrinet, Infiniband и Ethernet (задержка QsNet II составляет всего 1,6 мкс, и это лучший показатель среди всех рассматриваемых межсоединений), но из-за проблем с масштабируемостью, недостаточной гибкости и высокой цены (что особенно справедливо для QsNet) они едва ли могут претендовать на широкое практическое применение в будущем.

Myrinet - уже классика?

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

Myrinet был создан в 1994 г. компанией Myricom, которая по сей день является единственным производителем оборудования для сетей этого типа (несмотря на то что Myrinet c 1998-го стал ANSI-стандартом). Тем не менее, как уже было сказано выше, эта технология весьма востребована при построении высокопроизводительных вычислительных комплексов и предлагается как опция многими крупными производителями. На физическом уровне соединение Myrinet представляет собой два оптических кабеля, подключаемых к системе с помощью одного разъема.

Сеть строится по принципу дерева с использованием несложных 8/16-портовых коммутаторов, не обремененных задачей расчета маршрутизации. Каждый узел сети, построенной на базе этой технологии, должен "знать" всю топологию сетевого дерева, поэтому сеть должна быть достаточно статичной. Максимальное число узлов в сети - 1024.

Темная лошадка по имени Infiniband

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

Для создания нового стандарта в августе 1999 г. в результате объединения двух отдельных групп была создана ассоциация, собравшая таких крупных производителей, как Intel, Sun, Dell, IBM, HP, Compaq...

Стандарт Infiniband был рожден с прицелом на множество целей и внес с собой новое понятие - системная сеть (System Area Network). Оно подразумевает относительно локальную сеть, разработанную для высокоскоростного обмена данными между серверами (например, между узлами кластера или сервером базы данных и сервером приложений), между серверами и устройствами хранения (как некая замена сетей хранения данных Storage Area Network).

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

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

В настоящее время стандарт предусматривает работу на трех скоростях - в зависимости от количества контактов на физическом уровне. Базовый (1x) уровень имеет четыре контакта и обеспечивает передачу на скорости 2,5 Гбит/с. Соединения 4x и 12x имеют соответственно 16 и 48 контактов и скорости 10 и 30 Гбит/с. Стандарт Infiniband поддерживает соединения как с помощью медного кабеля (до 10 м), так и с помощью оптики (до 10 км). Каждая подсеть, объединенная с помощью коммутаторов Infiniband, может содержать до 48 тыс. узлов. Для объединения подсетей используются маршрутизаторы.

На текущий момент IP является "королем" среди протоколов общего назначения, а потому неудивительно, что поддержка IP реализована и для Infiniband - IP over Infiniband, или IPoIB. Однако "благодаря" своей природе IP далек от возможности использовать те преимущества, которые предоставляют производители Infiniband сегодня. Стандарт Infiniband предлагает собственный протокол для работы через сокеты - Socket Direct Protocol. Достоинством SDP является то, что он использует реализуемую на уровне аппаратуры надежность передачи данных, тем самым исключается необходимость осуществления этих функций на уровне программного стека, что, естественно, экономит и время, и системные ресурсы. Через SDP реализован удаленный прямой доступ к памяти (Remote Direct Memory Access), позволяющий приложению с одного компьютера помещать информацию в память другого без дополнительной обработки на узлах, что значительно сокращает задержки передачи.

Другая интересная возможность Infiniband - режим OS Bypass. В этом режиме ресурсы адаптера Infiniband ассоциируются непосредственно с пользовательским процессом - за счет этого приложение может обмениваться данными напрямую с аппаратным обеспечением, что исключает затраты, связанные с обращениями к ОС. На данный момент существуют два API для работы в этом режиме: uDAPL и ITAPI.

Технология Infiniband обеспечивает низкие задержки при использовании "родных" протоколов передачи - в зависимости от приложения от 5 до 10 мкс. В случае IPoIB этот показатель хуже в два-три раза.

На скоростях 10Gb - Ethernet навсегда?

Технология Ethernet известна как "убийца" всех конкурентов, посягнувших на ее первенство, "жертвами" которой в свое время стали такие многообещающие стандарты, как Token Ring, FDDI, ATM, Arcnet. В борьбе за лидерство эта технология изменялась - увеличивалась пропускная способность, уменьшались задержки, качественно улучшались другие важные характеристики. В результате Ethernet вот уже более десятилетия остается де-факто сетевым стандартом для любых дистанций.

Очередной виток развития стандарта - появление 10 Gigabit Ethernet. В наследство от предыдущей версии 10-гигабитный Ethernet получил все достоинства и недостатки. Главными достоинствами можно назвать возможность работы совместно с предыдущими поколениями Ethernet, высокую мобильность и вездесущий TCP/IP. Основные недостатки - относительно большие задержки и высокая загрузка процессора. А поскольку для передачи данных со скоростью 1 Мбит/с по Ethernet требуется процессор с тактовой частотой не менее 1 МГц, мощности современного процессора явно недостаточно для обработки трафика на максимальных скоростях, предлагаемых данным стандартом. Это не могло добавить уверенности в будущем технологии Ethernet. К тому же особенности алгоритмов TCP/IP, включающие многократный доступ и копирование одних и тех же данных, создают еще одно узкое место - доступ к памяти. Усилия энтузиастов Ethernet были направлены на реализацию средств, позволяющих сократить эти издержки.

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

Любопытно, что разработчики Ethernet, подстегиваемые агрессивным наступлением Infiniband, без стеснения заимствовали у конкурентов некоторые ключевые идеи. Одна из них - реализация физического уровня передачи на "меди". Стандарт C4X, ранее использовавшийся только в Infiniband, существенно удешевил оборудование Ethernet 10 Gbps, производимое до этого только для передачи в среде волоконно-оптических каналов. Другая - разработка стандарта RDMA для Ethernet.

Адаптер 10 Gigabit Ethernet производства Chelsio Communications

Пока перечисленные инновации не нашли отражения в массовом производстве, хост-адаптеры Ethernet 10 Gbps имеют достаточно высокую цену, которая колеблется у границы в 1000 долл.

В то же время усилия по оптимизации "младшего брата" благоприятно сказались на перспективах "старшего" - одногигабитного Ethernet.

Как насчет универсала?

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

Набор таких адаптеров - это не только целый "зоопарк" внутри компьютера, но и сложная сетевая инфраструктура.

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

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

Не уступает, а в чем-то даже и превосходит конкурента Infiniband. Во-первых, благодаря поддержке стека TCP/IP работа с протоколом iSCSI подразумевается как бы сама собой. Во-вторых, некоторые производители дисковых массивов (в частности, Engenio Information Technologies и Verari Systems) начали выпуск устройств хранения с возможностью подключения к сети Infiniband. И в-третьих, на рынке появились универсальные мосты-коммутаторы, имеющие в своем составе как порты Infiniband, так и порты для подключения устройств Ethernet и/или Fiber Channel, а также оснащенные программным обеспечением для взаимного конвертирования протоколов разных сред - сейчас, например, такие устройства на рынке предлагают Cisco и SilverStorm.

Заключение

Эта гонка без финишной черты. Одни игроки сойдут с дистанции, другие останутся на ней, появятся новые. А пока противники "бьют" друг друга все новыми и новыми аргументами. Не так давно компания Myrinet объявила о создании стандарта, позволяющего работать на скорости 10 Гбит/с с использованием среды передачи Ethernet 10Gb, что дает возможность создавать сетевые адаптеры с поддержкой обоих стандартов. В свою очередь, разработчики Infiniband в самом ближайшем будущем обещают увеличить скорость до 120 Гбит/с, а задержки "загнать" в пределы 1 мкс.

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

Последнее является одним из главных аргументов в продвижении технологии GRID-вычислений.

С автором статьи, старшим консультантом Oracle СНГ по кластерным технологиям и системам высокой доступности, можно связаться по электронной почте: vladimir.demkin @oracle.com.