Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемНаталия Лутошникова
1 Лекция 4 Использование многопроцессорной вычислительной техники с распределенной памятью при решении задач локальных атмосферных процессов и переноса примеси
2 План лекции Назначение и архитектура ВВС Закон Амдаля Стандарты передачи сообщений. Введение в библиотеку MPI Работа с параллельными программами в ОС UNIX Способы построения параллельных программ Решение 3D уравнения диффузии на МВС с распределенной памятью Реализация ЛСДМ на МВС с распределенной памятью
4 С помощью высокопроизводительных вычислительных средств решают задачи следующих научных и научно- технических направлений: предсказание погоды, климата и глобальных изменений в атмосфере генетика человека гидрогазодинамика и теплоперенос прогноз катастрофических явлений в окружающей среде разведка нефти и газа исследование сверхпроводимости распознавание изображений защита информации
5 Суперкомпьютеры делятся: Векторно-конвейерные Массивно-параллельные компьютеры с распределенной памятью Параллельные компьютеры с общей памятью Кластеры
6 TOP 500 (21 редакция, июнь 2003) (1) NEC Earth Simulator (5120 Procs), Rpeak=40960 Gflops, Rmax=35860 Gflops (2) Hewlett-Packard (8192 Procs), Rpeak=20480 Gflops, Rmax=13880 Gflops (3) Linux Networkx (2304 Procs), Rpeak=11060 Gflops, Rmax=7634 Gflops … (95) MVS1000M (768 Procs) Rpeak=1024 Gflops, Rmax=735 Gflops … (357) Hewlett-Packard (192 Procs), Rpeak=576 Gflops, Rmax=345 Gflops (Sberbank RF)
7 Earth Simulator ES – параллельная векторная суперкомпьютерная система с распределенной памятью. ES состоит из 640 процессорных узлов. Каждый узел – система с разделяемой памятью, состоящая из 8 векторных арифметических процессоров, 16 Гб ОЗУ Пиковая производительность каждого арифметического процессора – 8Гфлопс. ES: 5120 процессоров и 10Тб памяти Процессорный узел ES
8 Вычислительный кластер ТГУ 9 двухпроцессорных узлов с локальной памятью Процессоры – Intel Pentium III, 650 MHz Сервер – 512 Mb RAM, 2x18 Gb HDD Вычислительные узлы – 256 Mb RAM Сеть – 100 Mбит Fast Ethernet ОС Unix FreeBSD 4.2 Кластерный пакет – LAM MPI для организации параллельных вычислений Пиковая производительность – 11.7 Gflops Производительность на тесте Linpack – 5.5 Gflops Вычислительный кластер ТГУ,
9 Вычислительный кластер ИОА 10 двухпроцессорных узлов с локальной памятью Процессоры – Intel Pentium III, 1 GHz Сервер – 1 Gb RAM, 3x18 Gb HDD Вычислительные узлы – 1 Gb RAM Сеть – Gigabit Ethernet ОС Linix RadHat 7.1 Кластерный пакет – MPICH Пиковая производительность – 20 Gflops Производительность на тесте Linpack – 11.5 Gflops Вычислительный кластер ИОА
10 Закон Амдаля Будет ли созданная параллельная программа работать быстрее, чем ее последовательный вариант? Соизмерим ли полученный выигрыш во времени, который дает параллельная программа, с затратами на программирование?
11 Закон Амдаля S p = t 1 /t p - ускорение параллельной программы; - доля операций, которые выполняются сугубо последовательно; p - число процессоров
12 Стандарты передачи сообщений. Введение в MPI Наиболее общим подходом при создании параллельных программ является применение библиотеки передачи сообщений, где процессы используют обращения к библиотеке MPI (Message Passing Interface), чтобы обмениваться сообщениями с другими процессами. MPI это стандарт передачи сообщений, который разрабатывался группой из 60 человек из 40 организаций США и Европы. MPI пригоден для широкого разнообразия платформ, начиная с массивно-параллельных систем (IBM SP2, Cray T3D, Intel Paragon) и заканчивая сетями рабочих станций (Sun4, Dec Alpha).
13 Стандарт MPI включает 129 функций Инициализации и закрытия параллельной части приложения Приема и передачи сообщений между отдельными процессами Осуществления коллективного взаимодействия процессов Работы с группами процессов и коммуникаторами Определения производных (составных) типов данных Создания виртуальных топологий для обеспечения более простого взаимодействия процессов
14 Основные понятия MPI Процесс – исполнение программы одним процессорным элементом, на котором загружен MPI. Процессы объединяются в группы с единой областью связи, внутри которой каждый процесс имеет свой уникальный номер в диапазоне от 0 до N-1, где N – количество процессов в группе. Для взаимодействия процессов в группе используется коммуникатор, который реализует передачу сообщений (обмен данными) между процессами и их синхронизацию.
15 Методология MPI Обычно MPI-программа для многопроцессорных вычислительных систем пишется на языке С или Фортран с использованием коммуникационных функций библиотеки MPI. Запуск на выполнение MPI-программы представляет собой одновременный запуск совокупности параллельных процессов, количество которых определяет пользователь при запуске. Параллельная программа начинается с инициализации MPI. При этом все активированные процессы объединяются в группу с коммуникатором, который имеет имя MPI_COMM_WORLD. Далее средствами MPI в программу передается число активированных процессов, каждому из них присваивается свой номер. Каждый процесс, как правило, отвечает за выполнение своей ветви параллельной программы
16 Компиляция и запуск MPI-программ Компиляция: mpicc – o myexecutable mysource.c mpif77 –o myexecutable mysource.f Запуск на счет: mpirun –np 3 myexecutable
17 MPI-программа Заголовочный файл (mpi.h или mpif.h) Вызов п/п MPI_INIT для инициализации MPI Вызов п/п MPI_COMM_SIZE, чтобы определить число (size) активированных процессов Вызов п/п MPI_COMM_RANK, чтобы определить номер (rank) каждого активированного процесса По номеру rank осуществляется создание ветвей параллельной программы Взаимодействие процессов производится путем передачи сообщений между отдельными процессами с помощью п/п MPI_SEND и MPI_RECV Вызов п/п MPI_FINALIZE для завершения параллельной части программы
18 MPI-программа «Hello World» Program hello include mpif.h integer rank, size, ierror, tag, status(MPI_STATUS_SIZE) character(12) message call MPI_INIT(ierror) call MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierror) call MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierror) tag=7 if(rank.eq.0) then message=Hello world do i=1,size-1 call MPI_SEND(message,12,MPI_CHARACTER,i,tag, MPI_COMM_WORLD,ierror) end do else call MPI_RECV(message,12,MPI_CHARACTER,0, tag,MPI_COMM_WORLD,status,ierror) end if print*, node,rank,:,message call MPI_FINALIZE(ierror) end node 1 : Hello world node 0 : Hello world node 2 : Hello world mpirun –np 3 hello.out
19 Способы построения параллельных программ Распараллеливание по данным – геометрическое решение Распараллеливание по процессам – коллективное решение
20 Геометрическое решение. Применение для сеточных уравнений. S c – источники выбросов и осаждение примеси R c – химические реакции
21 Геометрическое решение Явно-неявная разностная схема
22 Геометрическое решение MPI_SENDRECV – для обмена приграничными данными между соседними процессами MPI_BCAST, MPI_SCATTER – для распределения исходных данных между процессами MPI_GATHER – для «сборки» полученных результатов перед завершением программы
23 Геометрическое решение. Результаты На вычислительном кластере ТГУ (сетка 100х100х50) На вычислительном кластере ИОА расчет переноса четырех компонентов примеси (пыль, CO, NO2, SO2) в течение двух суток занимает не более трех часов
24 Геометрическое решение Неявная разностная схема Метод неполной факторизации Н.И.Булеева
25 Коллективное решение. Применение ЛДСМ N 10 4 m=N/p
26 Коллективное решение MPI_BCAST и MPI_SCATTER для передачи информации о исходных данных всем процессам MPI_REDUCE для суммирования значений концентрации в ячейках, рассчитанных на всех процессах
27 Датчик случайных чисел для параллельных вычислений - SPRNG (Scalable, Portable, Random Number Generators) – библиотека генераторов псевдослучайных чисел для высокопроизводительных параллельных вычислительных систем. SPRNG широко используется при применении параллельных методов Монте-Карло для решения математических задач. Структура реализации этих методов позволяет получить практически 100% эффективность параллельного вычислительного алгоритма.
28 Коллективное решение
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.