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

ИССЛЕДОВАНИЕ ТЕХНОЛОГИИ СОЗДАНИЯ МОДУЛЬНО-НАРАЩИВАЕМЫХ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ С ПРОГРАММИРУЕМОЙ АРХИТЕКТУРОЙ НА ОСНОВЕ РЕКОНФИГУРИРУЕМОЙ

ЭЛЕМЕНТНОЙ БАЗЫ П.В. Кужаков

Научный руководитель - кандидат технических наук, доцент А.Л. Андреев

В статье исследуются технологии создания высокопроизводительных модульно-наращиваемых многопроцессорных вычислительных систем (ВММВС) с программируемой архитектурой и структурно-процедурной организацией параллельных вычислений для эффективного решения широкого класса вычислительно-емких задач.

Введение

Целью работы является исследование и разработка технологии создания высокопроизводительных модульно-наращиваемых многопроцессорных вычислительных систем (ВММВС) с программируемой архитектурой и структурно-процедурной организацией параллельных вычислений для эффективного решения широкого класса вычислительно-емких задач.

Предлагаемая технология разрабатывалась с учетом следующих требований:

• обеспечение реальной производительности системы не ниже 50% от пиковой для вычислительно-трудоемких задач различных классов;

• обеспечение динамической перестройки архитектуры системы в процессе решения задач;

• использование современных ПЛИС, производительность базового модуля - не ниже 50Гфлопс;

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

1. Разработка общей структуры ВММВС

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

Новый класс оборудования будет основываться на стандартах аппаратных средствах, операционных системах реального времени и интерфейсах программирования (API) для приложений высокой готовности.

1.1. Технология Advanced TCA

Архитектура Advanced TCA (Advanced Telecom Computing Architecture) - это первый в индустрии открытый стандарт для создания оборудования на базе современных технологий высокоскоростной коммутации [1, 2]. Помимо основных положений, в разделах спецификации PICMG 3.0 содержится подробная информация о питании и охлаждении, комплексном управлении системой и обеспечении электронной идентифика-

ции и совместимости установленных на одной «полке» функциональных модулей. Семейство спецификаций Advanced TCA - это основа для целого ряда долговременных платформ, предусматривающих создание огромного выбора перспективных взаимозаменяемых модулей различного назначения. Кроме того, Advanced TCA - это стандарт форм-факторов плат и корпусов, оптимизированный для вычислительно-емких приложений и призванный удовлетворить требования к масштабированию систем. В частности, спецификация предусматривает пропускную способность внутренней соединительной шины корпуса до 4,5 ТБ/с, поддержку оперативной памяти свыше 8 ГБ на плату, повышенную готовность системы и запас ресурсов для дальнейшего наращивания производительности.

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

Подсистемы для резервирования улучшают надежность и пригодность всей системы.

Не менее важным аспектом спецификаций Advanced TCA являются централизованные средства системного управления. В частности, определяются резервированные механизмы централизованного управления платформой, которые реализуются на базе интерфейса Intelligent Platform Management Interface (IPMI) 1.5 и дублированных соединений IPMI/IPMB для каждого узла. Архитектура Advanced TCA исключает так называемые «единственные точки отказа» за счет использования резервированных контроллеров управления корпусом, резервированных шин электропитания для каждой платы и избыточности, обусловленной самой топологией коммутационных матриц.

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

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

1.2. Архитектура оборудования

В спецификацию Advanced TCA входят несколько типов модулей. Базовые (несущие) платы предназначены для обеспечения межблочного обмена, подключения функциональных (АМС) модулей, поддержания общей работоспособности системы, ее модульной архитектуры. Также несущие платы могут обеспечивать специальные функции, например, взаимодействие с внешними системами. Таким образом, несущие платы в общем случае выполняют базовые функции обеспечения взаимодействия модулей. АМС (Advanced

Mezzanine) является дополнительной спецификацией, полностью согласованной с семейством спецификаций PICMG З.Х.

К несущей плате подключается до восьми модулей расширения (AMC), выполняющих специализированные интерфейсные функции в зависимости от требований конкретной задачи. Модули расширения выполняются в форм-факторе 73*185 мм, 146*185 мм; с полной и половинной высотойустановки компонентов.

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

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

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

1.3. Элементная база системы

С учетом требований задачи наиболее эффективной элементной базой для ее решения представляются ПЛИС последних поколений [3]. За счет большой емкости они позволяют реализовывать множество задач на логических элементах, обладают высокоскоростными последовательными интерфейсами, как правило, имеют встроенные процессорные ядра, оптимизированные для специфических задач. Внутренняя архитектура современной мощной ПЛИС, по существу, способна заменить сложную печатную плату с набором специализированных процессоров, микросхем памяти и интерфейсных контроллеров ввода/вывода.

Современную ПЛИС большой емкости можно рассматривать как универсальный вычислительный модуль с конфигурируемой архитектурой и развитыми интерфейсами обмена [4, 5]. Отладочные инструменты позволяют эффективно создавать широкий спектр приложений на ПЛИС, используя, по сути, одну элементную базу [6-8].

По ряду возможностей и характеристик для решения задачи проекта выбраны ПЛИС Xilinx семейства Virtex-4. Семейство Virtex-4 делится на три основные серии: LX, SX и FX. Все они содержат примерно по 200 тысяч логических элементов, работают на тактовой частоте 500 МГц (на этой же частоте работает интегрированный контроллер SmartRAM, реализующий принцип FIFO), содержат гигабитные порты ввода/вывода с синхронизацией разных каналов (ChipSync). В серию SX добавлено 512 Xtreme DSP суммарной производительностью 256 GigaMAC/c и потреблением 57 мкВт/МГц, а в серию РХ встраивается до двух 32-разрядных RISC-процессоров PowerPC (заявленная производительность - 1300 Dhrystone MIPS), до четырех 10/100/1000 Ethernet МАС-контроллеров и до 24 последовательных портов RocketЮ(пpoпycкнaя способность - от 6,25 Мбит/с до 11,1 Мбит/с). Связь между FPGA-логикой и встроенными процессорными ядрами осуществляется по APU (Auxiliary Processor Unit).

Основные характеристики ПЛИС:

1) три платформы LX/SX/FX: a) Virtex-4 LX: решения для высокопроизводительной логики; b) Virtex-4 SX: высокопроизводительные решения для цифровой обработки сигналов; c) Virtex-4 FX: высокопроизводительные, полнофункциональные решения для встроенных платформ;

2) технология синхронизации Xesium: до 20 модулей цифрового управления синхронизацией (DCM): точная подстройка фазы тактовых сигналов; прецизионный сдвиг фазы тактовых сигналов; умножение и деление частоты; увеличена частота входной/выходной частоты; уменьшены выходные фазовые дрожания тактовых сигналов

(jitter); низкое энергопотребление; усовершенствованный фазовый детектор; широкий диапазон сдвига фаз; два режима работы; дополнительный фазированный делитель тактового сигнала (PMCD); дифференциальная структура синхронизации для минимизации фазовых дрожаний тактовых сигналов и обеспечение скважности 50%; 32 цепи глобальных тактовых сигналов; региональный ввод/вывод тактовых сигналов;

3) модуль XtremeDSP: умножитель 18x18, умножитель-накопитель, умножитель-сумматор; возможность организации конвейерной обработки для увеличения производительности; встроенный 48-битный аккумулятор для выполнения операции умножения с накоплением (МАСС); интегрированный сумматор для выполнения операций умножения с суммированием; возможность каскадирования умножителей или МАСС; увеличение скорости вычисления до 2 раз по сравнению с предыдущими семействами Virtex;

4) иерархия памяти: до 1 392 Кбит распределенного ОЗУ; до 10 Мбит интегрированной блочной ОЗУ; двухпортовая архитектура; возможность организации конвейерной обработки; возможность запрограммировать ПРО, поддерживающей флаги «пустой», «полный», программируемые флаги «почти полный» и «почти пустой»; программируемость работы в синхронном и асинхронном режиме; независимый выбор ширины порта чтения и записи (в конфигурации ОЗУ); блоки по 18 Кбит; конфигурация от 16Kx1 до 512x36 (от 4Kx4 до 512x36 в режиме FIFO); возможность каскадирования для формирования модулей памяти 32Kx1 без использования трассировочных ресурсов кристалла; возможность побайтовой записи (например, при совместном использовании с процессором PowerPC 405);

5) технология SelectIO: до 960 пользовательских входов/выходов; широкий выбор сигнальных стандартов ввода-вывода от 1.5 до 3.3 В; высокая производительность: до 600 Мбит/с HSTL и SSTL (при передаче по одному выводу входа/выхода); до 1 Гбит/с LVDS (при передаче по дифференциальной паре ввода-вывода); схема цифрового управления согласованием: возможность подключения последовательных или параллельных согласующих резисторов; встроенная технология синхронизации источника сигнала -ChipSync™: способность побитного выравнивания встроена во все блоки ввода/вывода; отдельные входы/выходы для источников региональных тактовых сигналов; встроенная логика последовательно-параллельного и параллельно-последовательного преобразования данных и делитель частоты; поддержка сетевых и телекоммуникационных интерфейсов на скорости до 1 Гбит/с; поддержка интерфейсов к высокоскоростным модулям внешней памяти: DDR, DDR2,SDRAM, QDR-II, RLDRAM-II, FCRAM-II;

6) гибкие логические ресурсы: увеличена скорость работы конфигурационного логического блока до 40% по сравнению с предыдущими семействами Virtex; до 200 000 логических ячеек; до 178 176 регистров с входом разрешения тактового сигнала; до 178 176 таблиц преобразований; мультиплексоры, расширяющие возможности логики, и регистры в блоках ввода-вывода; каскадирование регистров сдвига или распределенной памяти;

7) конфигурация: криптографическая защита битового потока алгоритмом АЕ8; определение и исправление ошибок в битовом потоке; 4 режима загрузки; поддержка . JTAG интерфейса;

8) технология производства 90-нм КМОП процесс с металлизацией медью;

9) напряжение питания ядра 1.2 В;

10) корпус кристалла с шариковыми выводами, типа Flip-Chip;

11) аппаратный модуль высокоскоростного трансивера RocketIO MGT (только FX): скорость передачи от 622 Мбит/с до 11.1 Гбит/с; 8Ь/10Ь, 64Ь/66Ь кодер и декодер; поддержка объединения каналов; формирование и проверка CRC; программируемый передающий предварительный корректор; программируемый компенсатор на приеме; детектирование наличия/отсутствия сигнала на приеме; драйвер режима ожидания на передаче; динамическая реконфигурация модуля;

12) ядро RISC процессора фирмы IBM PowerPC 405 (только FX): работа на частоте до 450 МГц; пятиступенчатый конвейер данных; 16 КБ кэш инструкций; 16 КБ кэш данных; контроллер доступа к блочной памяти кристалла; возможность настройки отношения рабочих частот процессора и процессорной шины; дополнительный интерфейсный модуль (APU), обеспечивающий высокоскоростной обмен данными между процессором PowerPC 405 и сопроцессором, реализованным на логике: может работать на разных тактовых частотах; поддерживает автономные инструкции: нет остановов конвейера; 32-битные инструкции и 64-битные данные;

13) трехрежимный Ethernet MAC модуль (только FX): совместимость со стандартом 1ЕЕЕ 802.3; 10, 100 и 1000 Мбит/с; поддержка автоопределения режима работы; фильтрация принимаемых адресов; единое решение для 1000 Base-X совместно с модулем RocketIO MGT; поддержка нескольких физических интерфейсов PHY через ресурсы ввода/вывода; отдельные интерфейсы на приеме и передаче для сбора статистической информации; поддержка пакета JUMBO; 3 интерфейса управления.

2. Разработка архитектуры системы

Рис. 1. Аппаратная структура несущей платы

Базовый модуль системы состоит из несущей платы, выполненной в соответствии со спецификацией АМС.0 Cutaway Carrier Boatd, и набора AMC модулей, оборудованных ММС контроллерами. Несущая плата объединяется с AMC модулями посредством LVDS-выводов. Несущая плата также оборудована микросхемами памяти DDR SDRAM для каждой ПЛИС и 1РМС контроллером, как показано на рис. 1. Несущая плата строится на базе ПЛИС группы FX.

Все AMC модули способны работать синхронно, что обеспечивает колоссальную производительность на математических задачах, например, при матричной обработке. Компоненты модуля объединяются по схеме полной сети (full mesh).

Рис. 2 Аппаратная архитектура AMC модуля

На AMC модули могут устанавливаться ПЛИС LX, SX или FX, обеспечивая значительную гибкость архитектуры системы в зависимости от решаемой задачи, как показано на рис. 2. На каждый AMC модуль устанавливается 4 ПЛИС, ММС контроллер для обеспечения работы по протоколу IPMI.

Внутренняя структура ПЛИС и ее программная архитектура адаптированы для решения широкого круга задач. Два ядра PowerPC получают доступ к встроенной двухпортовой оперативной памяти, контроллеру DMA и свитчеру. Для подключения внешней памяти, расположенной на плате AMC модуля, используется встроенный контроллер DDR SDRAM, как показано на рис. 3. Свитчер, установленный на AMC модуле, взаимодействует со свитчером несущей платы через интерфейс MGT/LVDS.

Структура ПЛИС несущей платы отличается наличием доступа по интерфейсу Gigabit Ethernet и портами ввода/вывода MGT/LVDS, обеспечивающими взаимодействие несущих модулей в шельфе, как показано на рис. 3.

Шельф в стандарте АТСА представляет собой сложную систему, обеспечивающую питание и охлаждение модулей, вентиляцию и межсоединения несущих плат. Существует несколько топологий межсоединений, которые отличаются надежностью, сложностью реализации - в частности, одноранговая звезда, двойная звезда и полная сеть. При использовании топологии двойной звезды (Dual Star) необходима плата центрального свитчера, но скорость обмена может достигать 10 Гбит на одну дифференциальную пару. Если используется топология полной сети (Full Mesh), то скорость обмена ограничивается 1 Гбит на дифференциальную линию, но не требуется центральный свитчер, что удешевляет систему.

Программная модель ПЛИС включает в себя компоненты доступа к вычислительным ядрам DSP, PPC, а также к интерфейсным контроллерам, памяти и внешним АМС-модулям, как показано на рис. 4. Программное обеспечение системы состоит из непосредственно системного встраиваемого ПО для ПЛИС, компонентов конфигурирования, интеграции и управления. Система оборудуется операционной системой реального времени, компоненты которой оптимизированы для работы в многопроцессорной многозадачной среде.

DDR RAM MGT/LVDS интерфейсы DMII

Рис. 3. Вариант структуры ПЛИС АМС-модуля

Отдельно выступают средства отладки приложений, адаптированные к архитектуре системы и поддерживающие ее особенности:

• системное ПО для поддержки функционирования оборудования, которое выполняет задачу интеграции базовых модулей в единый специализированный вычислитель, поддержки совместного функционирования компонентов системы;

• библиотеки параметризируемых IP Cores для ПЛИС, адаптированных к архитектуре системы;

• существующий или разрабатываемый заново wizard для EDK;

• IDE;

• отладочные средства, обеспечивающие расширение и функциональное дополнение, адаптацию к сложной параллельной архитектуре с настраиваемыми параметрами (ChipScope Pro).

Для решения целевых задач используется следующее системное программное обеспечение:

• мультипроцессорная, мультизадачная ОС;

• библиотека функций поддержки IP Cores;

• средства контроля, управления, реконфигурации системы.

ввод/вывод SATA/SCSI/FC

Рис. 4. Программная модель ПЛИС Литература

1. СеменовА. Технология Advanced TCA. // Телекоммуникации. 2005. №1.

2. Сорокин И. Compact PCI - стандарт, открытый во всех отношениях. // Компоненты и технологии. 2004. №10.

3. Гук М. // КомпьютерИнфо (СПб). 1998. 4-6.

4. Шипулин С.Н., Храпов В.Ю. Особенности проектирования цифровых схем на ПЛИС // Chip News. 1996. № 5. С. 40-43.

5. Шипулин С.Н., Храпов В.Ю. Основные тенденции развития ПЛИС. // Электронные компоненты. 1996. № 3-4. С. 26.

6. Кнышев Д.А., Кузелин М.О. ПЛИС фирмы «Xilinx»: описание структуры основных семейств. М.: Додэка-XXI, 2001.

7. Мальцев П.П., Гарбузов Н.И., Шарапов А.П., Кнышев Д.А. Программируемые логические ИМС на КМОП-структурах и их применение. М.: Энергоатомиздат, 1998.

8. Кузелин М. ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner. // Компоненты и технологии. 2001. № 5.