Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2





НазваниеПрограмма по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2
страница17/20
Дата публикации07.05.2014
Размер1.28 Mb.
ТипУчебное пособие
100-bal.ru > Информатика > Учебное пособие
1   ...   12   13   14   15   16   17   18   19   20

6Системы программирования на основе передачи сообщений




6.1Основы MPI


MPI (Message Passing Interface – интерфейс передачи сообщений) – программный интерфейс (библиотека, API), предоставляющий процессам, выполняющим одну задачу, возможность обмена сообщениями

  • Разработан группой MPI Forum http://www.mpi-forum.org, поддержан академическими кругами (университет Иллинойса) и промышленностью

  • Является одним из первых стандартов систем передачи сообщений

  • Применяется в системах с распределённой памятью, кластерах

  • Основные особенности

    • Высокая производительность

    • Масштабируемость

    • Переносимость (портируемость)

  • Для упрощения переносимости используется языково-независимая спецификация (Language-independent specification – LIS)


Стандарты MPI

  • MPI-1 (≈128 функций)

    • Передача и получение сообщений между отдельными процессами (отправка сообщений указанному процессу)

    • Коллективные взаимодействия процессов (отправка сообщений нескольким получателям)

    • Взаимодействия между процессами в группах процессов (сообщения, синхронизация)

    • Виртуальные топологии процессоров

  • MPI-2 (≈500 функций)

    • Включает MPI-1

    • Динамическое порождение процессов и управление процессами (процессы допустимо создавать в процессе работы программы)

    • Односторонние коммуникации (обмены Get/Put)

    • Поддержка операций параллельного файлового ввода и вывода

    • Расширенные коллективные операции (процессы могут выполнять коллективные операции не только внутри одного коммуникатора, но и в рамках нескольких коммуникаторов)


Общая структура MPI-программы

  • Подключение необходимых библиотек (заголовочных файлов, областей имён)

  • Инициализация

    • MPI_Init

    • Параметры – аргументы командной строки

    • До инициализации не рекомендуется изменять состояние процесса, например, осуществлять ввод/вывод

  • Использование

  • Деинициализация

    • MPI_Finalize

    • Перед денициализацией все обмены должны быть завершены – это забота программиста

    • После деинициализации количество работающих процессов не определено – лучше завершить работу программы

    • Заново инициализировать MPI нельзя


Процессы в MPI

  • Для запуска приложений MPI используется специальная утилита (mpiexec)

  • Для обеспечения функционирования MPI приложений на распределённых архитектурах используются службы (демоны) MPI

  • Каждый MPI-процесс имеет свой номер – ранг процесса, используемый для его идентификации

  • Первый запущенный процесс имеет ранг 0


Сообщения



Виды сообщений по количеству взаимодействующих процессов

  • Попарные (point-to-point, двухточечные) – сообщение отправляется от одного процесса к другому

    • Используется для неструктурированных и локальных взаимодействий

  • Коллективные – сообщения отправляется и/или принимаются несколькими процессами

    • Эффективней множества попарных сообщений за счёт учёта архитектуры вычислительной системы


Виды сообщений по типам вызовов

  • Синхронные – процесс-отправитель сообщения ожидает готовности процесса-получателя принять сообщение

  • Асинхронные – процесс-отправитель сообщения не ждёт готовности процесса-получателя, доставка сообщения обеспечивается внутренним буфером MPI

  • Первые реализации MPI предусматривали только синхронные сообщения

  • Последние реализации MPI используют асинхронные сообщения для попарных обменов


Основные составляющие сообщения

  • Блок данных

  • Метаинформация блока данных

    • Тип данных – в MPI есть собственные типы данных, являющиеся реализацией канонических типов данных

    • Размер данных

  • Информация об отправителе и получателе сообщения

    • Коммуникатор (группа) – рассматривается в следующей части

    • Ранг отправителя

    • Ранг получателя

  • Тег сообщения – целое число от 0 до 32767

    • Используется для фильтрации сообщений получателем или определения порядка следования сообщений

    • Отсутствует в коллективных обменах сообщениями


Виды коллективных сообщений

  • Широковещательная передача – передача сообщения от одного процесса сразу всем процессам

  • Распределение данных – отправка сообщений от одного процесса нескольким процессам

  • Сбор данных – получение сообщений одним процессом от нескольких процессов

  • Обмен с барьером – ожидание заданного количества процессов

  • Операции приведения – разновидность сбора данных, при которой полученные данные становятся доступными всем процессам, из которых осуществлялся сбор данных

  • Операции сканирования – разновидность операции приведения, после выполнения которой данные процессов не идентичны, а последовательно передаются между процессами, как при конвейерной обработке


Коммуникаторы


  • Процессы разделяются на виртуальные группы, внутри которых осуществляются обмены сообщениями

  • Коммуникатор – идентификатор группы взаимодействующих процессов, имеющих возможность обмениваться сообщениями

  • Один и тот же процесс может одновременно входить в несколько коммуникаторов

  • В каждом коммуникаторе процесс будет иметь собственный ранг


Коммуникаторы по умолчанию

  • MPI_COMM_WORLD – содержит все процессы

    • Первый запущенный процесс именно в этом коммуникаторе будет иметь ранг 0

  • MPI_COMM_SELF – содержит только процесс, в контексте которого вызвана функция

  • MPI_COMM_NULL – пустой коммуникатор, не содержит ни одного процесса


Назначение коммуникаторов

  • Возможность организации коллективных обменов сообщениями внутри групп процессов

  • Изоляция обменов различного назначения

  • Учёт архитектуры вычислительной системы (кластера) для повышения скорости обмена сообщениями


Обмен сообщениями


Функции отправки и приёма сообщений

  • Попарные сообщения

    • MPI_Send – блокирующая отправка

    • MPI_Recv – блокирующий приём

    • MPI_Isend – неблокирующая отправка

    • MPI_Irecv – неблокирующий приём

  • Коллективные сообщения

    • MPI_Barrier – синхронизация всех процессов в коммуникаторе

    • MPI_Bcast – отправка сообщений всем процессам в коммуникаторе

    • MPI_Reduce – получение сообщений от нескольких процессов в коммуникаторе

    • MPI_Abort – запрос на завершение всех процессов


Имитация «вызова» функции

  • Порядок выполнения операций

    • Отправка сообщения со входными параметрами из вызывающего процесса

    • Приём сообщения в вызываемом процессе

    • Обработка информации

    • Отправка сообщения с результатом выполнения функции в вызывающий процесс

    • Приём сообщения в вызывающем процессе

  • Недостатки

    • Большое количество кода

    • Невысокое быстродействие

    • Трудность отладки, особенно при переходе от синхронных сообщений к асинхронным


Попарный обмен сообщениями

  • Предусмотрена функция обмена сообщениями, обеспечивающая имитацию «вызова», MPI_Sendrecv

    • Эта функция принимает сообщения от MPI_Send

    • Сообщения этой функции принимаются с помощью MPI_Recv

  • Функция MPI_Sendrecv_Replace позволяет использовать один буфер данных для отправки и получения сообщений


Ввод и вывод информации

  • Есть реализации MPI, в которых всем процессам разрешается выводить информацию на консоль

    • Данные «перемешиваются»

  • Есть реализации MPI, в которых на консоль разрешается выводить информацию только процессу с рангом 0 в коммуникаторе MPI_COMM_WORLD

  • Есть реализации MPI, в которых ввод/вывод осуществляется только посредством файлов

    • Наиболее характерно для распределённых систем

    • Рекомендуется каждому процессу назначать собственный файл для ввода/вывода


Реализации MPI


1   ...   12   13   14   15   16   17   18   19   20

Похожие:

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Проектно-образовательная деятельность по формированию у детей навыков безопасного поведения на улицах и дорогах города
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: Создание условий для формирования у школьников устойчивых навыков безопасного поведения на улицах и дорогах
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Организация воспитательно- образовательного процесса по формированию и развитию у дошкольников умений и навыков безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: формировать у учащихся устойчивые навыки безопасного поведения на улицах и дорогах, способствующие сокращению количества дорожно-...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Конечно, главная роль в привитии навыков безопасного поведения на проезжей части отводится родителям. Но я считаю, что процесс воспитания...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспитывать у детей чувство дисциплинированности и организованности, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Всероссийский конкур сочинений «Пусть помнит мир спасённый» (проводит газета «Добрая дорога детства»)
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспиты­вать у детей чувство дисциплинированности, добиваться, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск