370 likes | 526 Views
Институт вычислительной математики РАН. Воеводин В.В. ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ. Томск, 2003. Почему возникают проблемы пользователей? Проблемы пользователей в примерах. Математические трудности решения проблемы. Информационная структура алгоритмов. Не научные проблемы.
E N D
Институт вычислительной математики РАН Воеводин В.В. ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ Томск, 2003
Почему возникают проблемы пользователей? • Проблемы пользователей в примерах. • Математические трудности решения проблемы. • Информационная структура алгоритмов. • Не научные проблемы.
Увеличение производительности ЭВМ - за счет чего? EDSAC, 1949 год HP Superdome, 2001 год такт: 2*10-6с 1.5*103 1.3*10-9с произв.: 102 оп/с 1.9*109 1.9*1011 оп/c
Earth Simulator - первое место в Top500 • 5120 процессоров (640 * 8) • Оперативная память - 10Тбайт • Пиковая производительность - 40Tflops • Производительность по Linpack - 35Tflops flops - floating operations per second M - 106, G - 109, T - 1012
Системы параллельного программирования • Зарубежные: Linda, PVM, MPI, High Performance Fortran, OpenMP ... • Отечественные: НОРМА, DVM, Т-система, mpC ... Все системы в той или иной мере требуют от пользователя дополнительную информацию
Откуда брать дополнительную информацию? Образование и штатное программное обеспечение слабоподдерживают процессы ее получения.
Почему возникают проблемы пользователей? • Проблемы пользователей в примерах. • Математические трудности решения проблемы. • Информационная структура алгоритмов. • Не научные проблемы.
Результаты оптимизации программы TRFD из пакета PERFECT CLUB BENCHMARK на суперкомпьютерах CRAY Baseline - результаты, полученные с помощью штатного компилятора Manual opt. - результаты, полученные с помощью ручной оптимизации специалистами высокого класса V-Ray opt. - результаты, полученные на основе информации, выданной V-Ray system
Пользователь: почему? Aijk = Ai-1jk + Bjk + Bjk, i=1,40; j=1,40; k=1,1000 do k = 1, 1000 do j = 1, 40 do i = 1, 40 A(i,j,k) = A(i-1,j,k)+B(j,k)+B(j,k) Производительность: 20 Mflops на Cray Y-MP C90
Пользователь: почему? Aijk = Ai-1jk + Bjk + Bjk, i=1,40; j=1,40; k=1,1000 do i = 1, 40, 2 do j = 1, 40 do k = 1, 1000 A(i,j,k) = A(i-1,j,k)+2*B(j,k) A(i+1,j,k) = A(i,j,k)+2*B(j,k) Производительность: 700 Mflops на Cray Y-MP C90
Простой пример... DO i = 1, n DO j = 1, n U( i + j ) = U( 2*n – i – j + 1)*q + p EndDO EndDO
Простой пример... DO i = 1, n DO j=1,n–i U( i + j ) = U( 2*n – i – j + 1)*q + p End DO DO j=n – i+1,n U( i + j ) = U( 2*n – i – j + 1)*q + p End DO End DO
Причина: в нужной мере не владеем знаниями и возможностями новой междисциплинарной математической области исследований - информационной структуры алгоритмов, объединяющей алгоритмы, программирование, модели вычислительных систем и др. Факт: нет хороших технологий “распараллеливания” вычислений и адаптации программ к требованиям больших вычислительных систем
Почему возникают проблемы пользователей? • Проблемы пользователей в примерах. • Математические трудности решения проблемы. • Информационная структура алгоритмов. • Не научные проблемы.
DO i = 1,n DO j =1,n-i+1 A(I,J) = … B (I,J) … B(I,J) = … A (I,J) …ENDDOENDDO Л.Лампорт А.П.Ершов
DO i = 1,n DO j =1,n-i+1 A(I,J) = … B (I,J-1) … B(I,J) = … A (I,J) …ENDDOENDDO Л.Лампорт А.П.Ершов
Л.Лампорт S = 0DO i =1,n S = S + A(I) ENDDO А.П.Ершов
Базовая математическая задача Для любого вектора I ΩN построить множество векторов Ji ΩiN, удовлетворяющих уравнениям: piN(Ji) = qN(I), и на этих множествах найти вектор J = J(I, N), лексикографически ближайший к I снизу. Все объекты зависят от вектора внешних переменных N, который на момент решения базовой задачи неизвестен. Решение необходимо находить точно и в явном виде.
Почему возникают проблемы пользователей? • Проблемы пользователей в примерах. • Математические трудности решения проблемы. • Информационная структура алгоритмов. • Не научные проблемы.
Численные методы: огромное разнообразие; почти нет сведений об их структуре на уровне отдельных операций; Языки программирования: большое разнообразие; зависимость от архитектуры параллельных компьютеров; трудно получать необходимую для программирования информацию, особенно касающуюся “параллельной” структуры алгоритмов; Компиляторы: плохая диагностика и алгоритмы распараллеливания программ; более 85% индексных выражений не анализируются или анализируются плохо (Zhiyu Shen и другие, 1990) Операционные системы: не эффективные алгоритмы распределения заданий между процессорами, особенно при работе с медленной памятью; Компьютеры: большое разнообразие архитектур: отсутствие формализованной теории создания архитектуры; Анализ вычислений: мало инструментальных средств для анализа причин не эффективного использования компьютеров.
ОСНОВНАЯ ЦЕЛЬ ИССЛЕДОВАНИЙ РЕШАТЬ ЗАДАЧИ БЫСТРЕЕ ДЕШЕВЛЕ ПРОЩЕ НУЖЕН КОМПЛЕКСНЫЙ АНАЛИЗ ВСЕХ ЭТАПОВ !
"Определение" алгоритма АЛГОРИТМЫ входные данные параллелизм последовательные языки программирования скорость обыкновенные компьютеры машина Тьюринга с памятью машина Тьюринга
нет подходящего "определения" параллельного алгоритма АЛГОРИТМЫ входные данные дополнительные сведения Linda PVM изучение структуры алгоритмов HPC DVM mpC HPF Норма MPI Фортран, Си что делать, если что-то не так? кластеры векторные, систолические, конвейерные, матричные, параллельные, спецпроцессоры и другие нет подходящего определения параллельного компьютера
нет подходящего "определения" параллельного алгоритма АЛГОРИТМЫ входные данные Система исследования структуры V-Ray Информационная структура алгоритмов граф-машина дополнительные сведения преобразование программ НЕ параллельные математические задачи типовых информационных структур немного нет подходящего определения параллельного компьютера
Метакомпьютинг? Метакомпьютинг! • НИВЦ МГУ (Москва) - 112 процессоров • НИИЯФ МГУ (Москва) - 36 процессоров • ИПС РАН (Переславль-Залесский) - 32 процессора • ИММ УрО РАН (Екатеринбург) - 15 процессоров • УГАТУ (Уфа) - 60 процессоров • Взаимодействие - через Интернет Задача - определение скрытой периодичности в генетических последовательностях, Центр “Биоинженерия” РАН
Информационная структура алгоритмов • Для широкого класса алгоритмов и программ разработаны эффективные методы нахождения всех графов зависимостей. Графы точно описываются конечными наборами простых функций. • Используя явное представление графов, разработаны эффективные методы их исследования. Теперь об этих графах можно узнать практически все. • Построена первая очередь автономной системы V-Ray system для обнаружения параллелизма в больших программных комплексах. • Обнаружены многочисленные междисциплинарные связи.
Близкие проблемы • Быстрое вычисление градиента и производной • Быстрое восстановление линейного функционала • Анализ влияния ошибок округления • Декомпозиция алгоритмов • Восстановление математических формул • Обнаружение узких мест алгоритма (по памяти, точности • и т.п.) • Разработка параллельных численных методов • Разработка переносимого программного обеспечения • Использование распределенной и иерархической памяти • Выбор оптимальной архитектуры компьютера • Построение систолических массивов • Разработка параллелизующих компиляторов и многое • другое
Гипотеза Типовых информационных структур алгоритмов в конкретных областях немного Практика подтверждает гипотезу
Информационно-аналитический Центр в сети Интернет WWW.PARALLEL.RU • Архитектуры параллельных вычислительных систем • Технологии параллельного программирования • Вычислительный полигон • Конфигурации современных кластерных систем • Учебные материалы, курсы, лекции, тестирование • Новости, рассылка, обмен опытом • История, персоналии, списки конференций • Параллельные вычисления в России • Среда общения профессионалов • ... • Центр создан при поддержке РФФИ
Почему возникают проблемы пользователей? • Проблемы пользователей в примерах. • Математические трудности решения проблемы. • Информационная структура алгоритмов. • Не научные проблемы.
Не научные проблемы • катастрофическая нехватка кадров, особенно высококвалифицированных, • недостаточная образованность на разных уровнях, • недооценка трудностей использования больших вычислительных систем, • разрозненность усилий специалистов, • отсутствие учебников и учебных пособий, • отсутствие полноценного программного сервиса, • внедрение новых образовательных технологий, • нерешительность в принятии волевых решений, • ...
В.В.Воеводин, Вл.В.Воеводин ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ Рекомендовано Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 510200 “Прикладная математика и информатика” БХВ-Петербург, 2002