Для студентов МГУ им. Ломоносова по предмету Дипломы и ВКРРазработка системы поддержки выполнения DVM-программРазработка системы поддержки выполнения DVM-программ
2021-08-30СтудИзба

ВКР: Разработка системы поддержки выполнения DVM-программ

Описание


Оглавление

Введение 3

Краткое описание C-DVM 6

Постановка задачи 9

Функции системы поддержки 10

Неравномерно-блочное распределение 12

Результаты работы 14

Список литературы 15

Рисунок 1. Распределение массива на системе процессоров 16

Приложение 1. Результат трансляции программы на C-DVM 17

Приложение 2. Фрагмент трассировки программы 19

Приложение 3. Случай разной загрузки процессоров 20

Введение

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

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

Ныне производители машин стали предоставлять разработчикам и программистам возможность использования множества процессоров непосредственно для совместного решения одной задачи.

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

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

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

  • исключение взаимных блокировок и бесполезных обменов сообщениями;
  • предохранение от лишних операций синхронизации;
  • избежание образования слишком большого числа параллельных процессов;
  • обнаружение завершения программы простейшим способом.

К новым критериям оценки параллельных программ относятся:

  • ускорение программы в зависимости от числа процессоров;
  • величина затрат времени на синхронизацию;
  • влияние размера задачи на ускорение;
  • сбалансированность загрузки процессоров;
  • максимальное число занятых процессоров при решении задачи;
  • детерминизм выполнения программы.

Кроме того, при проектировании программ возникают вопросы нового типа:

  • какой размер должны иметь «порции» параллельной программы?
  • сколько параллельных процессов должно быть образовано?
  • какой вид синхронизации процессов должен быть принят?
  • как должен управляться доступ к разделяемым данным?
  • как гарантировать детерминированное выполнение программы?
  • как должны подразделяться задачи обработки для достижения наибольшей эффективности использования доступного параллельного оборудования?

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

MPI - это стандартизованный интерфейс передачи сообщений, вышла уже вторая версия стандарта. Это не новый язык программирования, это библиотека функций, которые могут быть вызваны из языков вроде C и Fortran. Он был разработан открытым международным комитетом и быстро получил широкую поддержку, потому что был тщательно спроектирован, чтобы обеспечивать максимальную производительность на многих платформах. Есть реализации MPI как для машин с общей памятью, так и для распределенных систем. Практически для любой платформы существует хотя бы одна реализация стандарта MPI. Например, для рабочих станций на основе Windows NT таких реализаций не менее трех. Однако из-за низкоуровневости MPI, довольно сложно писать параллельные программы без использования дополнительных средств. Действительно, MPI назвали языком ассемблера параллельного программирования. Одним из таких средств, облегчающих написание параллельных программ, является язык C-DVM.


Краткое описание C-DVM


Язык C-DVM предназначен для разработки мобильных и эффективных параллельных программ вычислительного характера. Он представляет собой расширение языка Си в соответствии с моделью DVM (Distributed Virtual Machine, Distributed Virtual Memory), разработанной в ИПМ им М.В. Келдыша РАН.

Вычислительные программы для последовательных ЭВМ традиционно создавались на языках Фортран 77 и Си. Для многопроцессорных ЭВМ с распределенной памятью (транспьютерные системы, Intel Paragon, IBM SP2, МВС-100) и сетей ЭВМ такие программы в настоящее время, как правило, создаются на языках Фортран 77 и Си, расширенных библиотеками передачи сообщений (PVM, MPI). Разработка таких параллельных программ требует от прикладного программиста гораздо больших усилий, чем разработка последовательных программ, поскольку ему требуется не только распределить данные и вычисления между разными процессорами, но и организовать взаимодействие процессоров посредством обмена сообщениями. Фактически, параллельная программа представляет собой систему взаимодействующих программ, каждая из которых выполняется на своем процессоре. Программы на разных процессорах могут быть совершенно различными, могут различаться лишь незначительно, а могут являться одной программой, поведение которой зависит от номера процессора. Но даже в этом последнем случае, программист обычно вынужден разрабатывать и сопровождать два различных варианта своей программы - последовательный и параллельный.

Файлы условия, демо

1.JPG
3.JPG
4.JPG
Capture.JPG

Характеристики ВКР

Учебное заведение
Просмотров
2
Покупок
0
Размер
40,57 Kb

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

  • Дипломная работа.doc 258 Kb
Картинка-подпись
Ваше удовлетворение является нашим приоритетом, если вы удовлетворены нами, пожалуйста, оставьте нам 5 ЗВЕЗД и позитивных комментариев. Спасибо большое!

Комментарии

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