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

СКИПОДы 2007 полная версия (1127795), страница 37

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

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

Реализация модели разделяемой памятинад архитектурами с передачей сообщений значительно сложнее [5].Недетерминированныемоделираспределеннойобработки,когдапроцессывзаимодействуют через асинхронный обмен сообщениями, адекватно представляют многиечерты функционирования масштабируемых систем, такие как массовый параллелизм,взаимодействия типа "точка-точка", коммутация пакетов.

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

В частности, втехнологии SCI транзакции предусматривают передачу пакетов с блоками данныхфиксированной и переменной длины. В среде Memory Channel пакеты данных могут иметьдлину от 4 до 256 байтов.Однако сочетание недетерминизма и неоднородности сообщений требует исследованияреализуемости моделей (проблем однозначности результата и блокировки вычислений) иалгоритмической разрешимости задач их анализа.ДополнениеВ настоящее время существуют два основных подхода к распараллеливанию вычислений.Это параллелизм данных и параллелизм задач. В англоязычной литературесоответствующие термины - data parallel и message passing.

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

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

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

НаиболеераспространеннымиязыкамидляпараллельныхвычисленийявляютсяВысокопроизводительный ФОРТРАН (High Performance FORTRAN) и параллельные версииязыка C (это, например, C*).Более детальное описание рассматриваемого подхода к распараллеливаниюсодержит указание на следующие его основные особенности:Обработкой данных управляет одна программа;Пространство имен является глобальным, то есть для программиста существует однаединственная память, а детали структуры данных, доступа к памяти и межпроцессорногообмена данными от него скрыты;Слабая синхронизация вычислений на параллельных процессорах, то есть выполнениекоманд на разных процессорах происходит, как правило, независимо и только лишь иногдапроизводится согласование выполнения циклов или других программных конструкций - ихсинхронизация.

Каждый процессор выполняет один и тот же фрагмент программы, но нетгарантии, что в заданный момент времени на всех процессорах выполняется одна и та жемашинная команда;Параллельные операции над элементами массива выполняются одновременно на всехдоступных данной программе процессорах.Видим, таким образом, что в рамках данного подхода от программиста не требуетсябольших усилий по векторизации или распараллеливанию вычислений. Даже припрограммировании сложных вычислительных алгоритмов можно использовать библиотекиподпрограмм, специально разработанных с учетом конкретной архитектуры компьютера иоптимизированных для этой архитектуры.Подход, основанный на параллелизме данных, базируется на использовании приразработке программ базового набора операций:операции управления данными;операции над массивами в целом и их фрагментами;условные операции;операции приведения;операции сдвига;операции сканирования;операции, связанные с пересылкой данных.Рассмотрим эти базовые наборы операций.Управление данными.В определенных ситуациях возникает необходимость в управлении распределениемданных между процессорами.

Это может потребоваться, например, для обеспеченияравномерной загрузки процессоров. Чем более равномерно загружены работой процессоры,тем более эффективной будет работа компьютера.Операции над массивамиАргументами таких операций являются массивы в целом или их фрагменты(сечения), при этом данная операция применяется одновременно (параллельно) ко всемэлементам массива. Примерами операций такого типа являются вычисление поэлементнойсуммы массивов, умножение элементов массива на скалярный или векторный множитель ит.д. Операции могут быть и более сложными - вычисление функций от массива, например.Условные операцииЭти операции могут выполняться лишь над теми элементами массива, которыеудовлетворяют какому-то определенному условию. В сеточных методах это может бытьчетный или нечетный номер строки (столбца) сетки или неравенство нулю элементовматрицы.Операции приведения122Операции приведения применяются ко всем элементам массива (или его сечения), арезультатом является одно единственное значение, например, сумма элементов массива илимаксимальное значение его элементов.Операции сдвигаДля эффективной реализации некоторых параллельных алгоритмов требуютсяоперации сдвига массивов.

Примерами служат алгоритмы обработки изображений,конечно-разностные алгоритмы и некоторые другие.Операции сканированияОперации сканирования еще называются префиксными/суффиксными операциями.Префиксная операция, например, суммирование выполняется следующим образом.Элементы массива суммируются последовательно, а результат очередного суммированиязаносится в очередную ячейку нового, результирующего массива, причем номер этойячейки совпадает с числом просуммированных элементов исходного массива.Операции пересылки данныхЭто, например, операции пересылки данных между массивами разной формы (тоесть имеющими разную размерность и разную протяженность по каждому измерению) инекоторые другие.При программировании на основе параллелизма данных часто используютсяспециализированные языки - CM FORTRAN, C*, FORTRAN+, MPP FORTRAN, ViennaFORTRAN, а также HIGH PERFORMANCE FORTRAN (HPF).

HPF основан на языкепрограммирования ФОРТРАН 90, что связано с наличием в последнем удобных операцийнад массивами (см., например, М.Меткалф и Дж.Рид Описание языка программированияФОРТРАН 90, М."Мир", 1995).Параллелизм задачСтиль программирования, основанный на параллелизме задач подразумевает, чтовычислительная задача разбивается на несколько относительно самостоятельных подзадач икаждый процессор загружается своей собственной подзадачей. Компьютер при этомпредставляет собой MIMD - машину. Аббревиатура MIMD обозначает в известнойклассификации архитектур ЭВМ (см. в тексте классификацю Флинна – прим. А.Е.)компьютер, выполняющий одновременно множество различных операций над множеством,вообще говоря, различных и разнотипных данных.

Для каждой подзадачи пишется своясобственная программа на обычном языке программирования, обычно это ФОРТРАН илиС. Чем больше подзадач, тем большее число процессоров можно использовать, тем большейэффективности можно добиться. Важно то, что все эти программы должны обмениватьсярезультатами своей работы, практически такой обмен осуществляется вызовом процедурспециализированной библиотеки. Программист при этом может контролироватьраспределение данных между процессорами и подзадачами и обмен данными. Очевидно,что в этом случае требуется определенная работа для того, чтобы обеспечить эффективноесовместное выполнение различных программ.

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

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

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

Список файлов ответов (шпаргалок)

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