🗊Презентация Введение в параллельные вычисления. Технология программирования MPI

Нажмите для полного просмотра!
Введение в параллельные вычисления. Технология программирования MPI, слайд №1Введение в параллельные вычисления. Технология программирования MPI, слайд №2Введение в параллельные вычисления. Технология программирования MPI, слайд №3Введение в параллельные вычисления. Технология программирования MPI, слайд №4Введение в параллельные вычисления. Технология программирования MPI, слайд №5Введение в параллельные вычисления. Технология программирования MPI, слайд №6Введение в параллельные вычисления. Технология программирования MPI, слайд №7Введение в параллельные вычисления. Технология программирования MPI, слайд №8Введение в параллельные вычисления. Технология программирования MPI, слайд №9Введение в параллельные вычисления. Технология программирования MPI, слайд №10Введение в параллельные вычисления. Технология программирования MPI, слайд №11Введение в параллельные вычисления. Технология программирования MPI, слайд №12Введение в параллельные вычисления. Технология программирования MPI, слайд №13Введение в параллельные вычисления. Технология программирования MPI, слайд №14Введение в параллельные вычисления. Технология программирования MPI, слайд №15Введение в параллельные вычисления. Технология программирования MPI, слайд №16Введение в параллельные вычисления. Технология программирования MPI, слайд №17Введение в параллельные вычисления. Технология программирования MPI, слайд №18Введение в параллельные вычисления. Технология программирования MPI, слайд №19Введение в параллельные вычисления. Технология программирования MPI, слайд №20Введение в параллельные вычисления. Технология программирования MPI, слайд №21Введение в параллельные вычисления. Технология программирования MPI, слайд №22Введение в параллельные вычисления. Технология программирования MPI, слайд №23Введение в параллельные вычисления. Технология программирования MPI, слайд №24Введение в параллельные вычисления. Технология программирования MPI, слайд №25Введение в параллельные вычисления. Технология программирования MPI, слайд №26Введение в параллельные вычисления. Технология программирования MPI, слайд №27Введение в параллельные вычисления. Технология программирования MPI, слайд №28Введение в параллельные вычисления. Технология программирования MPI, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Введение в параллельные вычисления. Технология программирования MPI. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Введение в параллельные вычисления. Технология программирования MPI (день первый)
Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных информационных технологий НИВЦ МГУ
Описание слайда:
Введение в параллельные вычисления. Технология программирования MPI (день первый) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных информационных технологий НИВЦ МГУ

Слайд 2





Координаты для связи:
E-mail: asa@parallel.ru,
parallel@parallel.ru
Тел: 939-23-47
Web: http://parallel.ru
Описание слайда:
Координаты для связи: E-mail: asa@parallel.ru, parallel@parallel.ru Тел: 939-23-47 Web: http://parallel.ru

Слайд 3





План занятий:
1-й день: введение, коротко об операционной системе UNIX, практические сведения, параллелизм и способы его использования
2-7-й дни: технология MPI
8-й день: обсуждение результатов, подведение итогов, ответы на вопросы
Описание слайда:
План занятий: 1-й день: введение, коротко об операционной системе UNIX, практические сведения, параллелизм и способы его использования 2-7-й дни: технология MPI 8-й день: обсуждение результатов, подведение итогов, ответы на вопросы

Слайд 4





UNIX:
UNIX – это многозадачная, многопользовательская система, обладающая широкими возможностями. Ее реализации существуют практически на всех распространенных компьютерных платформах.
LINUX – один из наиболее известных свободно распространяемых диалектов UNIX.
Описание слайда:
UNIX: UNIX – это многозадачная, многопользовательская система, обладающая широкими возможностями. Ее реализации существуют практически на всех распространенных компьютерных платформах. LINUX – один из наиболее известных свободно распространяемых диалектов UNIX.

Слайд 5





UNIX:
Все объекты в UNIX делятся на два типа: 
файлы и процессы.
 
Все данные хранятся в файлах, доступ к периферийным устройствам осуществляется через специальные файлы. 
Вся функциональность операционной системы определяется выполнением различных процессов.
Описание слайда:
UNIX: Все объекты в UNIX делятся на два типа: файлы и процессы. Все данные хранятся в файлах, доступ к периферийным устройствам осуществляется через специальные файлы. Вся функциональность операционной системы определяется выполнением различных процессов.

Слайд 6





UNIX:
Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password
passwd – смена пароля
пароль должен хорошо запоминаться и быть трудным для подбора!
exit – выход из системы 
man – получение справки о командах
man man
Описание слайда:
UNIX: Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password passwd – смена пароля пароль должен хорошо запоминаться и быть трудным для подбора! exit – выход из системы man – получение справки о командах man man

Слайд 7





UNIX:
Идентификатор пользователя (UID), идентификаторы групп (GID).
Принадлежность к группе определяет дополнительные права пользователей.
Информация о пользователях и группах обычно хранится в системных файлах /etc/passwd, /etc/shadow и /etc/group
Описание слайда:
UNIX: Идентификатор пользователя (UID), идентификаторы групп (GID). Принадлежность к группе определяет дополнительные права пользователей. Информация о пользователях и группах обычно хранится в системных файлах /etc/passwd, /etc/shadow и /etc/group

Слайд 8





UNIX:
Файловая система, каталоги.
/ - корневой каталог
/home/asa/myfile.txt
. – текущий каталог
.. – каталог на единицу более высокого уровня 
С каждым пользователем ассоциируется его домашний каталог.
Описание слайда:
UNIX: Файловая система, каталоги. / - корневой каталог /home/asa/myfile.txt . – текущий каталог .. – каталог на единицу более высокого уровня С каждым пользователем ассоциируется его домашний каталог.

Слайд 9





UNIX:
Атрибуты файлов. ls –l
       1                 2      3          4           5           6               7           8  
-rwxr-xr--  1 asa group 3422 Feb 28 13:30 test
- – обычный файл; d – каталог,  l – ссылка и др. 
Права доступа к файлу:
- – отсутствие права доступа, r – право на чтение, w – право на запись или удаление, x – право на выполнение файла.
Владелец-пользователь, владелец-группа и все остальные пользователи
Описание слайда:
UNIX: Атрибуты файлов. ls –l 1 2 3 4 5 6 7 8 -rwxr-xr-- 1 asa group 3422 Feb 28 13:30 test - – обычный файл; d – каталог, l – ссылка и др. Права доступа к файлу: - – отсутствие права доступа, r – право на чтение, w – право на запись или удаление, x – право на выполнение файла. Владелец-пользователь, владелец-группа и все остальные пользователи

Слайд 10





UNIX:
Смена прав доступа к файлу: 
chmod [u g o a][+ - =][r w x] file1…
u – смена права доступа для пользователя, 
g – для группы, o – для других пользователей, 
a – для всех трех категорий. 
+ – добавление соответствующего права, 
- – удаление, а = – присвоение 
chmod g+w test 
chown и chgrp – смена владельца-пользователя и владельца-группы файла
Описание слайда:
UNIX: Смена прав доступа к файлу: chmod [u g o a][+ - =][r w x] file1… u – смена права доступа для пользователя, g – для группы, o – для других пользователей, a – для всех трех категорий. + – добавление соответствующего права, - – удаление, а = – присвоение chmod g+w test chown и chgrp – смена владельца-пользователя и владельца-группы файла

Слайд 11





UNIX:
 cd [dir] – переход в каталог dir
Если каталог не указан, то переход осуществляется в домашний каталог пользователя 
 cp file1 file2 – копирование файла
 mv file1 file2 – перемещение (изменение имени) файла
 rm file1… – удаление файлов
 rmdir dir1… – удаление каталогов
 mkdir dir1… – создание каталога
Описание слайда:
UNIX: cd [dir] – переход в каталог dir Если каталог не указан, то переход осуществляется в домашний каталог пользователя cp file1 file2 – копирование файла mv file1 file2 – перемещение (изменение имени) файла rm file1… – удаление файлов rmdir dir1… – удаление каталогов mkdir dir1… – создание каталога

Слайд 12





UNIX:
 pwd – вывести имя текущего каталога
 cat file, more file, less file – утилиты просмотра содержимого файла
 find dir – поиск в файловой системе, начиная с каталога dir
 grep <рег_выражение> file1… – поиск в файлах вхождений регулярного выражения рег_выражение
 …
Описание слайда:
UNIX: pwd – вывести имя текущего каталога cat file, more file, less file – утилиты просмотра содержимого файла find dir – поиск в файловой системе, начиная с каталога dir grep <рег_выражение> file1… – поиск в файлах вхождений регулярного выражения рег_выражение …

Слайд 13





UNIX:
Процесс - программа в стадии ее выполнения.
ps – список выполняющихся процессов
Уникальный идентификатор процесса (PID).
Сигналы.
Завершить выполнение процесса:
kill –9 PID 
Список процессов, занимающих наибольшее количество процессорного времени или системных ресурсов:
top
Описание слайда:
UNIX: Процесс - программа в стадии ее выполнения. ps – список выполняющихся процессов Уникальный идентификатор процесса (PID). Сигналы. Завершить выполнение процесса: kill –9 PID Список процессов, занимающих наибольшее количество процессорного времени или системных ресурсов: top

Слайд 14





UNIX:
Потоки ввода/вывода: стандартный ввод, стандартный вывод и стандартный вывод ошибок. Для перенаправления стандартного ввода можно использовать символ <, для стандартного вывода – > или >> (с добавлением), для потока ошибок – 2>
program > file.log
Конвейер команд:
program1 | program2 | program3…
Фоновый режим:
program &
Описание слайда:
UNIX: Потоки ввода/вывода: стандартный ввод, стандартный вывод и стандартный вывод ошибок. Для перенаправления стандартного ввода можно использовать символ <, для стандартного вывода – > или >> (с добавлением), для потока ошибок – 2> program > file.log Конвейер команд: program1 | program2 | program3… Фоновый режим: program &

Слайд 15





UNIX:
who – список пользователей, работающих в данный момент в системе
uname – некоторые сведения о системе
Редактирование файлов: vi, joe и др., встроенный редактор файлового менеджера   Midnight Commander (mc), удаленное редактирование.
Компиляторы с языка Си cc (CC для Си++), компилятор с языка Фортран – f77 (f90 для Фортрана 90).
time program – время работы программы
Описание слайда:
UNIX: who – список пользователей, работающих в данный момент в системе uname – некоторые сведения о системе Редактирование файлов: vi, joe и др., встроенный редактор файлового менеджера Midnight Commander (mc), удаленное редактирование. Компиляторы с языка Си cc (CC для Си++), компилятор с языка Фортран – f77 (f90 для Фортрана 90). time program – время работы программы

Слайд 16





Параллелизм:
Конвейерность и параллельность.
Параллельная обработка. Одна операция - за единицу времени, то 1000 - за тысячу единиц. Пять устройств 1000 операций выполнит за 200 единиц времени. N устройств ту же работу выполнит примерно за 1000/N единиц времени.
Описание слайда:
Параллелизм: Конвейерность и параллельность. Параллельная обработка. Одна операция - за единицу времени, то 1000 - за тысячу единиц. Пять устройств 1000 операций выполнит за 200 единиц времени. N устройств ту же работу выполнит примерно за 1000/N единиц времени.

Слайд 17





Параллелизм:
Конвейерная обработка. Операция разбивается на ряд подопераций, выполняемых последовательно и независимо. Пусть 5 микроопераций, каждая из которых выполняется за единицу времени. Последовательное устройство 100 пар аргументов обработает за 500 единиц. Конвейерное устройство: первый результат через 5 единиц времени, каждый следующий – через одну единицу после предыдущего, а весь набор из ста пар будет обработан за 5+99=104 единицы времени.
Описание слайда:
Параллелизм: Конвейерная обработка. Операция разбивается на ряд подопераций, выполняемых последовательно и независимо. Пусть 5 микроопераций, каждая из которых выполняется за единицу времени. Последовательное устройство 100 пар аргументов обработает за 500 единиц. Конвейерное устройство: первый результат через 5 единиц времени, каждый следующий – через одну единицу после предыдущего, а весь набор из ста пар будет обработан за 5+99=104 единицы времени.

Слайд 18





Параллелизм:
Необходимо выделить группы операций, которые могут вычисляться одновременно и независимо. Возможность этого определяется наличием или отсутствием в программе истинных информационных зависимостей. 
Две операции программы называются информационно зависимыми, если результат выполнения одной операции используется в качестве аргумента в другой.
Описание слайда:
Параллелизм: Необходимо выделить группы операций, которые могут вычисляться одновременно и независимо. Возможность этого определяется наличием или отсутствием в программе истинных информационных зависимостей. Две операции программы называются информационно зависимыми, если результат выполнения одной операции используется в качестве аргумента в другой.

Слайд 19





Параллелизм:
Крупноблочное распараллеливание:
	if (MyProc = 0) then 
C операции, выполняемые 0-ым процессором
	endif
	...
	if (MyProc = K) then
C операции, выполняемые K-ым процессором 
	endif
Описание слайда:
Параллелизм: Крупноблочное распараллеливание: if (MyProc = 0) then C операции, выполняемые 0-ым процессором endif ... if (MyProc = K) then C операции, выполняемые K-ым процессором endif

Слайд 20





Параллелизм:
Наибольший ресурс параллелизма в программах сосредоточен в циклах!

Распределение итераций циклов:
	do i = 1, N
		if (i ~ MyProc) then
C операции i-й итерации для 
C для выполнения процессором MyProc
		endif
	enddo
Описание слайда:
Параллелизм: Наибольший ресурс параллелизма в программах сосредоточен в циклах! Распределение итераций циклов: do i = 1, N if (i ~ MyProc) then C операции i-й итерации для C для выполнения процессором MyProc endif enddo

Слайд 21





Параллелизм:
Примеры способов распределения итераций циклов:
Блочное распределение – по N/P итераций.
Блочно-циклическое распределение – размер блока меньше, распределение продолжается циклически.

Циклическое распределение – циклически по одной итерации.
Описание слайда:
Параллелизм: Примеры способов распределения итераций циклов: Блочное распределение – по N/P итераций. Блочно-циклическое распределение – размер блока меньше, распределение продолжается циклически. Циклическое распределение – циклически по одной итерации.

Слайд 22





Параллелизм:
Рассмотрим простейший цикл:
do i = 1, N
	a(i) = a(i) + b(i)
enddo
Описание слайда:
Параллелизм: Рассмотрим простейший цикл: do i = 1, N a(i) = a(i) + b(i) enddo

Слайд 23





Параллелизм:
Блочное распределение:
C размер блока итераций
	k = (N-1)/P + 1
C начало блока итераций
C процессора MyProc
	ibeg = MyProc * k + 1
C конец блока итераций
C процессора MyProc
	iend = (MyProc + 1) * k
Описание слайда:
Параллелизм: Блочное распределение: C размер блока итераций k = (N-1)/P + 1 C начало блока итераций C процессора MyProc ibeg = MyProc * k + 1 C конец блока итераций C процессора MyProc iend = (MyProc + 1) * k

Слайд 24





Параллелизм:
C если не досталось итераций 
	if (ibeg .gt. N) then 
		iend = ibeg – 1 	
	else
C если досталось меньше итераций
		if (iend .gt. N) iend = N
	endif
	do i = ibeg, iend
		a(i) = a(i) + b(i)
	enddo
Описание слайда:
Параллелизм: C если не досталось итераций if (ibeg .gt. N) then iend = ibeg – 1 else C если досталось меньше итераций if (iend .gt. N) iend = N endif do i = ibeg, iend a(i) = a(i) + b(i) enddo

Слайд 25





Параллелизм:
Циклическое распределение:
	do i = MyProc+1, N, P
		a(i) = a(i) + b(i)
	enddo
Описание слайда:
Параллелизм: Циклическое распределение: do i = MyProc+1, N, P a(i) = a(i) + b(i) enddo

Слайд 26





Параллелизм:
	do 1 i = 1, N-1
	  do 1 j = 1, M-1
1		a(i,j) = a(i-1,j) + a(i,j)
Описание слайда:
Параллелизм: do 1 i = 1, N-1 do 1 j = 1, M-1 1 a(i,j) = a(i-1,j) + a(i,j)

Слайд 27





Параллелизм:
	do 1 i = 1, N-1
	  do 1 j = 1, M-1
1		a(i,j) = a(i-1,j) + a(i,j-1)
Описание слайда:
Параллелизм: do 1 i = 1, N-1 do 1 j = 1, M-1 1 a(i,j) = a(i-1,j) + a(i,j-1)

Слайд 28





Параллелизм:
Цели распараллеливания:
 равномерная загрузка процессоров 
 минимизация количества и объема необходимых пересылок данных
Пересылка данных требуется, если есть информационная зависимость между операциями, которые при выбранной схеме распределения попадают на разные процессоры.
Описание слайда:
Параллелизм: Цели распараллеливания: равномерная загрузка процессоров минимизация количества и объема необходимых пересылок данных Пересылка данных требуется, если есть информационная зависимость между операциями, которые при выбранной схеме распределения попадают на разные процессоры.

Слайд 29





Параллелизм:
Закон Амдала:
Пусть f – доля последовательных операций, 
0 ≤ f ≤ 1, 
1-f – доля параллельных операций, 
S – ускорение,  p – число процессоров
Описание слайда:
Параллелизм: Закон Амдала: Пусть f – доля последовательных операций, 0 ≤ f ≤ 1, 1-f – доля параллельных операций, S – ускорение, p – число процессоров



Похожие презентации
Mypresentation.ru
Загрузить презентацию