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

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

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

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

Программа обслуживания клиентов, где задержки предотвращены. МР1 Сошш гапй(сошш, йгапк), МР1 Соппп здхе(сошш, йздхе), /в Производитель */ дт(тапи ~н здхе-1) ( Ьиттег = (ВиИИет *)ша11ос(здхеоИ(Виттег)), /в Главный цикл в/ ы)дд1е (1) сурес(е1 зсгисс ( с)дат о1асаГМАХЯ1ЕЕ3, дпп с(атаздхе, Виттег, Виттег ЬиИтегП, МР1 Кес!иенс тес(П, МР1 Ясасиз зсасиз(3, дпс дпс(ехП, длина массива запросов массив имен запросов количество завершенных запросов массив инпексов завершенных операций массив статусов объектов дпя завершенных операций й Ратбда-Раыь$ аааимодевсдааия ( ргобцсе(Ьцтдег->баса, йЬцгтег->басаядхе), мР1 Яепб(ьцд'дег->баса,ьцддег->басаздхе,мР1 снАк,ядие-1,саб,савв), /« гапк == вдхе-1, Потребитель «~ е1ве ( ЬцЛег = (Вцттег «)ва11ос(вдовеет(Вптдег)«(здге-1)), ген = (МР1 Нес)пенс «)ва11ос(вдхеод(МР1 Неццеяс)«(ядие-1)), ясасцз = (МР1 ясасцв «)ва11ос(вдхео1(МР1 япаспз)«(ядие-1)), дпбех = (дпс «)ва11ос(вдхеот(дпс)*(здхе-1)), тог(д=О, д < здхе-1, д++) МР1 1геоч(ЬпттегЫ бата, МАХЯ1ЕЕ, МР1 СНАЯ, д, Саб, совв, йгес)Ы ), /« Главный цикл «/ нЬд1е(1) ( МР1 Иадсвове(ядие-1,ген,йсоппс,дпбех,всатцв), тот(д=О, д < соппс, д++) д )=дпбех(д], МР1 Пес соппс(йвсаппвЫ , МР1 СНАК, й(Ьп11ег(1] басавдхе)), сопение(Ьцдтег()] баса, Ьп11ег[)] басавдхе), МР1 1гесч(Ьп11егГ)] баса, МАХЯ1ЕЕ, МР1 СНАК, ], саЕ, совв, йге Ы'), Эта программа решает проблему задержек в примере б.17.

Здесь заменен запрос потребигеля к МР1 НА1ТАМУ запросом к МР1 ИА1ТЯОМЕ. Таким образом достигаются две цели: число гапросов связи уменьшено, так как один запрос теперь может выполнить много операций, зо-вторых, потребитель не будет никого задерживать, так как он получит любую отпразленную передачу. >.9. Зондирование и отмена связи 1Р1 1РНОВЕ(зоцгсе, (М зоцгсе 1М паЕ ~М савв )ОТ д1аб )ОТ зсасця саЕ, соппп, д1аЕ, всагпв) ранг передавшего процесса тег сообшения коииуникатор равно сгце, если есть сообшение, иначе да1ве статус объекта .пс МР1 1ргоЬе(дпс воцгсе, дпс саЕ, МР1 Соппп совв, дпп «11аЕ, МР1 Ясасцв «всасцз) Функции МР1 РНОВЕ и МР1 1РНОВЕ позволяют опрашивать поступающие сообщения без пх фактического получения. Прикладная программа может затем решать, как получить дх, основываясь на информации, возвращенной зондом (в переменной зсаспз).

Например, дрикладная программа могла бы распределять память для буфера приема согласно длине дсследованного сообщения. МР1 САМСЕЕ отменяет отложенную связь. Это требуется для уборки в некоторых ситуадиях. Предположим, что программа инициировала неблокнрованные передачи или приемы д затем решает, что эти операции не будут завершаться. Инициированные передача нли дрием связывают прикладные ресурсы (посылаемый буфер или буфер приема). Функция отменяет эти операции и освобождает ресурсы.

о.р. Зондирование и отмена связи 'вг1 1РВОВЕ(БОУУВСЕ, ТАС, СОИМ, РЕАС, ЯТАТОЯ, 1ЕВВОВ) 1ОС1САУ. РЕАО УвТЕСЕК ЯООКСЕ, ТАС, СОММ, ЯТАТОЯ(МР1 ЯТАТОБ Б12Е), 1ЕВЮК МР1 1РЮВŠ— операция неблокированная, которая возврашает 11аЕ = сгие, если имеетея сообщение, которое может быть получено и соответствует оболочке сообшения с аргувевтами зоигсе, Саб и сопи.

Запрос соответствует тому же самому сообщению, которое было бы получено запросом к МР1 ВЕСУУ (с этими аргументами), выполненному в той же самой точке в программе, и возвратил бы в статусе объекта (пакета данных) то же самое звачение. Иначе запрос возвращает 11аЕ = Ха1зе и неопределенное состояние аргументов. ИГ1 1РЮВЕ имеет локальную семантику завершения. Если МР1 1РВОВЕ(зоигсе,саб,совки,т1аЕ,зсасиз) возврашает 11аЕ = сгие, то первая свелуюшая за этим получающая функция с теми же самыми переключателем каналов сопвп, вовгсе и саЕ, возврашенным в зсасиз, получит сообшение, которое было согласовано этим ювдом.

Аргумент источника может быть МР1 АМ'к'.ЯООВСЕ и тег — МР1 АМТ ТАО, чтобы можно было исследовать сообщения из произвольного источника и/или с произвольным тегом. Однако определенный переключатель каналов нужно обеспечить в сопки. Нет необходимости получать сообшение немедленно после того, как оно было исследовано, то же самое сообщение может быть исследовано прежде, чем оно будет получено.

саЕ, сопок, зсасиз) ранг источника тег сообвуения коммуникатор (соииипйсасог) статус объекта вР1 РВОВЕ(зоигсе, 1й зоигсе 16 саЕ 1в сопки ОСТ зсасиз упс мР1 Ргоье(1пс зоигсе, 1пс сае, мр1 соппп соим, мр1 ясаииз *зсасиз) ИР1 РВОВЕ(ЯОУУКСЕ, ТАС, СОММ, ЯТАТОБ, 1ЕВКОК) 1йТЕСЕВ ЯОУУВСЕ, ТАО, СОММ, ЯТАТ(УБ(МР1 ЯТАТУУБ Я12Е), 1ЕКЮК Пример 5.19. Использование блокированного зонда для ожидания поступавшего сообше- вия.

МР1 Сопвп гапК(совки, йгапК); г1(гапК == О) МР1 Яепс)(1, 1, МР1 1МТ, 2, О, сопи); е1зе гй(гапК == 1) МР1 ЯепсУ(х, 1, МР1 РЕОАТ, 2, О, соввв); е1зе 1г(гапК == 2) ( аког(К = 1; К <и 2, К++) МР1 РВОВЕ ведет себя как МР1 1РЮВЕ за исключением того, что она блокирована и возвращается только после того, как соответствующее сообщение было найдено. МР1 РЮВЕ имеет не локальную семантику завершения. Семантика МР1 РЮВЕ и МР1 1РЮВЕ гарантирует прогресс (продвижение прикладной программы вперед) таким же образом, как инициация принимающей функции в той же самой точке в программе.

Если запрос к МР1 РЮВЕ был запущен процессом и передача, которая соответствует зонду, была начата некоторым процессом, то запрос к МР1 РКОВЕ возвратится, если только сообщение не будет получено другой одновременно принимаюшей операцией. Точно так же, если активные ожидания процесса с МР1 1РВОВЕ были запущены соответствующим сообщением, то запрос к МР1 1РЮВЕ в конечном счете возвратит 11аЕ = сгие, если только сообшение не будет получено другой одновременно получаюшей операцией. 88 5, Рошв$о-Ро~п1 взаи иодезотвия ( МР1 РгоЬе(ИР1 АМУ БОУВСЕ, О, соппп, йвгагцз); 11(згагцз(ИР1 БООВСЕ) = 0) МР1 Весч(1, 1, МР1 1МТ, О, О, соппп, йзгагцз); е1зе МР1 Весч(х, 1, ИР1 РЕОАТ, 1, О, сопи, йзгагцз); 100 200: ) Каждое сообгцение получено с правильным типом. Пример 5.20. Программа, как в предыдущем примере, но с проблемой.

МР1 Сопи гапК(соппп, йгапК); 11(гапК == 0) ИР1 Бепс)(1,1,МР1 1МТ,2,0,соппп); е1зе 11(гапК == 1) МР1 Бело(х, 1, МР1 РЕОАТ, 2, О, соппп); г1зе 11(гапК == 2) ( аког(1 = 1; 1 <= 2, 1++) ( МР1 РгоЬе(МР1 АМУ ЯОУВСЕ, О, сопли, йзгагпз); гй(вгагцз(МР1 ЯООВСЕ) = 0) 100: ИР1 Весч(1, 1, МР1 1МТ, ИР1 АМУ БООВСЕ, О, сопи, йзгагцз); е1зе МР1 Весч(х, 1, ИР1 ГЕОАТ, МР1 АМУ БОУВСЕ, О, соппп, йзгагпз); 200: Немного изменен пример 5.19, здесь используются МР1 АМУ БОУВСЕ в операторах, маркярованных числами 100 н 200. Программа теперь имеет различное поведение: получающая операция может получать сообщение, которое будет отличаться от исследованного сообщения.

Запрос к МР1 РВОВЕ(зопгзе, га8, соппп, згагцз) соответствует сообщению, которое было зы получено запросом к ИР1 ВЕСН(...,зопгзе,га8, сова, згагпз), выполненным в той же :амой точке. Предположим, что зто сообщение имеет источник з, тег г и переключатель саналов с. Если аргумент тега в запросе зонда имеет значение ИР1 АМУ ТАО, то исследовапюе (зондированное) сообщение будет самое раннее отложенное сообщение из источника з с тереключателем каналов с н любым тегом; в любом случае, исследованное сообщение будет :амое раннее отложенное сообщение из источника з с тегом г и переключателем каналов =. Это сообщение продолжает быть самым ранним отложенным сообщением нз источника в с тетом г и переключателем каналов с пока оно не получено.

1Р1„САМСЕ1,(тес(иезг) (М гес(цезг заголовок запроса шг МР1 Сапсе1(ИР1 Вес)пезг вгес)цезг) 1Р1 САМСЕЕ(ВЕЦОЕБТ, 1ЕВВОВ) ГМТЕОЕВ ВЕЦОЕБТ, 1ЕВВОВ МР1 САМСЕЕ обозначает отмену задержанных неблокированных операций обмена данныли (передачи нли приема). МР1 САМСЕЕ имеет локальную семантику завершения. Она возвращает управление немедленно, возможно, прежде, чем связь фактически отменена.

После ~того она вынуждает закончить связь, которая регистрировалась для отмены, используя ~алрос к МР1ВЕЦОЕЯТ РВЕЕ, МР1 МА1Т, МР1 ТЕБТ или одной из функций в п. 5.8. Если связь ~е была отменена (т. е. если связь начиналась прежде, чем отмена могла воздействовать), 5.10. Устойчивые запросы связи то запрос завершения закончит связь как обычно.

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

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

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

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

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

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