Проект RAMP


RAMP (Research Accelerator for Multiple Processors) - проект, направленный на проведение исследований и развитие программного обеспечения в областях, связанных с многопроцессорными системами. На данный момент накоплено очень немного знаний о том, каким образом создавать, программировать и управлять системами, состоящими из 64-1024 процессоров; поэтому создатели проекта предлагают использовать ПЛИС-микросхемы для эмуляции таких систем, что позволит достаточно эффективно заниматься разработкой программных продуктов для многоядерных архитектур. В отличие от программных симуляторов, эмулятор на ПЛИС обладает достаточной производительностью, чтобы на нем можно было запускать операционные системы и различные сложные приложения на скоростях, достаточных для проведения полноценных исследований. При этом стоимость таких решений оказывается значительно ниже стоимости кластеров или SMP-систем.

Некоторое сравнение различных архитектур:

  SMP Кластер Симулятор RAMP
Масшабируемость (на 1000 процессоров) C A A A
Стоимость (на 1000 процессоров) F($40M) C($2-3M) A+($0M) A($0.1-0.2M)
Стоимость владения A D A A
Энергопотребление/место(кВт, стойки) D(120 кВт, 12 стоек) D(120 кВт, 12 стоек) A+(0.1 кВт, 0.1 стойки) A(1.5 кВт, 0.3 стойки)
Поддержка сообщества D A A A
Наблюдаемость D C A+ A+
Воспроизводимость результатов B D A+ A+
Реконфигурируемость D C A+ A+
Достоверность A+ A+ F B+/A-
Производительность (тактовая частота) A(2 ГГц) A(3 ГГц) F(0 ГГц) С(0.1 ГГц)
Средний балл C B- B A-

В рамках проекта RAMP разрабатываются готовые модули на основе ПЛИС-микросхем, а также предназначенные для работы на данных модулях различные программные средства, эмулирующие многопроцессорные системы, для чего проводится эмуляция архитектур процессоров, таких как PowerPC, x86, UltraSparc и MIPS.

В проекте RAMP для разработки используются средства программирования Xilinx FPGA и собственный язык разработки RDL (RAMP Description Language). Компьютеры, создаваемые в рамках этого проекта, строятся по иерархическому принципу. Самый нижний уровень представлен ядром MicroBlaze с оптимизированной для использования в FPGA архитектурой, обеспечивающей работу на частоте до 210 МГц. Процессоры располагаются на программируемом массиве Virtex. В зависимости от функциональности, на одном кристалле Virtex-II располагается от одного до 12 ядер MicroBlaze. Следующий уровень иерархии - устанавливаемые в стойку модули Berkeley Emulation Engine (BEE); в одном модуле может быть от одной до четырех микросхем Virtex-II. В стойку монтируется от одного до 21 BEE. То, как ядра объединяются в массиве, зависит от типа создаваемой машины; это может быть "каждый с каждым" или топология трехмерной сети, общим является то, что канал между ядрами последовательный, а его скорость передачи - 10 Гбит/с. Приложения пишутся на языке Unified Parallel C (UPC).

Параллельно разрабатывается три типа компьютеров - RAMP Red, RAMP Blue и RAMP White. Каждый из них является экспериментальным, нацеленным на определенную задачу. В частности, на RAMP Red отрабатывается технология транзакционной памяти, на RAMP Blue - сочетание стандарта MPI с языком UPC, а на RAMP White исследуются проблемы распределенного доступа к памяти.

Дополнительная информация:


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100