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

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

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

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

ГОНСТ1ОИ 1НТЕОЕВ ЕВВНАНЭЕЕВ, 1ЕВВОВ МР1 ЕВВНАНОЕЕВ СВЕАТŠ— регистрирует функцию пользователя 1ипссйоп как МР1 про. грамму реакции на особую ситуацию. Возвращает в еггпапс!1ег ее заголовок. В языке С оператор пользователя должен быть функцией С типа МР1Напе(1ег 1ипссйоп, которая определена как Туребе1 чоЫ(МР1 Нале!1ег 1ипсскоп) (МР1 Соки е, Апс е, ...); б.~. Оброботко ошибок Первый аргумент — переключатель каналов в использовании. Второй — код ошибки, который будет возвращен МР! оператором, обработавшим эту ошибку. Если оператор возвратил код многократной ошибки (см.

и. 5.8), это — код ошибки, возвращенный в состоянии (всаспв) для запроса, который заставил обработчик ошибки вызываться. Остающиеся аргументы — кзЫагйз" аргументы, чьи номера и значения зависимы от выполнения. ИР1 ЕНННАМОЬЕН БЕТ(соков, еггЬапб1ег) 1й сошш сопввпп1сасог по вес ппе еггог Ьапб1ег аког 1М еггЬапб1ег пен ИР1 еггог Ьап41ег Тог сошшппзсасог 1пс НР1 ЕггЬапб1ег веС(МР1 Сошш сошш, МР1 ЕггЬапб1ег еггЬапг!1ег) ИР1 ЕНЕНАМОЬЕН БЕТ(СОММ, ЕНННАМОЕЕН, 1ЕННОН) 1ИТЕСЕН СОИМ, ЕНННАМО1ЕН, 1ЕННОИ ИР1ЕНННАМО1ЕН БЕТ вЂ” связывает новый обработчик ошибок еггогЬап41ег с переключателем каналов сошш при процессе запроса. Заметьте, что обработчик ошибок всегда связывается с переключателем каналов. 'вР1 ЕНННАМООЕИ СЕТ(сошш, еггЬапб1ег) 1Ы сошш Коммуникатор, у которого проверяется обработчик ошибок О!)Т еггЬап61ег Обработчик ошибок ИР1 связанный с текушим коммуникатором сопвп гпс МР1 ЕггЬапб1ег Бес(ИР1 Сошш савв, ИР1 ЕггЬапд1ег оеггЬапб1ег) ИР1 ЕНННАМОЬЕН ОЕТ(СОИМ, ЕНЕНАМО1ЕЕ, 1ЕНЕОН) 1МТЕСЕН СОИМ, ЕНННАМО!.ЕН, 1ЕННОН МР1ЕНИНАМО1ЕН СЕТ вЂ” возвращает в еггпапд1ег заголовок к обработчику ошибки, который в настоящее время связан с переключателем каналов сопок.

Пример. Библиотечная функпия может регистрировать в пункте перехода текуший обработчик ошибки для переключателя каналов, связать его собственный частный обработчик ошибки для этого переключателя каналов и восстанавливать перед выходом предыдуший обработчик ошибки. ИР1 ЕНЯНАМОЬЕН ГНЕЕ(еггпап61ег) !й егтЬапб1ег Обработчик ошибок ИР1 1пс ИР1 ЕггЬапб1ег атее(МР1 ЕггЬап61ег оеггпап41ег) ИР1 ЕНЕНАМО1ЕН ГНЕЕ(ЕНННАМО1ЕИ, 1ЕННОН) 1МТЕСЕЕ ЕЕЕНАМО1ЕН, 1ЕННОН ИР1ЕНННАМО1ЕН.УНЕЕР— регистрирует обработчик ошибок, связанный с еггЬапг(1ег для освобождения и устанавливает еггпап41ег к ИР1ЕНННАМОЕЕН МО11.

Обработчик ошибок будет освобожден после того, как все переключатели каналов, связанные с ним, были освобождены. 8.4,2. Коды ошибок Большинство МР1 функций возвращает код ошибки, указывающий успешное выполнение (ИР1 БУССЕББ) или обеспечение информации относительно типа МР! исключения, которое произошло. В некоторых обстоятельствах, когда функция МР! заканчивает несколькими различными операциями и, следовательно, могут генерироваться несколько независимых 8. Управление окружающей средой ошибок, функция МР1 возвращает коды многократных ошибок.

Это может встречатьст с некоторыми из запросов, описанными в и. 5.8, которые выполняют набор многократных, неблокирующих взаимодействий. Как описано ниже, запрос может возвращать кпь МР1 ЕВК 1М ЯТАТСБ, когда детальный код ошибки возвращен в всаспз'е (состоянии) каждого взаимодействия, Коды ошибок, возвращаемые МР1, оставлены полностью за выполняе. мой программой (за исключением МР1 БСССЕЯБ, МР1 Ейй 1М ЯТАТНБ и МР1 ЕКВ РЕМ01МС). Это сделано для того, чтобы приложение обеспечило максимум возможной информации.

Коды ошибки могут быть переведены в значимые сообщения функцией, приведенной ниже. МР1 ЕКЮВ БТВ1МС(еггогсобе,всгйлй,гезп1с1ел) 1М еггогсоьте Хоп ошибки возврашаемый МР1 функцией ОСТ всгйпб Текст, который сопровокпает еггогсос)е ОСТ гевп1с1еп Ллина (в символах) результата, возврашаемого в всгтпй 1пс МР1„Еггог зсгтпй(1пс еггогсосте, сваг «всг1пй, 1пс «гевп1с1еп) МР1 ЕВКОК ЯТВ1МС(ЕКЮВСООЕ, ЯТВ1МС, ВЕБЖТ1.ЕМ, 1ЕВВОВ) 1МТЕСЕК ЕВВОВСОРЕ, ВЕЯСЕТЕЕМ, 1ЕКВОВ СНАВАСТЕВ«(«) ЯТВ1МС МР1 ЕВВОВ.ЯТВ1МС вЂ” возвращает строку ошибки, связанной с кодом ошибки или классом, Аргумент всгтпЕ должен представить строку, которая состоит, по крайней мере, яь МР1 МАХ ЕВЮВ БТВ1МО знаков. Число символов возвращается в аргументе гевп1с1еп.

Использование зависимых от выполнения кодов ошибок допускает, чтобы пользователь обеспечил подробную информацию, но запрещает ему написание переносимого кода обуз. батываемых ошибок. Чтобы решить эту проблему, МР1 обеспечивает стандартный нэбоу указанных значений ошибок, названных классами ошибок, и функцию, которая отображает каждый код ошибки в соответствующий класс ошибок. Имеются следующие классы ошибок: Нет ошибок МР1 БСССЕБЯ МР1 ЕКК ВСГРЕВ Недействительный буферный указатель МР1 Ейй ТОРОЕОСУ Недействительная топология МР1 Ейй 01МЯ МР1 Ейй АВС МР1 ЕВВЛЬМКМОЫМ Неизвестная ошибка МР1 Ейй ТЮМСАТЕ Сообщение, усеченное при получении Известная ошибка не в этом списке МР1 Ейй ОТНЕК МР1 ЕВК 1МТЕВМ МР1 ЕВВ 1М БТАТСБ Внутренняя МР1 ошибка Ошибочный код в состоянии (зсаьпз) МР1 ЕйК СОНМТ МР1 ЕКВ ТУРЕ МР1 ЕВК ТАС МР1 ЕВК СОММ МР1 Ейй ВАМК МР1 ЕВК ВЕОНЕБТ МР1 Ейй ВОСТ МР1 Ейй СВООР МР1 Ейй ОР Недействительный считают аргумент Недействительный аргумент типа данных(с)аьасуре) Недействительный аргумент тега Недействительный переключатель каналов Недействительный ранг Недействительный запрос Недействительный корень Недействительная группа Недействительная операция Недействительный аргумент измерения декартовой структуры Недействительный аргумент некоторого другого вида 8.5.

Взоимодействие с выполняющейся окружающей средой 167 ИР1 ЕВВ РЕМР1МО Ждущий запрос ИР1 ЕВВ 1.АБТСОРЕ Последний код ошибки Большинство этих классов ошибок понятны. Функция МР1ЕВВОВ ЯТВ1МО может испольюваться, чтобы вычислить строку ошибки, связанную с классом ошибки. Код ошибки удовлетворяет следующему неравенству: О = МР1 ЯУССЕЯЯ ( МР1 ЕВВ : ? МР1 ЕВВ ЬАЯТСООЕ ИР1 ЕВВОВ СЕАЯБ(еггогсопе, еггогс1азз) 1И еггогсобе Кол ошибки, возвращаемый операторами МР1 0УТ еггагс1азз Класс ошибки, ассоциируемый с еггогсосе шс МР1 Еггог с1азз(1пс еггогсопе, Ипс веггогс1азз) ИР1 ЕВЮВ СЕАЯЯ(ЕВВОВСОРЕ, ЕВЮВС1АБЯ, 1ЕВВОВ) 1ИТЕСЕВ ЕВВОВСООЕ, ЕВВОВСЕАЯЯ, 1ЕВВОВ Функция МР1 ЕВВОВ С|АЯЯ отображает каждый код ошибки в стандартный код ошибки (класс ошибки), а затем каждый стандартный код ошибки на себя.

Разница между МР1 ЕВВ УМКМОММ и МР1 ЕВВ ОТНЕВ в том, что функция МР1 ЕВЮВ ЯТВ1МО иожет возвращать полезную информацию относительно МР1 ЕВВ ОТНЕВ. Значение МР1 ЕВВ 1.АБТСООЕ может использоваться для исправления ошибок или для выбора кодов ошибок для библиотек, которые не находятся в противоречии с МР1 кодами ошибок. 8.6.

Взаимодействие с выполняющейся окружающей средой Имеется ряд областей, где МР! приложение может взаимодействовать с операционной средой и системой. В то время как МР1 не передает под мандат этой среды любые услуги (типа ввода — вывода или обработку прерываний), то это строго предполагает, чтобы поведение было обеспечено, если те услуги доступны. Это важный пункт в достижении переносимости на другие платформы, которые обеспечивают тот же самый набор услуг. 8.5.1.

Независимость основного времени выполнения МР1 программы требуют, чтобы библиотечные функции, которые являются частью окружающей среды базового языка (типа паса и игзсе в ГогИгап'е и ргйпсХ и ша11ос в АХБ! С) ~ выполняются после МР1 1М1Т и прежде МР1 Р1МА112Е, выполнялись независимо и чтобы их завершение не зависело от действий других процессов в МР1 программе. Заметьте, что это никоим образом не предотвращает создания библиотечных функций, Обеспечивающих параллельные услуги, чьи действия являются коллективными. Однако аедующая программа, как ожидается, закончит в окружающей среде С АХЯ! независимо от размера МР1 СОИМ МОВЫ (предположите, что ввод — вывод является доступным в выполнюшихся узлах).

шс гапй; ИР! 1пИС(йагбс, йагйч); ИР1 Сошш гапй(МР1 СОММ НОВАР, йгапй); М(гапй == 0) рг1псХ("Стартовая программав1пв); ИР! ГИпа11хе(); МР! не делает никаких требований, ни рекомендаций для функций ввода-вывода из ирограммы (снова предположим, что ввод-вывод является доступным в выполняющихся рлах). 168 8, Управление окружающей средой МР1 Сони гапк(ИР1 СОИМ МОй(.Р, йгапк); ргхпст(вОцсрцс агом савк гапк ус!'хц", гапк); Кроме того, запросы, которые терпят неудачу из-за недостатка ресурса или другой ошибки, не рассматриваются (однако требуется, чтобы 1/О завершились успешно в узлах).

8.5.2, Взаимодействие с сигналами в РОЯ1Х МР1 не определяет никаких взаимодействий процессов с сигналами в окружающей среде !)1з!Х или с другими событиями, которые не касаются МР! связи. То есть сигналы не значимы с точки зрения МР1, н пользователь должен пытаться выполнять МР1 программы так, чтобы сигналы были прозрачны: запрос МР1, приостановленный сигналом, должен возобновиться полностью после того, как сигнал обработан. Обычно состояние вычисления, которое является видимым или значимым с точки зрения МР1, может быть повреждено только запросами МР1 и ничем другим.

Пересечение МР1 подпроцесса с безопасным сигналом имеет ряд слабовыраженных эффектов. Например, на 1)п!х системах сигнал типа Б16АЬНМ (тревожный сигнал) яе должен заставить МР1 функцию вести себя по-другому, чем если бы она работала е отсутствие сигнала, Конечно, если обработчик сигнала выпускает МР1, вызывает нля изменяет окружающую среду, в которой МР1 функция работает (например, потребляя все доступное пространство памяти), МР! функция должна вести себя в соответствии с этим положением (в частности, в этом случае поведение должно быть таким же, как длх многоподпроцессного МР1 выполнения). Второй эффект — то, что обработчик сигнала, который делает запросы МР1, не должен сталкиваться с операциями МР1.

9. Примеры параллельных программ В этой главе приведены примеры параллельных программ, демонстрирующих, с одной стороны, методы распараллеливания некоторых классов задач, а с другой стороны, поясняюших применение средств параллельного программирования МР1. Приведены параллельные алгоритмы следующих задач: умножения матрицы на матрицу, задачи Лирихле, решения систем линейных уравнений (СЛАУ) методом Гаусса и решения СЛАУ методом простой итерации.

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

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

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

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