HPC: факторы влиянияАналитическая компания TheInfoPro, недавно созданная выходцами из нескольких ведущих исследовательских лабораторий, провела недавно выборочное обследование нескольких сотен руководителей крупных и средних компаний. На основании полученных ответов аналитики сделали вывод о том, что к 2009 году до половины всех покупаемых серверов будут лезвиями. Это несколько неожиданное наблюдение: поскольку в 2006 году на них приходилось всего 5%. На столь радикальное изменение ситуации в пользу лезвий влияют различные факторы, но прежде всего усилившиеся тенденции в части виртуализации и консолидации вычислительных систем, сокращение занимаемых площадей и энергопотребление, а также распространение 10G Ethernet. Заключение аналитиков свидетельствует одновременно и о восстановлении доверия со стороны пользователей к лезвиям, частично утраченного из-за излишней маркетинговой шумихи, сопровождавшей их сразу после появления на рынке.

Волна увлечения лезвиями поднялась в 2002 году, когда общественность взволновали заявления Линуса Торвальдса и Гордона Белла, которые они сделали после посещения Лос-Аламосской лаборатории, где увидели Green Destiny — кластер Beowolf, созданный Ву Чун Фенгом. Независимо друг от друга авторитетные специалисты в один голос заявили, что будущее суперкомпьютеров будет связано исключительно с серверами-лезвиями. Одним из проявлений ажиотажа, вызванного новой парадигмой, стал, например, выбор названия для очередной инициативы Oracle — Enterprise Grid», где под «гридом» понимались кластеры из лезвий. Но вскоре, как это обычно бывает, наступила полоса спада интереса.

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

Еще в середине 70-х годов в английской компании ICL была разработана компьютерная архитектура VME (Virtual Machine Architecture) с операционной системой George 3 и соответствующая шина VMEbus, позволявшая собирать компьютеры из отдельных плат. Среди прочих решений на базе этой шины был создан и уникальный для середины 90-х годов проект стекового сервера Motorola. Однако сама архитектура VME не выжила, уступив натиску сверхмощного конкурента IBM System/360, а потом и Unix-систем. Увы, с сегодняшних позиций ясно, что VME, (обратите внимание на слово «виртуальная» в ее названии) была не менее перспективна, если не более. По сравнению с породившей ее архитектурой шина VMEbus оказалась более живучей, но с приходом ПК и ее сменила существенно более дешевая PCI, а затем и в серверах на смену PCI должна была прийти дорогая и производительная технология Infiniband. Однако кризис 2000 года повлек за собой сокращение инвестиций в ИТ, и этот перспективный метод подключения периферии был отставлен, а на компьютерную сцену вышла технология PCI Express. Для слабосвязанных кластеров стали использовать различные версии Ethernet.

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

Рождение InfiniBand пришлось на период между 1999-м и 2001 годомЛезвия в том виде, который мы знаем, появились на свет благодаря изобретательности Криса Хиппа, человека, сочетающего в себе качества визионера, предпринимателя и инженера, и к тому же в свое время бывшего профессиональным велогонщиком. Удача пришла к нему во время Internet-бума конца 90-х. Хипп служил в инвестиционной компании, специализировавшейся на работе со «стартапами», обеспечивавшими разного рода Web-сервисы. По долгу службы он смог оценить проблемы, с которыми сталкивались такие компании. За неимением альтернативы имприходилось использовать универсальные Unix-серверы, которые потребляли слишком много энергии, занимали слишком много места и были слишком дорогими. Такие серверы в свое время проектировались в расчете на тяжелые транзакционные задачи, а потому их возможности оставались недоиспользованными, когда основной нагрузкой становились Web-приложения. И тогда ему в голову пришла, казалось бы, банальная идея — заменить монолитные серверы простыми платами с процессорами архитектуры x86, работающими под управлением ОС Linux. В декабре 1999 года эта идея окончательно оформилась, и 1 января 2000 года была создана компания RocketLogix. Сначала компания использовала процессоры Celeron, а потом — процессоры Crusoe, которые тогда только появились, но на которые возлагались очень большие надежды.

Своей идеей (поначалу она именовалась Razor, то есть «бритва»), Хиппу удалось переманить на свою сторону нескольких серьезных специалистов из Compaq, прежде всего Гарри Стимака, ставшего генеральным директором, а до этого возглавлявшего подразделение Compaq, отвечавшее за разработку платформ Windows/Intel, и Майкла Свавели, перешедшего на должность президента с поста руководителя операций Compaq в Северной Америке. Стимаку и Свавели в свою очередь удалось привлечь к новому делу несколько выдающихся инженеров из Cоmpaq. Хипп писал тогда: «Каждые пять–десять лет новые технологии собираются в нужном месте, и тогда образуются условия для очередного прорыва на рынок. События такого рода периодически происходят в различных отраслях, истории, посвященные им, выходят за отраслевые границы, они попадают на страницы массовых изданий и на телевидение. Именно к этой категории явлений относится создание RLX Technologies (новое название RocketLogix. — Л. Ч.), нам удалось создать новый класс серверов, востребованных рынком». Далее он сформулировал амбициозную задачу: «Наше видение кристально прозрачно, мы хотим перекроить серверную экономику. Собрав такую мощную команду и располагая такой разрушающей каноны технологией, мы намерены стать ведущим игроком в данном сегменте рынка».

Дальше процесс становления концепции лезвий развивался с калейдоскопической скоростью. Весной кто-то первым произнес server blade (то есть сервер-лезвие), и это название мгновенно распространилось по всему миру. В 2001 году одно из самых авторитетных американских бизнес-изданий с труднопереводимым названием Red Herring (буквально «копченая селедка», а иносказательно, иронически — «отвлекающий маневр» или «запустить дурочку») назвала RLX в числе десяти наиболее перспективных компаний года.

Но затем Хиппу не повезло. Из-за обвала Internet-рынка тот сегмент, на который он рассчитывал, оказался неплатежеспособен, и Хиппу пришлось искать иное приложение лезвиям. Выбор пал на высокопроизводительные компьютерные системы. Первым успехом стал кластер Green Destiny, с которого и началось победное шествие лезвий в суперкомпьютерном рейтинге. Вскоре производство лезвий освоили большие компьютерные компании — в первую очередь, IBM и HP, которая, кстати, купила RLX Technologies, в несколько меньших масштабах Dell, Sun Microsystems и некоторые другие. Сегодня крупнейшим производителем лезвий является компания HP; вне всякого сомнения, этому способствовало вовремя сделанное приобретение RLX. В HP намереваются закрепить свой успех, выдвигая лозунг о «всеобщей блейдизации» (Blade Everything).

Но и производители более традиционных тонких серверов не сдают своих позиций. К примеру, компания Aberdeen предлагает тонкие серверы, не уступающие по компактности лезвиям. Их преимущество — в возможности монтажа в обычные стойки без использования промежуточного конструктива, называемого «корзиной» (crate). Продуктовая линейка Aberdeen состоит из четырехпроцессорных серверов Stirling HPC высотой 1U, 2U или 4U, построенных на четырехъядерных процессорах Intel Xeon. Серверы комплектуются жесткими дисками высокой емкости с интерфейсом SAS. Так, Stirling 244 2U допускают расширение дисковой подсистемы до 6 Tбайт.

Infiniband

Вторая волна InfiniBand поддерживается открытыми отраслевыми стандартамиЗа минувшие семь-восемь лет технология InfiniBand совершила весьма интересный кульбит. Сначала она привлекла к себе всеобщее внимание, затем ушла в тень, а теперь снова оказалась в фокусе общественного интереса. Изначально InfiniBand задумывали в качестве альтернативы существовавшим на тот момент технологиям для подключения внешних устройств к серверам, прежде всего PCI и Fibre Channel. Возможности InfiniBand представлялись многообещающими, аналитики предсказывали ей скорую победу над предшественниками. О надеждах, возлагавшихся на InfiniBand, можно судить хотя бы по тому, что в 1999 году была создана крупная отраслевая ассоциация InfiniBand Trade Association (IBTA, www.infinibandta.org), куда вошли практически все ведущие производители компьютерных систем. К середине 2001 года ассоциация насчитывала более 200 участников. Вероятнее всего, последующие события развивались бы в соответствии с предсказаниями, если бы не кризис начала 2000-х, замедливший технологический прогресс во многих сегментах ИТ-рынка. К еще не установившейся технологии InfiniBand интерес заметно упал: на фоне общего спада востребованными оказались более дешевые и практичные решения. В результате многие компании-«стартапы», сделавшие ставку на InfiniBand, вышли из игры. Под давлением обстоятельств даже те, кто поддерживал проект на первых шагах, отступили от него, как, например, корпорация Intel, отдавшая предпочтение PCI Express, а производители дисковых накопителей остались с Fibre Channel и разработали более дешевую альтернативу, iSCSI.

Но буквально через год или два, с 2003 года, заинтересованность в InfiniBand вновь стала возрастать. В деле возвращения InfiniBand на сцену заметную роль сыграли несколько переживших кризис компаний, среди них Mellanox и Voltaire. Теперь эта технология организации межсоединений предстала в ином качестве; ее стали рассматривать в качестве более эффективной замены Ethernet и Myrinet для кластерных конфигураций, предназначенных для высокопроизводительных вычислений.

Достоинства InfiniBand, обеспечившие успех в ее новой ипостаси, следует искать в качествах, заложенных в нее в процессе создания. Рождение InfiniBand пришлось на период между 1999-м и 2001 годом, тогда в разгар Internet-бума обнаружилось, что пропускная полоса каналов между процессорами и устройствами съедается возрастающей мощностью новых процессоров, новыми приложениями типа потокового видео, графикой с высоким разрешением и тому подобными факторами. В этих условиях представлялось логичным заменить морально устаревшую в силу своей «шинной» идеологии архитектуру PCI на последовательное межсоединение, имеющее широкую полосу пропускания и, что не менее важно, низкую задержку. Проект InfiniBand оказался столь успешен, что появились предположения, что данная технология может стать стандартом для сетей и заменить собой сети хранения, построенные по технологии Fibre Channel.

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

Архитектура InfiniBand состоит из четырех основных структурных компонентов.

  • Адаптер канала хоста (Host Channel Adapter, HCA). Именно этому компоненту принадлежит главная роль в инициации и последующей организации обмена. Аппаратно этот адаптер может быть реализован в виде отдельной платы или в современных моделях интегрирован в системную плату на сервере. Организуя обмен, адаптер HCA может вступать во взаимодействие с тремя типами компонентов: во-первых, напрямую с аналогичными адаптерами HCA, во-вторых, с целевыми адаптерами канала или, в-третьих, с коммутатором InfiniBand.
  • Менеджер подсети (Subnet Manager, SM). Этот программный модуль служит для управления и мониторинга «матрицей InfiniBand» (InfiniBand fabric). Подобного рода структура может быть простым соединением типа точка-точка, или же может состоять из одного или нескольких коммутаторов. В ней активный менеджер SM может размещаться на одном из узлов или непосредственно на одном из коммутаторов, помимо управления его функция состоит в снабжении необходимой коммутационной и конфигурационной информацией всех коммутаторов, входящих в InfiniBand fabric. Для большей надежности резервные менеджеры SM могут быть размещены на нескольких узлах InfiniBand fabric. Согласованная работа инфраструктуры поддерживается тем, что все остальные узлы структуры включают в себя специальные агенты, обеспечивающие обработку данных, относящихся к обмену. Менеджеры и агенты взаимодействуют по алгоритмам, заложенным в датаграммы Management Datagram.
  • Целевой адаптер канала (Target Channel Adapter, TCA). В отличие от HBA целевой адаптер канала используется для подключения не серверов, а внешних устройств, в том числе устройств хранения и интерфейсов ввода/вывода, к инфраструктуре InfiniBand. Обычно адаптер TCA включает контроллер ввода/вывода, соответствующий специфическому протоколу устройства (SCSI, Fibre Channel, Ethernet и т.д.), и он же обеспечивает взаимодействие с адаптерами HCA и коммутатором InfiniBand.
  • Коммутатор InfiniBand. Главная роль коммутатора InfiniBand заключается в обеспечении масштабируемости инфраструктуры InfiniBand. Он позволяет подключать необходимое число адаптеров HCA и TCA, а также дополнительные коммутаторы InfiniBand fabric. Роль коммутатора состоит в организации сетевого трафика; с этой целью он проверяет заголовки пакетов данных и направляет их по месту назначения. В зависимости от сложности InfiniBand fabric может состоять только из хостов, снабженных адаптерами HCA, и устройств с адаптерами TCA или же может включать один или несколько коммутаторов.

Пятиуровневая модель InfiniBand

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

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

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

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

На уровне связи данных к пакету добавляется локальный идентификатор (Local Identifier, LID), и он передается в подсеть, управляемую мененджером подсети.

На физическом уровне пакеты преобразуются в сигналы в соответствии с типом носителя — медью или оптикой.

Новая система тестирования

Вплоть до последней своей редакции список самых мощных суперкомпьютеров мира Top500 составляется по результатам тестирования на тесте семейства Linpack Benchmarks (High Performance Linpack, HPL), созданным в начале 90-х годов под руководством профессора Университета штата Теннесси Джека Донгарры. Тест HPL построен на основании библиотеки BLAS (Basic Linear Algebra Subprograms), специализированной на выполнении основных матричных и векторных операций, из-за чего он страдает односторонностью. В частности, BLAS не отражает всей совокупности требований к суперкомпьютеру, если тот используется на более широком круге задач. К примеру, используемым тестам сложно оценить скорость обмена с оперативной памятью или дисками. Но заменить Linpack Benchmarks не просто. Как правило, проблема тестирования обостряется в том числе и в силу несовпадения интересов разных производителей: кому-то тест оказывается предпочтителен, кому-то — нет.

Но время идет, и новые требования становятся более актуальными. Поэтому в рамках проекта DARPA High Productivity Computing Systems (HPCS) примерно тот же коллектив специалистов, объединенных в Innovative Computing Lab и возглавляемый Джеком Донгаррой и Петром Лузчеком, разрабатывает в настоящее время альтернативную систему тестирования, которая получила название HPC Challenge Benchmark. Представляя эту систему во время конференции SC2004 в ноябре 2004 года, Донгарра высказался так: «Тест HPC Challenge будет анализировать архитектуру высокопроизводительных компьютеров с использованием ядра, предъявляющего более высокие требования к обмену с памятью, чем HPL. Его можно рассматривать как расширение или усиление существующих критериев, используемых при составлении списка Top 500».

Конечная цель создания HPC Challenge Benchmark заключается в стимулировании создания компьютеров, которые будут эффективны на ряде новых приложений различных типов. В их числе моделирование сложных физических систем, систем вооружения, беспилотных летательных и наземных аппаратов, погоды и климатических изменений. Помимо этого в тесте косвенным образом учитывается производительность труда программистов и скорость решения задачи в целом.

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

HPC Challenge benchmark включает семь составляющих:

  • HPL Linpack TPP; измеряет скорость работы при решении системы линейных уравнений;
  • DGEMM; измеряет скорость выполнения операций с плавающей запятой двойной точности, выполняемых над матрицами;
  • STREAM; синтетический тест, измеряющий установившуюся полосу пропускания при обмене с оперативной памятью;
  • PTRANS (parallel matrix transpose); оценивает коммуникации между процессорами при выполнении матричных операций;
  • RandomAccess; измеряет скорость целочисленного обмена с оперативной памятью;
  • FFTE; измеряет скорость вычисления дискретного преобразования Фурье;
  • B_Eff (effective bandwidth benchmark); набор тестов для измерения задержки и полосы пропускания при одновременных обращениях в память.