`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Неправильная SiCortex

Статья опубликована в №25 (691) от 14 июля

+11
голос

Чего может добиться маленькая дерзкая компания в мире большой ИТ-индустрии? Компания, силами менее восьмидесяти специалистов замахнувшаяся на... повторение целой индустрии в себе. Оказывается настолько многого, что вся эта история в кризисные времена может служить душеполезным чтивом. Ну и само собой, это просто очень интересно.

Неправильная SiCortex
Старшая модель семейства суперкомпьютеров SiCortex. Максимальная конфигурация с 5832 64-битовыми процессорами и 8 TB ОЗУ обеспечивает производительность 8,2 TFLOPS при энергопотреблении мнее 20 КВт

Если заглянуть в статистику проекта TOP500, а именно в данные о «распространенности» процессорных архитектур в современных самых производительных компьютерах, можно увидеть одну важную цифру: почти 89% суперкомпьютеров основаны на обычных «настольных» x86-совместимых процессорах. Иными словами – мир суперкомпьютеров фактически превратился в арену борьбы систем «потребительской» (commodity) архитектуры. Эту банальность приходится повторять для того, чтобы продемонстрировать степень дерзости замысла основателей компании SiCortex – создать собственный энергоэффективный суперкомпьютер уникальной архитектуры на практически полностью собственной уникальной элементной базе. И сделать это силами маленького коллектива разработчиков за весьма короткий промежуток времени. Сразу следует сказать – SiCortex не стала еще одной застрявшей в прожектах или на уровне незавершенных проектов фирмой. Компания не просто разработала собственные суперкомпьютеры, она их производит и может заслуженно гордиться солидной (по меркам суперкомпьютерного мира) инсталляционной базой – 75 машин, уже безупречно себя зарекомендовавших (за время эксплуатации – ни одного возврата, и это при 99% загрузке и фактически непрерывной работе). Согласитесь, нечасто в последнее время мы слышали о не просто пытавшихся создавать уникальные сложные системы, но о тех, кому это действительно удалось.

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

Основную идею дизайна машин SiCortex лучше всего пояснить с помощью анализа несложного уравнения:

Tрешения задачи = Tпроцессора + + Tожиданий памяти + Tобмена.

Оно описывает затраты времени на решение некоторой задачи массово-параллельной машиной как сумму затрат непосредственно процессорного времени, суммарного времени простоев из-за ожиданий реакций подсистемы памяти и времени, затраченного на обмен данными между отдельными вычислителями. Массовая ИТ-индустрия, поставщик основных компонентов для вычислительных систем потребительского (commodity) класса, всегда работает фактически на уменьшение Tпроцессора. Что логично – до перехода массово-параллельных систем в потребительский класс индустрия еще не доросла, мы только вступаем в период подлинной доступности SMP-архитектур. Не менее логичным является и следствие этой концентрации усилий – рост энергопотребления (если ставится задача тот же объем работы выполнить за меньшее время, но тем же числом исполнителей, надо затратить больше энергии, чудес не бывает). К тому же пользователь компьютера потребительского класса, практически никогда не «гоняющий» свой персональный вычислитель в пакетном режиме, вообще плохо «замечает» значимость критериев временноóго характера, для него важнее видимый, ощутимый прирост быстродействия на коротких, «спринтерских» временных отрезках сеансов работы. У потребителя машинного времени суперкомпьютера критерии совершенно иные. С одной стороны, ему приходится расплачиваться невыполненной полусотней операций с плавающей точкой за каждое обращение к находящимся за пределами кэш-памяти данным. С другой – задержка, вносимая ОЗУ в системах потребительского класса (порядка сотни наносекунд), ограничивает производительность процессора любой тактовой частоты (хоть бы и вообще бесконечной) на уровне нескольких сотен мегафлоп. Это означает, что в массово-параллельных системах на основе вычислителей потребительского класса гонка за снижением Tпроцессора с какого-то уровня быстродействия просто теряет смысл. Что, в свою очередь, подсказывает – у создателей уникальных массово-параллельных систем появляется реальный шанс предложить потребителям что-то очень интересное, вполне возможно, по совокупности характеристик куда более интересное, чем очередной типовой кластер. Об этом «более интересном» можно говорить как о результате решения сложной задачи многокритериальной оптимизации, требующей от конструкторов формирования сбалансированной системы, одновременно сравнимой по производительности с конкурирующими commodity-кластерами, но потребляющей существенно меньше энергии, исключительно компактной, позволяющей развернуть суперкомпьютер почти из тысячи процессоров буквально за десяток минут. Иными словами, в SiCortex «выдавили» сколько можно производительности из каждого доллара стоимости системы, каждого потребляемого ею ватта и из каждого кубического сантиметра конструктива. И что самое интересное, мы можем с помощью весьма несложных размышлений повторить на бумаге путь разработчиков SiCortex.

Неправильная SiCortex
Системная плата SiCortex. На ней хорошо видны черные радиаторы двадцати семи систем на чипе. Под каждым из них – 6 64-битовых процессоров MIPS-архитектуры. В старшей модели используется до 36 таких плат

Итак, предположим, что мы хотим создать эффективный компактный и недорогой суперкомпьютер. Цепочку рассуждений начнем с констатации уже известного – вычислители потребительского класса как базис нашей будущей конструкции нас не устраивают. Почему – сказано выше. Следовательно, нам нужен новый базовый вычислитель. Он должен быть исключительно простым, компактным, энергоэффективным, дешевым и с приличной производительностью. Тут и рассуждать нечего – согласно требованиям в идеале весь базовый вычислитель должен быть просто одной микросхемой. К сожалению, «утрамбовать» на один кристалл процессор, требуемые подсистемы и оперативную память адекватной решаемым задачам емкости (несколько гигабайтов) не представляется технологически возможным. Посему в однокристальном исполнении должно быть все, кроме ОЗУ. А вот эта задача уже вполне решаема даже малым коллективом разработчиков (в SiCortex над нею работали всего двадцать четыре человека). Малая численность коллектива – очень важный нюанс, вынуждающий использовать максимум доступной IP (Intellectual Properties, «интеллектуальная собственность» – пригодные к синтезу модели узлов цифровых устройств). Раз требуется однокристальная реализация и IP, об использовании x86-совместимого процессора лучше не думать (и сами процессоры сложны, и IP их крайне дорогое удовольствие, и Open Source IP «в природе» не наблюдаются). А так как для разработки собственного процессора нет времени и ресурсов, следовательно, задача упрощается – надо выбрать из имеющихся на рынке IP процессорных архитектур такую, которая бы удовлетворяла особенностям решаемой задачи. Если учесть, что речь идет о высокопроизводительных вычислениях, выбирать особо не из чего – специфике соответствуют только IP процессоров семейств SPARC и MIPS. В SiCortex выбрали ядро 64-битового процессора MIPS-семейства. Так как MIPS – архитектура заслуженно популярная с малой требуемой для реализации площадью кристалла, этот выбор открывает неплохие перспективы в «утрамбовывании функциональности». Впрочем, тут лучше сразу рассказать о результате этого процесса. Итог решения задачи оптимизации базового вычислителя конструкторами SiCortex такой – однокристальная шестиядерная (!) 64-битовая система на чипе, всего 20% площади которого разработаны в SiCortex, остальные тщательно выбраны из пула доступного на рынке IP, полностью интегрирующая все, что нужно для работы: шесть процессоров, кэш-память, контроллеры ОЗУ, шины PCIe и прямого доступа к памяти, а также полная реализация подсистемы межмашинной коммуникации для построения массово-параллельных машин. Одна «нода» от SiCortex, выражаясь кластерным сленгом, – это микросхема системы на чипе и два модуля стандартной DDR2-памяти. Все. Никаких утыканных микросхемами малой и средней степени интеграции материнских плат, ничего лишнего, только то, что надо. В сравнении с техникой потребительского класса (загляните «во внутренности» вашего ПК) – сверхпросто, а значит, сверхнадежно (что и подтверждается эксплуатацией машин SiCortex).

Системное ПО такого вычислителя не оставляет пространства для вопросов. Это, конечно же, ОС Linux с серьезными модификациями кода ключевых подсистем ядра (достаточно упомянуть о способности этой ОС «подкачивать» страницы виртуальной памяти, используя коммутационную сеть суперкомпьютера).

Итак, базовый вычислитель мы уже «спроектировали», оставив в его проекте некий «черный ящик» невнятной функциональности – подсистему межмашинной коммуникации. Эта подсистема – второй важнейший компонент массово-параллельного суперкомпьютера. И в ее реализации SiCortex приготовила настоящий сюрприз. Традиционно коммуникационная инфраструктура кластерных вычислителей строится на основе распространенных транспортов данных: обычного потребительского Gigabit Ethernet (более 56% суперкомпьютеров TOP500) или специально разработанных для массово-параллельных систем Infiniband или Myrinet (31% в списке TOP500). На самом деле в этой подсистеме важен не только и даже не столько тип транспорта. Важнее – схема соединений вычислителей между собой, топология сети. Самые популярные транспорты обычно используются в сетях древовидной топологии, это связано с принципами работы самих транспортов. Более экзотические решения, присутствующие в моделях, попавших в список TOP500, используют уникальные транспорты данных и более интересные топологии сетей, например двух- или трехмерные торы. Все эти решения хоть и работоспособны, но или просто скучны, неинтересны и ничем особенным не привлекательны (и еще и с достаточно «заторможенной» реакцией, как деревья на Gigabit Ethernet), или очень дороги и хороши для решения определенных классов задач. И что главное – ни одно из этих сочетаний транспорт-топология не может претендовать на универсальность для решения самой важной задачи формирования быстрой, дешевой и надежной среды коммуникации для массово-параллельных вычислителей с числом узлов от сотен до нескольких тысяч. Решение ее, найденное учеными и конструкторами SiCrotex, – подлинный шедевр использования абстрактной прикладной математики в сугубо инженерных задачах. Потому без обращения к некоторым математическим понятиям здесь просто не обойтись.

Теория графов, один из разделов дискретной математики, можно назвать чуть ли не уникальным источником как инженерного инструментария, так и идей. Несмотря на то что теория графов начинается с далекого 1736 г., имеющее практическую пользу что-то новое в ней открывают до сих пор. Примером такого открытия может служить семейство специфических направленных графов, названное в честь автора, графами Каутца. К слову, исследователь Вильям Каутц – отличный пример настоящего «мультиинструменталиста» периода бурного роста электроники и вычислительной техники, с конца 50-х до 80-х гг. прошлого века умудрившегося увековечить свое имя многими разработками (например, фильтром Каутца и т. д.). Граф Каутца обозначается K(D,N). Это абстрактная математическая структура, состоящая из (DN+DN-1) определенным образом поименованных узлов, каждый из которых соединен с D других узлов. Принцип именования узлов и формирования связей между ними строго детерминирован и сравнительно прост (желающие могут самостоятельно изучить его, благо отличная книга «Topological structure and analysis of interconnection networks» автора Junming Xu доступна всего без двух страниц библиографии с помощью сервиса Google Books). Нам же интересно главное – что в графах Каутца такого особенного, что делает их привлекательными для применений в суперкомпьютерах? Ответ прост – это такая топология сети, которая гарантирует одновременно множественность независимых путей от любого узла к узлу при заданном числе промежуточных узлов. Так, лежащий в основе топологии сети самой старшей модели суперкомпьютера SiCortex граф Каутца K(3,6) «соединяет» 972 (36+35) вычислителя, каждый из которых имеет 6-ядерный процессор, что в итоге формирует 5832-процессорную систему, в которой благодаря уникальным свойствам топологии графа Каутца любой процессор может передавать данные одновременно трем любым другим по трем независимым каналам с максимальной пропускной способностью. При этом для доступа к любому процессору требуется не более шести промежуточных (между другими процессорами) передач данных. В сетях такого же масштаба других топологий это значение существенно выше – в тороидальных сетях, например, требуется уже 15 промежуточных передач. Естественно, это уникальное свойство графов Каутца в разработках SiCortex поддержано мощной базой ноу-хау – механизмами поиска оптимальных путей маршрутизации передачи данных. Дело в том, что в SiCortex не просто использовали свойство гарантированной максимальной длины цепи передачи, а, похоже, умудрились научиться решать задачу поиска таких цепочек заданной длины.

Кроме перечисленных достоинств, у топологии графов Каутца есть ряд специфических свойств. Их трудно назвать недостатками – у абстрактных математических конструкций недостатков не бывает. Например, в графе Каутца в силу специфики топологии соединение очень удаленных узлов – норма. Перенесенная в реальность физического кластера, эта особенность может стать ответом на вопрос «почему топология графа Каутца может быть невыгодной для кластеров с использованием вычислителей потребительского класса». Типовой ПК или лезвийный сервер – весьма немаленькие конструктивно «ящики». Если их несколько сотен, тянуть очень длинные кабели между очень удаленными машинами может оказаться очень невыгодно. А кабелей понадобится немало – в сети 5832-процессорной системы SiCortex их 52000! Так что, скорее всего, сочетание очень компактного вычислителя на базе однокристальной системы на чипе и топологии сети – по-настоящему уникальное решение, найденное в SiCortex.

Еще одна уникальная деталь суперкомпьютеров SiCortex – конструктив. Компактность вычислителей позволила построить действительно красивые и очень удобные в эксплуатации машины, практически полностью сводящие на нет разнообразные нюансы, возникающие в процессе развертывания commodity-кластеров. Конструктивно интегрированная система охлаждения и небольшое энергопотребление – этим все сказано. Неудивительно, что за короткий срок работы компании ее продукция «разбежалась» по ведущим университетам и исследовательским центрам.

Ну и, напоследок, о грустном. Кризис не обошел стороной компанию SiCortex. Суперкомпьютеры, даже так красиво спроектированные – очень специфический товар, потребители которого весьма чувствительны к «финансовым похолоданиям». С мая этого года SiCortex прекратила все конструкторские работы и сократила персонал, оставив только сервисные подразделения, которые будут сопровождать уже инсталлированные системы. Компания фактически выставлена на продажу вместе со всем пакетом интеллектуальной собственности. Очень хочется надеяться, что найдутся инвесторы, которых заинтересует это предложение. Хотя бы потому, что красивым машинам в этом мире должно находиться место и применение.

+11
голос

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT