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

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

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

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

Язык Фортран-DVM.DVM-модель выполнения параллельной программы охватывает параллелизм по данным и параллелизмзадачи (см. также проект [ИСП РАН/Java-DVM]). В рамках DVM-модели программист (в рамкахпространства глобальных имен - единое адресное пространство) определяет:распределение элементов массивов по процессорам;распределение витков циклов по процессорам;организацию эффективного доступа к данным, расположенным на иных процессорах;организацию эффективного выполнения редукционных операций (например, sum, min, max элементов распределенного массива).Язык Фортран-DVM: Фортран-77, со вставкой специальных комментариев.Компиляция для однопроцессорных (последовательных) платформ: спецкомментарии прозрачныдля стандартных компиляторов;Компиляция для многопроцессорных платформ: собственный Фортран-DVM компиляторрасширяет спецкомментарии в конструкции с обращениями к библиотеке run-time support.Язык Си-DVM: стандартный Си, с библиотекой специальных макросов (с "пустым" определениеммакросов), реализующих DVM-модель.Компиляция для однопроцессорных (последовательных) платформ: спецмакросы прозрачны длястандартных компиляторов, так как они имеют пустое определение;Компиляция для многопроцессорных платформ: собственный Си-DVM компилятор расширяетспецмакросы в конструкции с обращениями к библиотеке run-time support.Имеются средства трассировки (последовательного и параллельного исполнения одной и той жепрограммы), сравнения трасс, измерения параметров эффективности (распараллеливания) исполненияпрограмм.Компиляция программ на языках Фортран/Си-DVM поддержана на платформы:обычные (последовательные) ЭВМ со стандартным языком Фортран-77/Си (последовательнаяотладка и т.п.);параллельные ЭВМ с MPI + Фортран/Си (в том числе: МВС-100);параллельные ЭВМ с PVM + Фортран/Си (в том числе: HP Convex SPP-1000);параллельные ЭВМ с GNS или ОС Router + Фортран/Си (в том числе: МВС-100).51Язык Fortran DVM (FDVM) представляет собой язык Фортран 77 [5], расширенный спецификациямипараллелизма.

Эти спецификации оформлены в виде специальных комментариев, которые называютсядирективами. Директивы FDVM можно условно разделить на три подмножества: Распределение данных Распределение вычислений Спецификация удаленных данныхМодель параллелизма FDVM базируется на специальной форме параллелизма по данным: однапрограмма – множество потоков данных (ОПМД). В этой модели одна и та же программа выполняется накаждом процессоре, но каждый процессор выполняет свое подмножество операторов в соответствии сраспределением данных.В модели FDVM пользователь вначале определяет многомерный массив виртуальных процессоров, насекции которого будут распределяться данные и вычисления.

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

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

Все удаленныепеременные должны быть указаны в директивах доступа к удаленным данным.70. Язык Sisal.!! вроде как - язык описания поточных алгоритмовSisal - функциональный язык программирования. Программист не заботится о параллельных свойствахпрограмм, компилятор определяет все зависимости, распределяет работу по процессорам, вставляетнеобходимые пересылки и синхронизации.Заметное место среди языков функционального программирования занимают языки организациираспределенных и параллельных вычислений. Практики с большой похвалой отзываются о языкефункционального программирования Erlang фирмы Ericsson.

Здесь мы рассмотрим один из довольноизвестных — язык функционального программирования SISAL [11].создание универсального функционального языка;разработка техники оптимизации для высокоэффективных параллельных программ;достижение эффективности исполнения, сравнимой с императивными языками типа Fortran и C;внедрение функционального стиля программирования для больших научных программ.Название языка расшифровывается как "Streams and Iterations in a Single Assignment Language", сам онпредставляет собой дальнейшее развития языка VAL, известного в середине 70-х годов. Среди целейразработки языка SISAL следует отметить наиболее характерные, связанные с функциональным стилемпрограммирования:Эти цели создателей языка SISAL подтверждают, что функциональные языки способствуют разработкекорректных параллельных программ.

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

Легкосоздать функциональную программу, которая является безусловно параллельной, если ее можно писать,52освободившись от большинства сложностей параллельного программирования, связанных с выражениемчастичных отношений порядка между отдельными операциями уровня аппаратуры. Пользователь Sisal-аполучает возможность сконцентрироваться на конструировании алгоритмов и раз работке программ втерминах крупноблочных и регулярно организованных построений, опираясь на естественный параллелизмуровня постановки задачи.Начнем с примера программы:1.

Вычисление числа π (пи).For% инициирование циклаApprox := 1.0;Sign := 1.0;Denom := 1.0;i := 1while i <= Cycles do% предусловие завершения циклаSign := -Sign;% однократныеDenom := Denom + 2.0;% присваиванияApprox := Approx + Sign / Denom;% образуютi := i + 1% тело циклаreturns Approx * 4.0% выбор и вычисление результата циклаend for2. Это выражение также вычисляет число π (пи).for i in [1..Cycles/2] do% пространство параллельно% исполнимых итерацийval := 1.0/real(4*i-3) — 1.0/real(4*i-1);% тело цикла, для каждого i% исполняемое независимоreturns sum( val )% выбор и свертка результатов% всех итераций циклаend for * 4.0% вычисление результата% выраженияЭто выражение вычисляет сумму всех вычисленных значений val и умножает результат на 4.0.3, 4.

В for-выражениях операции dot и cross могут порождать пары индексов при формированиипространства итерирования:for i in [1..2] dot j in [3..4] do% для пар индексов [1,3] и% [2,4]returns product (i+j)% произведение суммend for% = 24for i in [1..2] cross j in [3..4] do% для пар [1,3], [1,4], [2,3]% и [2,4]returns product (i+j)% произведение суммend for% = 6005. Итеративное for-выражение с обменом данными между итерациями:for53I := 1while I < S doK := I;I := old I + 2;% значение из предыдущей итерацииJ := K + I;returns product(I+J)end forКак это свойственно языкам функционального программирования, Sisal язык математически правильный —функции отображают аргументы в результаты без побочных эффектов, и программа строится каквыражение, вырабатывающее значение.

Наиболее интересна форма параллельного цикла. Она включает всебя три части: генератор пространства итераций, тело цикла и формирователь возвращаемых значений.SISAL-программа представляет собой набор функций, допускающих частичное применение, т.е. вычислениепри неполном наборе аргументов. В таком случае по исходному определению функции строятся егопроекции, зависящие от остальных аргументов, что позволяет оперативно использовать эффектысмешанных вычислений и определять специальные оптимизации программ, связанные с разнообразиемиспользуемых конструкций и реализационных вариантов параллельных вычислений.function Sum (N);% Сумма квадратовresult (+ ( sqw (1 ..

N)));Обычно рассматривают оптимизации, обеспечивающие устранение неиспользуемого кода, чистку циклов,слияние общих подвыражений, перенос участков повторяемости для обеспечения однородностираспараллеливаемых ветвей, раскрутку или разбиение цикла, втягивание константных вычислений,уменьшение силы операций, удаление копий агрегатных конструкций и др.71. Система программирования Норма.Декларативный язык Норма предназначен для описания решения вычислительных задач сеточнымиметодами.

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

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

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

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