Проект APE в ОИЯИ
А.П.Сапожников
доклад на конференции
Modern Trends in Computational Physics [1]
Семейство компьютеров APE - это массивно-параллельные
вычислительные системы с распределенной памятью и
архитектурой SIMD. Буквосочетание "APE" - это аббревиатура
от "Array Parallel Engine".
Основной отличительной чертой архитектуры SIMD (Single
Instruction, Multiple Data) является то, что все
процессоры, входящие в состав вычислительной системы,
синхронно выполняют одну и ту же программу, причем каждый
процессор обрабатывает свой комплект локальных данных.
Число процессоров может быть весьма велико, порядка
нескольких тысяч. Исторически первой подобной системой был
ILLIAC-IV (начало 70-х годов).
Проект APE разработан и развивается группой
итальянских физиков-теоретиков, специализирующихся в
области квантовой хромодинамики (QCD). Первые публикации по
этому проекту относятся к 1985 году (R.Tripiccione,
F.Rapuano, INFN, Италия). Активное участие в проекте
принимает Alenia Spazio - Национальное космическое
агентство Италии. В последние 5-7 лет в проекте активно
участвует немецкий институт DESY.
1. APE-100
Первым практическим результатом проекта явилась
разработка вычислительной системы APE-100, включающей до
512 процессорных узлов. Каждый узел состоит из:
- специализированного 32-разрядного процессора MAD
(Multiply and Add Device),
- до 16 Mb локальной памяти,
- коммутатора для связи с host-машиной.
Основной операцией MAD, работающего на частоте 25 Mhz,
является обобщенная 3-местная операция A*B+C над тремя
вещественными или комплексными 32-разрядными числами,
исполняемая за 1 такт. Таким образом, пиковая
производительность одного процессорного узла равна 50
Mflops, а всей вычислительной системы - до 25 Gflops.
Процессоры образуют 3-мерный тор, в котором каждый узел
имеет непосредственный доступ к памяти 6 своих соседей.
Минимальной конфигурацией системы является так называемая
процессорная плата (Processing Board), содержащая 8 узлов в
конфигурации 2x2x2.
Вся система обслуживается front-end машиной, в качестве
которой выступает серийная SUN SPARC Station, работающая
под управлением OC UNIX. Серийное производство APE-100
осуществляется фирмой Quadrics с 1993 года.
Основным языком программирования в APE-100 является
язык высокого уровня TAO с фортраноподобным синтаксисом и
встроенными средствами поддержки параллельной архитектуры
машины. В рамках проекта сотрудниками INFN разработан
эффективный компилятор с языка TAO, работающий на front-end
машине. По утверждению разработчиков, использование этого
компилятора в типичных QCD-приложениях позволяет достичь от
30 до 70% пиковой производительности системы.
К настоящему времени APE-100 успешно эксплуатируется в
ряде институтов Италии, Великобритании и Германии, в том
числе 4 установки - в DESY.
В этом году 32-процессорный комплект (конфигурация
8x2x2) установлен и в ОИЯИ.
2. APE-1000 (APE Mille)
Следующим шагом проекта явилось создание системы
APEMille, преемственной с APE-100 по архитектуре и языку
программирования.
- Производительность одного процессорного узла была
поднята до 500 Mflops за счет использования
заказных VLSI-чипов, работающих на частоте 250 Mhz.
- Максимальное число узлов увеличено до 2048. Таким
образом максимальная производительность всей
системы достигнет 1 Tflops.
- Добавлена возможность работы с 64-разрядными
числами.
- Удвоено количество внутренних регистров каждого
процессора.
- Возможности непосредственной адресации удвоены : у
каждого узла имеется уже не 6, а 12 соседей.
Введение нового типа данных, локальных целых чисел,
решило проблему использования смешанной арифметики в
программах. Компоновка управляющих элементов
непосредственно в процессорные платы существенно улучшила
масштабируемость системы.
Первый образец 64-процессорной APEMille проходит
сейчас опытную эксплуатацию в DESY.
3. APE Next
В стадии подготовки предложений находится очередной
этап - проект APENext. Здесь основной целью является
достижение производительности в десятки Tflops при
стоимости порядка 1$/Mflop. Одним из путей достижения этой
цели может явиться использование в качестве процессорных
узлов современных высокоскоростных процессоров Pentium-III.
В качестве языковых средств программирования наряду с
хорошо зарекомендовавшим себя языком TAO предполагается
использовать и язык С, в котором надлежит сделать ряд
расширений, диктуемых SIMD-архитектурой вычислительной
системы.
Участие ОИЯИ в проекте (задачи APE-группы)
- Освоение собственного экземпляра APE-100 в ЛИТ.
- Тестирование программного обеспечения APEMille на
установке в DESY.
- Модернизация компилятора с языка ТАО для переноса его с
APE-100 на APE-1000.
- Участие в работах по созданию С-компилятора для APE Next.
- Постепенный перевод библиотеки математических программ
общего назначения на архитектуру SIMD.
Примеры программирования на языке ТАО
1. Вычисление определенного интеграла заданной функции
одной переменной
b
F(x)dx
a
Файл integral.zzt:
/include
- [1] Sapojnikov A.P.,
"APE Project in JINR",
Second International Conference
"Modern Trends in Computational Physics",
July 24-29, 2000, Dubna, Russia. D11-2000-155, p144.