Главная » Просмотр файлов » СКИПОДы конспект лекций

СКИПОДы конспект лекций (1127769), страница 15

Файл №1127769 СКИПОДы конспект лекций (СКИПОДы конспект лекций) 15 страницаСКИПОДы конспект лекций (1127769) страница 152019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В настоящее время MPI становится стандартом de facto и вытесняетранние версии библиотечных расширений последовательных языковдля параллельногопрограммирования, например, таких как p4, PVM,Express и PARMACS. MPI - сложная система. Полностьюона включает 129 функций, многие из которых имеют разнообразные параметры или варианты. Однакоключевая концепция MPI сосредоточена примерно в наборе из 20-25 функций, которые обеспечиваютболее чем адекватную поддержку для широкого спектра приложений.Основное назначение инструментальных средств MPI - дать пользователю средства для организациилокальной, глобальной и асинхронной связи между процессами и обеспечить разработку модульныхпрограмм, как из последовательных, так и из параллельных компонентов.В модели программирования MPI вычисление включает один или большее количество процессов (потоковкоманд), связь между которыми осуществляется сообщениями, инициируемыми вызовом библиотечныхподпрограмм.

В большинстве MPI реализациях набор процессов зафиксирован и создан на этапеинициализации программы по одному процессу на процессор. Однако эти процессы могут выполнятьразличные программы. Следовательно, модель программирования MPI относится к классу multiple programmultiple data (MPMD) в отличие от SPMD модели (simple program multiple data), в которой все процессорывыполняет одну программу. Во многих реализациях MPI параллельных процессов может быть и больше,чем реальных процессоров в вычислительной системе, тогда в функции MPI входит и распределениепроцессов. Псевдопараллелизм обеспечивает операционная система.Поскольку число процессов в MPI вычислениях обычно зафиксировано, центральными в идеологии MPIявляются механизмы синхронизации и обмена данными между процессами.

Операции связи междупроцессами можно подразделить на:двухточечные, необходимые для того, чтобы послать сообщение от одного именованного процессак другому. Эти операции могут использоваться для обеспечения локальной и неструктурной связи.группа процессов может инициировать коллективные операции связи, обычно для того, чтобывыполнить внешние действия с глобальными переменными (операции типа суммирования илиоповещения).MPI поддерживает асинхронную связьЭффективность и надежность обеспечиваются:определением MPI операций не процедурно, а логически, т.е. внутренние механизмы выполненияопераций скрыты от пользователя;использованием непрозрачных объектов в MPI (группы, коммуникаторы, типы и т.д.);хорошей реализацией функций передачи данных, адаптирующихся к структуре физическойсистемы.Обменные функции разработаны с учетом архитектуры системы, например, для систем сраспределенной памятью, систем с общей памятью, и некоторых других систем, что позволяетминимизировать время обмена данными.Переносимость обеспечивается:35во-первых, тем, что тот же самый исходный текст параллельной программы на MPI может бытьвыполнен на ряде машин (некоторая настройка необходима, чтобы взять преимущество изэлементов каждой системы).

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

MPI автоматически делает любое необходимое преобразование данных ииспользует правильный протокол связи, посылается ли код сообщения между одинаковымипроцессорами или между процессорами с различной архитектурой. MPI может настраиваться как наработу на однородной системе, так и на работу на гетерогенной системе.В третьих, такими механизмами, как: определение одного вычислительного компьютера в видевиртуального компьютера (см. секцию 2.1) и возможностью задания произвольного количестватаких виртуальных компьютеров в системе не зависимо от количества физических компьютеров(зависимость только от объема оперативной памяти в системе).В четвертых, переносимость обеспечивается заданием виртуальных топологий (см. секцию 2.1).Отображение виртуальных топологий на физическую систему осуществляется системой MPI.Виртуальные топологии обеспечивают оптимальное приближение архитектуры системы кструктурам задач при хорошей переносимости задач.В пятых, компиляторами для Fortran(a) и C.Уровень языка параллельного программирования определяется языковыми конструкциями, с помощьюкоторых создаются параллельные программы.

Как было сказано выше, операторы задания топологий,обменов данными и т.п., нужно задавать в программе явно и по этому языковый уровень параллельнойпрограммы оказывается ниже уровня последовательной программы. Наличие в системе таких средств как:виртуальные топологии, коллективные взаимодействия, создаваемые пользователем типы данных и др.,значительно повышают уровень параллельного программирования по сравнению с системами с передачейсообщений, у которых нет таких средств.58.

Средства описания и создания процессов в языке Фортран-GNS.По семантике языка Fortran GNS все процессы программы получают уникальные имена - системныеидентификаторы, по которым производится отождествление корреспондентов при обмене сообщениямимежду процессами и в терминах которых задается среда выполнения функций редукции. Эти именавырабатываются функцией порождения процессов - встроенной функцией языка NEWTASK. Структурасистемного идентификатора определяется реализацией, это имя не имеет внешнего представления.Для манипулирования именами процессов внутри программы в язык Fortran GNS вводится новый дляФортрана тип данных - тип TASKID. Значения этого типа представляют собой имена процессов, которыевырабатываются функцией порождения процессов.При статической модели параллелизма системные идентификаторы процессов вырабатываютсясистемой запуска программы и могут быть получены пользователем встроенными функциями.Добавляется константа .NOTASKID., которая представляет собой "нулевое" значение для объектовэтого типа.

Данные типа TASKID должны быть описаны в операторе TASKID, синтаксис которогоаналогичен синтаксису операторов объявления типа в Фортране 77. Данные этого типа могутиспользоваться в операторах EQUIVALENCE, но при этом могут быть эквивалентными только данным типаTASKID. Допускается использование TASKID в качестве описателя типа подпрограммы-функции.Использование переменных данного типа в операторах СOMMON оговаривается в инструкциях поиспользованию языка на конкретных установках, в них же приводятся размеры имени процесса для расчетовдлин общих блоков. В реализации на базе Фортран МВК [3] допускается использование данных типаTASKID в общих блоках, их длина - одно слово (как у данных типа INTEGER).Для данных типа TASKID определены следующие операции: операции .EQ. , .NE. и присваивание(когда операнды операций, левая и правая части операторов присваивания имеют тип TASKID).Данные типа TASKID используются в операторах передачи/приема сообщений - SEND и RECEIVEдля задания абонентов - получателя или отправителя .

Такие данные могут также передаваться в качествепараметров процедурам и функциям, а также могут быть переданы другим процессам с помощьюоператоров передачи сообщений.Значения типа TASKID не могут использоваться в списках ввода-вывода, так как не имеют внешнегопредставления.36Начальная инициализация переменных этого типа также, как и других переменных Фортрана, непредусматривается, поэтому использование данных до присваивания им значений некорректно. Присвоениеначальных значений зтим данным в операторах DATA не предусмотрено.Спецификация данных типа TASKID в виде массива, структура которого совпадает с конфигурациейвычислительной системы, облегчает программирование задачи, например, может унифицировать операторыпередачи данных между соседними процессами.

В языке есть возможность заданием идентификаторамассива данных типа TASKID указать массовую операцию для всех его элементов: в функциях порожденияпроцессов,редукции и операциях передачи сообщений. Такая запись может ускорить выполнениепрограммы, так как такие массовые операции могут выполняться параллельно.Для задания массовых операций над частью массива - подмассива можно присвоить подмассиву имяоператором EQUIVALENCE, динамическое формирование структур подмассивов можно производитьоператорами языка Фортран МВК. Например:TASKID T1(100),T2(100),TMDIMENSION TM(100,2)EQUIVALENCE (TM(1,1),T1(1)),(TM(1,2),T2(1))При статической модели параллелизма инициализация данных этого типа производится функциямипреобразования номеров виртуальных процессоров в имена задач.Задачи и процессыВ языке вводится дополнительный вид программных единиц - программные единицы-задачи.Программа может содержать (помимо традиционных для Фортрана программных единиц) одну или болеепрограммных единиц-задач.Главная программная единица (main program) определяет главный и единственный - начальной процесспрограммы.

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

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

Список файлов лекций

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