Серверы Origin 2000 компании Silicon Graphics
Три с небольшим месяца назад компания SGI произвела мощный залп из орудий главного калибра: на рынок были выведены принципиально новые компьютерные системы архитектуры S2MP (серверы серии Origin и графические суперкомпьютеры Onyx2) и недорогие рабочие станции О2 с прекрасным соотношением стоимость/производительность, также имеющие новую архитектуру UMA, детали которой до сих пор держатся в секрете. По некоторым данным, революционный порыв на этом не закончился, и очень скоро мы сможем познакомиться с новыми интересными разработками в области рабочих станций.
Если бы за новые архитектуры компьютеров присуждались премии, то S2MP смело могла бы претендовать на "компьютерный Оскар". Из других ярких разработок последних лет вспоминаются Convex SPP1000 и архитектура Tandem ServerNet. Интересно, что обе эти разработки имеют некоторые черты, общие с архитектурой S2MP.
Собственно говоря, о ведущихся в SGI работах над системами с новой архитектурой S2MP (Scalable Shared-memory MultiProcessing, масштабируемая многопроцессорная архитектура с разделяемой памятью) слухи ходили уже давно. Ранее эти системы были известны "посвященным" под названием LEGO, это условное наименование хорошо отражает способ построения масштабируемых многопроцессорных компьютеров из отдельных блоков.
Чтобы понять, зачем компании понадобилось "городить весь этот огород", отказываясь от традиционной архитектуры SMP (Symmetrical MultiProcessing, симметричная многопроцессорная обработка), следует рассмотреть сперва некоторые плюсы и минусы последней. Плюсы - это удобство и эффективность распараллеливания в модели общей памяти и хорошие возможности масштабирования конфигурации.
Хорошие-то хорошие, да, оказывается, не совсем. Точнее, не для всех приложений. Действительно, пропускная способность системной шины фиксирована и становится узким местом при увеличении числа процессоров. Другое ограничение - число слотов этой шины. По тем же причинам нельзя также масштабировать подсистему ввода-вывода. Компания IBM, как известно, решила эту проблему кардинально: она вообще отказалась от архитектуры SMP и стала строить кластерные системы SP2. Но при этом исчезает простота распараллеливания, характерная для модели общей памяти. Теперь, правда, IBM планирует применять "SMP-конфигурации" внутри узлов SP2.
Действительно, попытка решить проблему путем построения кластеров из SMP-систем кажется перспективной. Наиболее известные примеры - SGI Power Challenge Array, а также знаменитые кластеры компании Digital Equipment. Но при пересечении "границы SMP-узла" в кластере, прелести удобного распараллеливания, естественно, пропадают.
Наконец, можно пытаться убить двух зайцев сразу. Первым удачным охотником стала Convex, применившая архитектуру ccNUMA в своих суперкомпьютерах SPP1000. В них гиперузлы (аналог обычной SMP-системы) объединяются дополнительными магистралями, а оперативная память всех гиперузлов становится общей, хотя и физически распределенной по гиперузлам. Сейчас архитектура ccNUMA активно внедряется в многопроцессорных компьютерах на базе процессоров Intel Pentium Pro. Но компания SGI пошла еще дальше.
Справедливости ради, прежде чем перейти к описанию архитектуры S2MP, следует отметить, что кончина SMP в ближайшее время вряд ли произойдет: для большинства компьютеров пока не нужны большие диапазоны масштабирования.
Сеть внедряется в компьютер
Недостатком подхода, реализованного в компьютерах Convex SPP, а затем и в серверах компании Hewlett-Packard класса X, является отсутствие масштабируемости связывающих гиперузлы магистралей, которые имеют фиксированную пропускную способность. Чтобы обеспечить масштабируемость, SGI создала сеть внутри компьютера. Если учесть, что ранее сеть с маршрутизаторами внутри вычислительной системы появилась в компьютерах с архитектурой ServerNet от Tandem, можно предположить, что мы имеем дело с некоторой тенденцией. Интересно, станем ли мы когда-нибудь свидетелями внедрения сети теперь уже внутрь микропроцессора?
На рис. 1. представлена общая схема строения систем с архитектурой S2MP, естественно, сильно упрощенная из соображений наглядности.
Так, коммутаторы К имеют 8 портов: 2 соединяют его с концентраторами двух различных процессорных узлов, именуемых в дальнейшем просто узлами, а 6 - с контроллерами ввода-вывода XIO (см. ниже). Аналогично маршрутизаторы являются 8-портовыми и т. д.
Устройство межсоединения (interconnect fabric) может иметь, вообще говоря, различную топологию, что достигается программированием маршрутизаторов. Стандартное построение предполагает гиперкуб. Так, 32-процессорную (16 узлов) систему можно представить как куб, ребра которого соединяют находящиеся в его вершинах маршрутизаторы, а каждый маршрутизатор соединен с двумя узлами. 64-процессорная система реализуется путем соединения пар соответствующих вершин двух таких кубов и т. п. Каждое соединение дополнительно защищено кодом CRC, а протокол канального уровня обеспечивает автоматическое повторение любой передачи, в которой произошел сбой.
Некоторое представление о связях коммутаторов и узлов дает рис. 2. На нем внутреннее строение узлов опущено. Все внешние связи узлов реально осуществляет хаб. В этой конфигурации узлы 1 и 3 соединены с коммутатором К1, а узлы 2 и 4 - с коммутатором К2. Имеется 4 типа маршрутизаторов, но мы не будем на этом останавливаться отдельно. Отмеченный звездочкой на рисунке маршрутизатор называется Express Link. Он фактически соединяет концентраторы узлов 3 и 4 напрямую, исключая дополнительную задержку.
Не следует думать, что, открыв компьютер Origin 2000, вы увидите что-то вроде, скажем, знакомого всем Cisco Router 2514 и т. п. Все три типа "сетевых" блоков Origin - маршрутизаторы, концентраторы и коммутаторы - представляют собой просто полузаказные микросхемы, содержащие в себе crossbar (также переводимый на русский язык как коммутатор).
Устройство межсоединений имеет два типа определяющих характеристик: пропускную способность и величины задержек. Устройство межсоединений использует технологию Cray Link Interconnect. Оно образует сетку из многих соединений "точка-точка", что позволяет одновременно обрабатывать много транзакций и предоставляет много соединений, в то время как традиционная шинная архитектура дает возможность получить только одно. Каждое двунаправленное соединение обеспечивает пропускную способность, как у всей системной шины SGI Power Challenge, что же касается задержек, то они даже ниже, чем у последней. Добавление новых узлов не оказывает существенного влияния на задержки в системе.
Оценки пропускной способности характеризует таблица 1, а описание указанных в ней конструктивных элементов дано ниже. Другая оценка быстродействия - так называемая половинная (bisection) пропускная способность, т. е. скорость, с которой одна половина системы обменивается данными с другой половиной. Эта величина составляет для 8 процессоров 1,25 Гбайт/с (поддерживаемое значение; пиковая скорость равна 1,56 Гбайт/с) и растет линейно при переходе к 16-, 32-, 64- и 128-процессорным системам. При использовании маршрутизаторов типа Express Link данная пропускная способность повышается вдвое.
Таблица 1. Пропускная способность интерфейсов.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В таблице 2 приведены данные тестов STREAMS, также характеризующих пропускную способность, но уже на тракте процессоры-оперативная память. Естественно, что эти данные зависят также от характеристик процессоров. Хотя производительность процессоров MIPS R10000, применяемых сегодня в серверах Origin, на многих тестах уступает HP PA-8000 и DEC Alpha 21164; данные этой таблицы показывают, что Origin 2000 обгоняет конкурентов. Это говорит и о больших потенциальных возможностях архитектуры S2MP.
Таблица 2. Пропускная способность ОП на тестах STREAMS, Мбайт/с.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Глоссарий Origin 2000
Рассмотрим вкратце основные строительные блоки и ключевые особенности Origin 2000.
Процессорный узел представляет собой плату, включающую один или два процессора, часть общей оперативной памяти, так называемый каталог, обеспечивающий когерентность кэшей всех процессоров системы и объединяющий концентратор, имеющий два внешних интерфейса с коммутатором и устройством межсоединений.
Общее распределенное адресное пространство в Origin 2000 "обслуживает" всю оперативную память и ввод-вывод. Оперативная память, будучи общей для всей системы, физически распределена между узлами. Она использует коды ECC и самую передовую технологию SDRAM и имеет емкость от 64 до 1024 Мбайт (или до 4 Гбайт - когда начнутся поставки 64-мегабитных модулей DIMM запланированные на этот год). Оперативная память узла имеет степень расслоения от 4 до 32. Контроллерами распределенной памяти служат концентраторы, обеспечивающие прозрачный доступ к памяти от всех процессоров системы при соблюдении когерентности кэш-памяти.
Миграция страниц. Т. к. обращение к локальной оперативной памяти узла происходит быстрее, чем к удаленной, желательно, чтобы данные были поближе к центральному процессору, часто обращающемуся к ним. Для этого в архитектуре S2MP применяется процесс "миграции страниц", пересылающий данные к нужному узлу.
Каталог - дополнительная память, контролируемая концентратором, и сохраняющая информацию о состоянии всей кэш-памяти внутри узла. Она используется для обеспечения когерентности кэша между всеми процессорами системы. В традиционной шинной архитектуре применяется специальный протокол обеспечения когерентности. При этом в случае возникновения ситуации "неверная строка кэша" идет оповещение об этом всех центральных процессоров системы, даже если в их кэшах нет данной строки. Протокол директории посылает сообщения "точка-точка" только нужным процессорам. При этом уменьшается объем трафика и, соответственно, повышается качество масштабирования.
Интерфейсы ввода-вывода обеспечиваются посредством XIO-плат. Эти платы содержат интегрированные шины PCI-32 или PCI-64. Различные типы XIO-плат могут выполнять, в частности, функции контроллеров Ultra F&W SCSI (как однопроводного, так и дифференциального), Fibre Channel, 100Base-TX, ATM OC3, HiPPI или просто содержать слоты шины PCI. Благодаря применению современных стандартов Ultra SCSI (до 40 Мбайт/с) и Fibre Channel (до 100 Мбайт/с) резко повышает скорость обмена с магнитными дисками.
Какой компьютер самый быстрый?
К семейству Origin относятся четыре класса моделей: Origin 200, Origin 2000 в конфигурации deskside, стоечный Origin 2000 и Cray Origin 2000. В самых дешевых Origin 200, имеющих более высокое соотношение цена/производительность, применяются микропроцессоры R10000 с тактовой частотой 180 МГц (кэш второго уровня емкостью 1 Мбайт), а в Origin 2000 - c частотой 195 МГц (4 Мбайт кэш второго уровня). Origin 200 не имеют некоторых особенностей архитектуры Origin 2000 и содержат от 1 до 4 центральных процессоров. Настольные модели Origin 2000 имеют один модуль, содержащий до 4 узлов (8 процессоров). Стоечные модели включают по два модуля на стойку (до 16 процессоров на стойку; всего до 64 процессоров). Cray Origin 2000 имеют от 65 до 128 процессоров c пиковой производительностью примерно 50 GFLOPS и оперативной памятью емкостью до 256 Гбайт.
Каждый модуль содержит до 12 слотов XIO и может поддерживать до 14,5 Тбайт дисковой памяти при использовании Fibre Channel или до 3,5 Тбайт - в стандарте Ultra SCSI. Следует отметить, что 128 процессоров - не предел для архитектуры S2MP; системы Origin могут содержать свыше 3 тыс. процессоров. В частности, самый крупный из известных на сегодня проектов суперкомпьютерных систем - это разрабатываемый компанией SGI компьютер с 3072 центральными процессорами и пиковой производительностью свыше 3 TFLOPS для Лос-Аламосской национальной лаборатории США. Вероятно, предполагается, что производительность процессора R10000 достигнет при этом около 1 GFLOPS.
В России компьютеров Origin пока еще нет, но уже имеются проекты установки Origin 2000, которые наверняка войдут в короткий список самых мощных российских суперкомпьютеров. Компьютеры Origin могут эффективно использоваться как для коммерческих, так и для научных применений. Вероятно, наибольшее распространение в нашей стране получат более дешевые системы Origin 200.
Михаил Кузьминский - зав. отделом Института органической химии РАН. С ним можно связаться по телефону: (095) 135-6388.