Системы с перестраиваемой архитектурой компании SRC Computers

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

Не знаю, сколько времени понадобилось юной компании для того, чтобы оправиться от потери такого выдающегося лидера, каким был Крей. Во всяком случае, в SRC стараются быть достойными своего великого основателя и в настоящее время завершают работы над многопроцессорной системой SRC-6, создаваемой совместно с суперкомпьютерным центром Oak Ridge National Lab.

Нетрадиционная ориентация

Если основные разработки Крея относились к векторно-параллельным компьютерным архитектурам (другими словами, к многопроцессорным векторным системам), то его наследники из SRC Computers от этого отказались. Они строят симметрично-многопроцессорную (SMP — symmetrical multiprocessing) систему на базе процессоров Intel.

Понять отход от линии векторных суперкомпьютеров довольно просто. Разработка и производство подобных систем стоят весьма дорого и требуют солидных инвестиций, которые столь небольшой компании, очевидно, недоступны. На весьма узком рынке векторных вычислительных систем могут играть только гранды. Насколько мне известно, лишь японские NEC и Fujitsu, а также американская Cray Research продолжают активные работы в этом направлении.

Конечно, ориентацию на SMP-архитектуру никак нельзя назвать нетрадиционной. Несколько необычным можно считать лишь большое число процессоров (в SRC-6 их 512). Сегодня для систем с общим полем памяти использование достаточно большого числа процессоров чаще всего сопровождается переходом к архитектуре ccNUMA.

Однако изюминка архитектуры SRC-6 не в этом. Главное — то, что SRC-6 является системой с перестраиваемой архитектурой (в англоязычных описаниях используется также термин reconfigurable computing). Это уже вещь абсолютно редкая и в отрасли практически отсутствующая. Идея перестраиваемой архитектуры означает возможность определенной динамической аппаратной реконфигурации (например, изменения топологии соединения узлов системы с массовым параллелизмом) в соответствии с запросами пользовательских приложений.

Собственно, компьютеры с перестраиваемой архитектурой конструировались уже давно. Так, в 70-е годы в СССР были выполнены сразу две такие разработки — системы СУММА и МИНИМАКС. Среди традиционных областей применения систем с перестраиваемой архитектурой уже тогда упоминались быстрое преобразование Фурье и цифровая обработка сигналов. Большой интерес к компьютерам с перестраиваемой архитектурой проявляло и американское Агентство перспективных оборонных исследований DARPA.

В технологическом плане одной из основ построения современных компьютеров с перестраиваемой архитектурой является применение ПЛИС (FPGA — field programmable gate array) — вентильных матриц, программируемых «в процессе эксплуатации». Поэтому не случайно, что разработки SRC-6 ведутся в тесном контакте с компанией Xilinx, выпускающей популярные ПЛИС семейства Virtex. Вcего же в SRC-6 содержится свыше 5 млрд. вентилей конфигурируемых логических схем.

Архитектура SRC-6

Имеется три уровня иерархии основных элементов архитектуры SRC-6. На нижнем уровне — процессорные платы, включающие в себя по два микропроцессора, средства ввода/вывода и «личную» (локальную) оперативную память. 16 плат образуют так называемый сегмент, содержащий также 16 банков общей оперативной памяти, доступ к которой осуществляется через запатентованный SRC высокоскоростной коммутатор. Этот коммутатор является масштабируемым, что позволяет соединить через него до 16 сегментов, которые и образуют полную конфигурацию SRC-6 с 512 процессорами. Кроме процессорных портов, в коммутаторе предусмотрено еще 256 портов оперативной памяти.

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

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

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

Ускорение и перестройка

Все, что до сих пор было сказано о строении SRC-6, не имело никакого отношения к системам с перестраиваемой архитектурой. Перестройка архитектуры, конечной целью которой является ускорение работы соответствующих приложений, происходит благодаря наличию блоков MAP (Multi-Adaptive Processor) — их по одному на каждую процессорную плату, то есть по 16 на сегмент.

Именно MAP отвечает за «программируемые» аппаратные средства, в обычных архитектурах отсутствующие. Он включает в себя процессор, действующий независимо от микропроцессоров общего назначения. Этот процессор обладает также независимым доступом к общей оперативной памяти, работая с виртуальными адресами памяти, которые преобразуются в физические с помощью буфера TLB с использованием логических схем DMA, имеющихся в каждом блоке MAP.

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

Для поддержки работы пользователей с МАР создатели SRC-6 разрабатывают библиотеку макросов и компиляторы, способные генерировать коды, содержащие смеcь команд микропроцессоров Intel и команд MAP. В самой SRC Computers для обозначения комплекса аппаратных средств MAP и соответствующего программного обеспечения используют термин ASRC (Advanced Scalable Reconfigurable Computing — «усовершенствованная масштабируемая перестраиваемая вычислительная архитектура»).

Взгляд в будущее

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

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

Если к прогнозу успеха или неуспеха принципиально новых вычислительных архитектур подходить по аналогии с простейшей схемой предсказания погоды («завтра будет такая же погода, как сегодня» — подобная тактика обеспечивает вероятность правильного предсказания выше 50%), то все новые архитектуры будут считаться потенциально неудачными. Рынок — штука тонкая. Автор, будучи по натуре консерватором, в оценке ближайших перспектив SRC-6 предпочел бы ограничиться банальным «поживем — увидим».

Михаил Кузьминский — старший научный сотрудник Центра компьютерного обеспечения химических исследований РАН


Архитектура сегментов SRC-6

Имеется три уровня иерархии основных элементов архитектуры SRC-6. На нижнем уровне — процессорные платы, включающие в себя по два микропроцессора, средства ввода/вывода и «личную» (локальную) оперативную память (ЛОП). 16 плат образуют так называемый сегмент, содержащий также 16 банков общей оперативной памяти, доступ к которой осуществляется через запатентованный SRC высокоскоростной коммутатор

Блок-схема SRC-6

Через наращиваемый высокоскоростной коммутатор можно подключить до 16 сегментов, которые и образуют полную конфигурацию SRC-6 с 512 процессорами. Кроме процессорных портов, в коммутаторе предусмотрено еще 256 портов оперативной памяти. На рисунке приведены основные структурные блоки SRC-6 и пропускные способности трактов, их соединяющих