Главная » Просмотр файлов » В.Д. Корнеев - Параллельное программирование в MPI

В.Д. Корнеев - Параллельное программирование в MPI (1162616), страница 20

Файл №1162616 В.Д. Корнеев - Параллельное программирование в MPI (В.Д. Корнеев - Параллельное программирование в MPI) 20 страницаВ.Д. Корнеев - Параллельное программирование в MPI (1162616) страница 202019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

Такая функци« полезна для моделей связи, где каждый процесс и посылает, и получает сообщения. Од«ш пример — обмен данными между двумя процессами, другой — смещение данных вдоль цепи процессов. Безопасная программа, которая осуществляет такое смещение, должн« использовать одинаковый порядок связи между процессами, подобно примеру в и. 9,3.4.

Когда используется МР1 БЕМОВЕСЧ, потоки данных одновременны (логически, по крайнев иере) в обоих направлениях и циклы в модели связи не делают «)еа«)!ос!«. МР! ЯЕМОВЕСЧ может использоваться вместе с функциями, описанными в гл. 4, чтобы целать смешения на логической топологии. Она также может использоваться для выполнения дистанционных управлений: одна и та же МР1 ЯЕМОВЕСЧ используется для посылки ! входных параметров в вызове и получения назад выходных параметров.

Имеется совместимость между МР1 ЯЕМОВЕСЧ и обычными функциями посылки и по. пучения сообщений. Сообщение, посланное МР1 БЕМОВЕСН, может быть получено обь«чноА функцией приема сообщений, и, наоборот, МР! ЯЕМОВЕСЧ может получать сообщение, посланное обычной функцией передачи сообщений. 5.6. Недействительные процессы 71 пр! ЯЕМОКЕСЧ КЕР!.АСЕ(ЬиХ, соипС, йапаСуре, йевС, вепйСаб, воигсе, гесчСая, соппп, всэсив) адрес посылаемого буфера и буфера пля приема панных количество элементов в посылаемом буфере и буфере лля приема тип элементов в посылаемом буфере и буфере для приема ранг (номер) процесса, которому осушествпяется передача тег посылаемого сообшения ранг (номер) перепаюшего процесса тег принимаемых ланных нмя переключателя каналов (сошшип1сасог) статус полученного сообшения !МОЧТ ЬиТ !М соипс !И йасасуре 1М йенс 1М вепйсаб !М воигсе 1И гесчпаб !М союш ОПТ есасив 1ПС МР! Яепйгесч гер1асе(чо1йь ЬиТ, Мпс соипс, ИР1 Оасасуре йасасуре, Мпс йевс, Тпс вепйсаЕ, 1пс воигсе, Тпс гесчсаЕ, МР1 Соппп соппп, МР1 Ясасие ьесасие) ИР1 ЯЕМОКЕСЧ КЕРОАСЕ(ВОР, СООМТ, 0АТАТУРЕ, ОЕЯТ, ЯЕМОТАС, ЯООКСЕ, КЕСЧТАС, СОММ, БТАТОЯ, 1ЕКЮК) <суре> ВОР(э) !ИТЕСЕК СООМТ, 0АТАТУРЕ, 0ЕБТ, БЕМОТАС, БОСКСЕ, КЕСЧТАС, СОММ :МТЕСЕК БТАТУЯ(МР1 ЯТАТУЯ Я!ЕЕ), 1ЕККОК МР1 ЯЕМОКЕСЧ КЕР|АСЕ выполняется с блокированием посылки и получения.

Используетсв тот же самый буфер, как для посылающего, так н для получающего оператора. Помввное сообщение затем заменяется полученным сообщением. Пример с использованием пбиевной функции МР1.Бепйгесч гер1асе см. в п, 9.3.2. М.б. Недействительные процессы ЕТ.

Неблокированные взаимодействия Ложно улучшить выполнение многих программ, осуществляя обмен данными и вычисле~вв с перекрытием, т.е. параллельно. Это особенно хорошо реализуется на системах, где :вязь может быть выполнена автономно от работы компьютера. Многоподпроцессный регим — один из механизмов для достижения такого перекрытия. В то время как один из юдпроцессов блокирован, ожидая завершения связи, другой подпроцесс может выполняться ~а том же самом процессоре.

Этот механизм эффективен, если система поддерживает мнооподпроцессный режим, объединенный с подсистемой связи. Альтернативный механизм, вторый часто дает лучшее выполнение, должен использовать неблокированные комму- акации. Неблокированная передача данных инициализирует посылающее действие, но не Во многих примерах удобно опрепелить фиктивный (не существующий) источник или нэ; ~качение для связи.

В примере задачи Дирихле (и. 9.3.3) это устраняет специальное обрашепве граничных процессов, что также упрощает обращение границ в случае нециклического иввга, когда используется вместе с функциями, описанными в гл. 4. Специальное значение МР1РЮС МОьь может использоваться вместо ранга везде, где гребуются фиктивный источник или фиктивный аргумент назначения в функции связи. вязь с процессом МР1 РЮС М001 не имеет никакого эффекта. Посылка к МР1РКОС МОь1. 1остнгает цели и возвращается как можно скорее. Получение от МР1РЮС М010 достигает шли н возвращается как можно скорее без изменений в буфере приема. Если у получающего ~роиесса воигсе = МР1РКОС МОьь, то статус возвращает воигсе = МР1 РЮС М00!., саЕ = (Р! АМУ ТАС и соипс = О.

Пример недействительных процессов, делающих рассмотренную параллельную прорамму задачи Пирихле более прозрачной, приведен в и. 9.3.3. 5. Ро«пк«о-Ро«н«взаи нодеосо«воя 72 заканчивает его. Функция возвратит управление прежде, чем сообщение скопировано вне посылаюшегося буфера. Необходим отдельный запрос к специальной функции (завершение- веЫ), чтобы закончить связь, т.е. проверить, что данные были скопированы вне посылаюшегося буфера. С подходящим оборудованием передача данных вне памяти передающего может продолжаться одновременно с вычислениями, выполняющимися в передающем процессе после того, как передача данных была инициализирована.

Точно так же неблокированный прием данных инициализирует получающее действие, но не заканчивает его. Функция возвратит управление прежде, чем сообщение записано в буфер приема данных. Необходим отдельный запрос к специальной функции (завершение-гесо), чтобы закончить получающее действие, т.е. проверка, что данные были получены в буфер приема данных. Неблокированная передача может быть отправлена по каналам независимо от того, попучает ее соответствующий приемник или нет. Неблокированная передача имеет местную семантику завершения: она возвращается немедленно, независимо от состояния других процессов.

Если запрос приводит к исчерпанию некоторых ресурсов системы, то он 5удет возвращать код ошибки. Приложения МР1 гарантируют, что это случается только в "ра«Ьо!оЕ1саГ' случаях. В стандартном варианте завершение-зеп«1 функции возвращаются, когда данные были :копированы вне буфера передачи данных. Завершение-зел«1 функции имеют не местную "емантнку завершения.

В одном варианте (стандартном) запрос к ним может возвращаться прежде, чем соответствующий получатель инициирует прием данных, если сообщение зуферизуется. В другом варианте (синхронном) запрос к завершение-зен«1 функции не возвращается, пока соответствующий получатель не инипиирует прием данных. В третьем варианте (по состоянию готовности) получатель должен инициировать прием данных перед запросом к завершение-зеЫ функции в передающем процессе, Таким образом, МР1 предлагает выбор разных версий неблокированной связи (стандартный, буферизированный, =инхронный, по готовности), которые допускают, чтобы пользователи управляли выбором протокола связи.

Способы описаны в п. 5.12. Имеется совместимость между блокированными и неблокированными функциями связи. Неблокированная перелача, может быть согласована с блокированным приемом, и наоборот. Замечание. МР1 модель передачи сообщений является "рпв1«" моделью, где связь осуше. :твляется передающим процессором.

э.7.1. Объекты запроса Неблокированные функции связи используют гецпевс объекты, чтобы опознавать действия :вязи и связывать действия отправления по каналам с действиями завершения. Объекты «апроса распределены МР1 и постоянно находятся в МР1 "вув1ет" памяти. Объект запроса «епрозрачен в смысле, что тип и структура объекта не видимы пользователям. Приклад«ая программа может только манипулировать заголовком объекта, а не самими объектами «епосредственно. Системы, использующие объекты запросов, опознают различные парамегры действия связи, типа буфера связи, который связан с запросом, или хранят информацию относительно состояния отложенного действия связи.

Пользователь может иметь юступ к объектам запроса через различные МР1 вызовы, чтобы запрашивать состояния зтложенных действий связи. Используется специальная величина ИР1 ЯЕЦ««ЕЯТ ло1.1., чтобы указать недействитель«ый заголовок запроса.

Лействия, которые освобождают объекты запроса, присваивают «аголовку запроса это значение. 1.7.2. Инициализация иеблокированиых операций Рункции неблокированных операций имеют те же самые имена, что и функции блокирован«ых операций, за исключением дополнительного префикса 1 непосредственно перед именем, «казывающего, что запрос неблокирован. о. 7. Небвокороваоные вэаимодеоеювоя 73 дпс МР1 1вепд(чодбв ЬиХ, дпс соим, МР1 Расасуре оасасуре, дис йенс, дпс саЕ, МР1 Сова сова, МР1 Кее)иенс вгеоиезс) ИР1 1БЕМР(ВУР, СОУМТ, РАТАТЧРЕ, РЕЯТ, ТАО, СУММ, КЕЦУЕЯТ, 1ЕККОК) <суре> ВУР(*) 1ИТЕОЕК СОРИТ, РАТАТЧРЕ, РЕЕТ, ТАО, СУММ, КЕЦУЕЯТ, 1ЕККОК МР1 1ЯЕМР инициирует в стандартном режиме неблокированную передачу данных.

1пт МР1 1гесч(чодбе ЬиТ, дии свили, МР1 Раиаиуре бапаиуре, дпс воигсе, дпс саЕ, МР1 Соим союш, МР1 Кее)иенс вгее)иевь) 4Р1 1КЕСЧ(ВУГ, СОУМТ, РАТАТЧРЕ, БРУКСЕ, ТАО, СОИМ, КЕЦУЕЯТ, 1ЕККОК) есуре> ВУР(в) (МТЕОЕК СОУМТ, РАТАТЧРЕ, БРУКСЕ, ТАУ, СОИМ, КЕЦУЕЯТ, 1ЕККОК МР1 1КЕСЧ инициирует в стандартном режиме неблокированный прием данных. Эти Ьункции размещают объекты запроса и возвращают заголовок этого запроса в гее)иенс.

.ее)иенс используется, чтобы запросить состояние связи или ждать ее завершения. Не)локированная посылающая функиия указывает, что система может начинать копировать ~анные вне посылаюшегося буфера. Посылающий процесс не должен иметь доступ к посылаемому буферу после того, как неблокированное посылающее действие инициировано, до ~ех пор, пока завершение-зепИ функция не возвратит управление. Неблокированная получающая функция указывает, что система может начинать писать ~анные в буфер приема данных. Приемник не должен иметь доступ к буферу приема юсле того, как неблокированное получающее действие инициировано, до тех пор, пока ~аверодемое-гесо функция не возвратит управление.

Характеристики

Тип файла
DJVU-файл
Размер
5,85 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6496
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее