На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Курсовик Разработка и анализ эффективности программы нахождения интегралов методом Монте-Карло на кластере MPI

Информация:

Тип работы: Курсовик. Добавлен: 21.11.2013. Сдан: 2011. Страниц: 41. Уникальность по antiplagiat.ru: < 30%

Описание (план):



ОГЛАВЛЕНИЕ


ВВЕДЕНИЕ……………………………………………………………... 3
Раздел 1. Многопроцессорные системы. cтандарт MPI………………………………………... 4 - 11
1.1. Организация и эффективность параллельных ЭВМ………. 4 - 6
1.2. Разновидности многопроцессорных систем……………...... 6 - 8
1.3. Техническая реализация параллельных ЭВМ……….……... 8 - 9
1.4. Системы программирования для многопроцессорных систем. Стандарт MPI………………………………………... 9 - 11
Раздел 2. Метод Монте-Карло……………………………... 12 - 15
2.1. Применение метода статистического моделирования…….. 12 - 13
2.3. Способы получения случайных чисел……………………… 13 - 14
2.4. Идея и суть метода Монте-Карло........................................... 14 - 15
Раздел 3. Алгоритмы вычисления интегралов методом Монте-Карло……………………........ 16 - 27
3.1. Определенный интеграл……………………………………... 16 - 18
3.2. Параллельные алгоритмы вычисления...…………………… 18 - 25
3.3. Эксперимент. Анализ эффективности некоторых из реализованных алгоритмов………………………………….. 25 - 27
Заключение………………………………………………………… 28
Литература………………………………………………………….. 29
ПриложениЯ………………………………………………………... 30 - 41

ВВЕДЕНИЕ


Классическое понимание алгоритма включает в себя в неявном виде утверждение о том, что процедура, которая может быть названа алгоритмом, имеет последовательный пошаговый характер. Поскольку человек, который решает задачу, и ЭВМ, построенная по классической схеме, выполняют программы вычислений последовательно, то и в информатике на первых порах рассматривались только последовательные методы вычислений.
Однако развитие архитектуры ЭВМ привело к появлению структур, в которых вычислительный процесс может протекать по нескольким ветвям параллельно. Параллелизм возник естественным образом, как средство увеличения производительности вычислительных машин. Идея параллелизма была технически реализована в многопроцессорных системах, однородных средах, локальных вычислительных сетях и в ряде других аппаратных решений.
Появление технических средств, способных организовать параллельное протекание вычислительного процесса, поставило две задачи. Одна из них - создание специальных программных средств для записи параллельных процессов в форме, которую может использовать операционная система вычислительной машины, системы или сети, чтобы фактически организовать параллельный процесс. Появление этой задачи породило новое направление в программировании - параллельное программирование.
Другая задача была связана с созданием специальных методов решения задач, ориентированных на параллельную реализацию, поиском численных методов, которые допускали бы распараллеливание вычислительных процедур.
Прежде всего, специалистов привлекли методы, опирающиеся на идею независимых статистических испытаний. Их еще называют методами Монте-Карло. Главное преимущество применения метода Монте-Карло в параллельных вычислениях состоит в том, что вычислительные процессы не зависят друг от друга, обеспечивая наибольший выигрыш во времени по сравнению с другими методами [5].
Цель данной работы - нахождение алгоритмов вычисления интегралов методом Монте-Карло, без обменов сообщениями между процессами на этапе накопления статистического материала.
Раздел 1. Многопроцессорные системы.
Стандарт MPI


1.1. Организация и эффективность параллельных ЭВМ

Под параллельной ЭВМ понимают ЭВМ, состоящую из множества связанных определенным образом вычислительных блоков, которые способны функционировать совместно и одновременно выполнять множество арифметико-логических операций, принадлежащих одной задаче (программе) [8].
Классифицировать параллельные ЭВМ можно по различным критериям: виду соединения процессоров, способу функционирования процессорного поля, области применения и т.п.
Однако наиболее употребительная классификация параллельных ЭВМ была предложена Флинном [8, 9] и отражает форму реализуемого ЭВМ параллелизма. Основными понятиями классификации являются «поток команд» и «поток данных». Под потоком команд упрощенно понимают последовательность команд одной программы. Поток данных - это последовательность данных, обрабатываемых одной программой.
Согласно классификации Флинна имеется четыре больших класса ЭВМ:
1) ОКОД - Одиночный поток Команд - Одиночный поток Данных (SISD - Single Instruction - Single Data). Это последовательные ЭВМ, в которых выполняется единственная программа, т.е. имеется только один счетчик команд и одно арифметико-логическое устройство;
2) ОКМД - Одиночный поток Команд - Множественный поток Данных (SIMD - Single Instruction - Multiple Data). В таких ЭВМ выполняется единственная программа, но каждая ее команда обрабатывает много чисел. Это соответствует векторной форме параллелизма;
3) МКОД - Множественный поток Команд - Одиночный поток Данных (MISD - Multiple Instruction - Single Data). Подразумевается, что в данном классе несколько команд одновременно работает с одним элементом данных, однако эта позиция классификации Флинна на практике не нашла применения;
4) МКМД - Множественный поток Команд - Множественный поток Данных (MIMD - Multiple Instruction - Multiple Data). В таких ЭВМ одновременно и независимо друг от друга выполняется несколько программных ветвей, в определенные промежутки времени обменивающихся данными. Такие системы обычно называют многопроцессорными. Далее, в работе будут рассматриваться только многопроцессорные ЭВМ.
Вопрос об эффективности параллельных ЭВМ возникает на разных стадиях исследования и разработки ЭВМ. Следует различать эффективность параллельных ЭВМ в процессе их функционирования и эффективность параллельных алгоритмов [8].
В зависимости от стадии разработки полезными оказываются различные характеристики эффективности ЭВМ. Одной из главных является ускорение r параллельной системы, которое определяется выражением:
(1.1.1)
где T1 - время решения задачи на однопроцессорной системе, а Tn - время решения той же задачи на n-процессорной системе.
Если обозначить W = Wск + Wпр, где W - общее число операций в задаче, Wпр - число операций, которые можно выполнять параллельно, а Wск - число скалярных (нераспараллеливаемых) операций; t - время выполнения одной операции, то закон Амдала будет иметь вид [8, 9]:
(1.1.2)
где a = Wск / W - удельный вес скалярных операций.
Закон Амдала определяет принципиально важные для параллельных вычислений положения:
1. Ускорение вычислений зависит как от потенциального параллелизма задачи (величина 1-a), так и от параметров аппаратуры (число процессоров n).
2. Предельное ускорение вычислений определяется свойствами задачи и не может превосходить 1/a при любом числе процессоров, то есть максимальное ускорение определяется потенциальным параллелизмом задачи и весьма чувствительно к изменению величины a.
Тем не менее закон Амдала не учитывает временных затрат на обмен сообщениями между процессорами. А ведь во многих случаях эти потери могут не только снизить ускорение вычислений, но и замедлить вычисления по сравнению с однопроцессорным вариантом.
Поэтому, необходимо ввести величины Wс - количество передач данных и tc - время одной передачи данных. Тогда модернизированный закон Амдала, называемый сетевым законом Амдала, будет выглядеть следующим образом:
(1.1.3)
где с = Wc·tc / W·t = cA·cT - коэффициент сетевой деградации вычислений определяет объем вычислений, приходящийся на одну передачу данных (по затратам времени). При этом cA определяет алгоритмическую составляющую коэффициента деградации, обусловленную свойствами алгоритма, а cT - техническую составляющую, которая зависит от соотношения технического быстродействия процессора и аппаратуры сети.
Из (1.1.3) видно, что для повышения скорости вычислений следует воздействовать на оба составляющие коэффициента деградации, которые зависят от множества факторов таких, как алгоритм задачи, размер данных, технические характеристики оборудования и пр.


1.2. Разновидности многопроцессорных систем

В соответствии с классификацией Флинна к многопроцессорным ЭВМ относятся ЭВМ с множественным потоком команд и множественным потоком данных (МКМД-ЭВМ или MIMD-ЭВМ).
В основе МКМД-ЭВМ лежит традиционная последовательная организация программы, расширенная добавлением специальных средств указания независимых, параллельно исполняемых фрагментов. Параллельно-последовательная программа привычна для пользователя и позволяет относительно просто собирать параллельную программу из обычных последовательных программ.
МКМД-ЭВМ имеют две разновидности: ЭВМ с разделяемой (общей) и распределенной (индивидуальной) памятью. Структура этих ЭВМ представлена на рис. 1.2.1 [8].
Главное различие между МКМД-ЭВМ с общей и индивидуальной (локальной, распределенной) памятью состоит в характере адресной системы.
a b
Рис.1.2.1. Структура ЭВМ с разделяемой (а) и индивидуальной (b) памятью.
Здесь: П - процессор, ИП - индивидуальная память.
В машинах с общей памятью адресное пространство всех процессоров является единым, следовательно, если в программах нескольких процессоров встречается одна и та же переменная VAL, то эти процессоры будут обращаться в одну физическую ячейку общей памяти. Это вызывает как положительные, так и отрицательные последствия [8, 9]:
1. Не нужно физически перемещать данные между взаимодействующими программами, которые параллельно выполняются в разных процессорах. Это исключает затраты времени на межпроцессорный обмен.
2. Поскольку одновременное обращение нескольких процессоров к общим данным может привести к получению неверных результатов, необходимо ввести систему синхронизации параллельных процессов (например, семафоры), что усложняет механизмы операционной системы.
3. Так как при выполнении каждой команды процессорам необходимо обращаться в общую память, то требования к пропускной способности коммутатора этой памяти чрезвычайно высоки, что ограничивает число процессоров в системах величиной 10...20.
МКМД-ЭВМ с индивидуальной памятью получили большое распространение ввиду относительной простоты их архитектуры. В таких ЭВМ межпроцессорный обмен осуществляется с помощью передачи сообщений.
Каждый процессор имеет независимое адресное пространство, и наличие одной и той же переменной VAL в программах разных процессоров приводит к обращению в физически разные ячейки индивидуальной памяти этих процессоров. Это вызывает физическое перемещение данных (обмен сообщениями) между взаимодействующими программами в разных процессорах, однако, поскольку основная часть обращений производится каждым процессором в собственную память, то требования к коммутатору ослабляются, и число процессоров в системах с распределенной памятью и скоростным коммутатором может достигать нескольких сотен и даже тысяч.


1.3. Техническая реализация параллельных ЭВМ

Современные многопроцессорные системы делятся на три группы:
симметричные мультипроцессоры (SMP); системы с массовым параллелизмом (МРР); кластеры [9].
Симметричные мультипроцессоры SMP (Symmetric Multi Processors) используют принцип разделяемой памяти. В этом случае система состоит из нескольких однородных процессоров и массива общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой ячейке памяти с одинаковой скоростью. Процессоры подключены к памяти с помощью общей шины или коммутатора. Аппаратно поддерживается когерентность кэш-памяти. Наличие общей памяти сильно упрощает взаимодействие процессоров между собой, однако накладывает сильные ограничения на их число - не более 32 в реальных системах. Вся система работает под управлением единой ОС.
Системы с массовым параллелизмом MPP (Massively Parallel Processing) содержат множество процессоров c индивидуальной памятью в каждом из них (прямой доступ к памяти других узлов невозможен), которые связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т.д.). Как правило, системы MPP благодаря специализированной высокоскоростной сис........



Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.