Московский государственный университет им.М.В.Ломоносова Институт вычислительной математики РАН Воеводин В.В., Воеводин Вл.В. СУПЕРВЫЧИСЛЕНИЯ: средства, теория, образование www.parallel.ru Параллельные вычисления Архитектура компьютеров Теоретические исследования Технологии программирования Практика Методы, задача “отображения” Образование Пользователь От идеи - до реализации Задача Метод Алгоритм Технология программирования Программа Компьютер Последовательный алгоритм j 1 i b1 2 3 4 b2 a21 b3 a31 a32 b4 a41 a42 a43 b5 a51 a52 a53 a54 Параллельный алгоритм j i 1 b1 2 3 4 b2 a21 b3 a31 a32 a41 a42 b4 a43 b5 a51 a52 a53 a54 Технологии параллельного программирования • Традиционные языки + компиляторы • Расширения последовательных языков, спецкомментарии • Специальные языки параллельного программирования • Библиотеки и интерфейсы для взаимодействия параллельных процессов: MPI, PVM, Linda, Shmem... • Параллельные предметные библиотеки: SCALAPACK, MKL, FFTW, DFFTpack, PETSc, CRAY Scientific Library... • Специализированные пакеты и программные комплексы: PC-GAMESS, PRIRODA, GAUSSIAN… ЭФФЕКТИВНОСТЬ - ПЕРЕНОСИМОСТЬ - ПРОДУКТИВНОСТЬ Статический анализ структуры программ Это можно исполнять параллельно Статический анализ структуры программ А это - только последовательно Динамический анализ структуры программ Пиковая производительность. Проект Blue Gene • Процессор - 1 Gflops • 32 процессора на кристалле • 64 кристалла на плате • 8 плат в стойке • 64 стойки в проекте • $100 M • 1Pflops = 1015flops Что снижает производительность? (CRAY C90, T90) • закон Амдала • время разгона конвейера • секционирование векторных команд • конфликты в памяти • каналы процессор-память • операции чтения/записи в векторные регистры • ограниченное число векторных регистров • несбалансированное использование устройств • отсутствие операции деления • перезагрузка буферов команд • ... Что снижает производительность? Шаг по памяти Производительность (Mflops) 1 705.2 2 444.6 4 274.6 8 142.8 16 84.5 32 44.3 64 22.7 128 22.6 Производительность CRAY C90 на операции ai = bi+ci*d Оптимизация программы LIU_FTC для компьютеров CRAY Y-MP C90 • Моделирование устойчивости плазмы в установках управляемого термоядерного синтеза (General Atomics, San-Diego, USA; данные с действующей установки D III-D) • 490 подпрограмм и функций, более 37000 строк • Время работы 1 итерации исходного варианта - 437 с. (QSL: 257 с., NNL:63 с., QSLH: 6.4 с.) • Время работы 1 итерации нового варианта - 65.6 с. (QSL: 11.8 с., NNL: 5 с., QSLH: 1.4 с.) Информационно-аналитический Центр в сети Интернет WWW.PARALLEL.RU • Структуризация предметной области: в идеале - энциклопедия, минимум - справочник. • Формирование среды общения профессионалов Центр создан при поддержке РФФИ Параллельные вычисления - погоня за эффективностью В.В.Воеводин, Вл.В.Воеводин 1. Что скрывает обыкновенный компьютер 2. Как повышают производительность компьютеров 3. Параллельные вычислительные системы 4. Большие задачи и параллельные вычисления 5. Параллельное программирование 6. Статический анализ и преобразование программ 7. Отображение задач вычислительной математики на архитектуру вычислительных систем 8. Пользователь в среде параллелизма Метакомпьютинг Учебно-научный центр МГУ по высокопроизводительным вычислениям • Команда специалистов • Высокопроизводительные ресурсы • Поддержка научных исследований • Учебный процесс • Инфраструктура поддержки пользователей • Инфраструктура программного обеспечения • Организационно-методическая работа • Информационная поддержка