appdeSDr (1158395)

Файл №1158395 appdeSDr (Раздаточные материалы)appdeSDr (1158395)2019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

11


Институт прикладной математики им. М.В.Келдыша

Российская Академия наук

Развитая система разработки параллельных программ

(APPDE)

Системный дизайн

1999

Оглавление

1 Цели системы 3

1.1 Простота разработки параллельных программ 3

1.2 Мобильность на компьютерах с различной архитектурой 3

1.3 Повторное использование программ 4

1.4 Высокая эффективность выполнения программы. 4

2 Состав и функции системы 4

3 Подход и принципы реализации системы 6

3.1 Языки 6

3.2 Компиляторы 7

3.3 Библиотека поддержки Lib-DVM 8

3.4 DVM-отладчик 8

3.5 Анализатор производительности 9

3.6 Предсказатель выполнения DVM-программы 9

4 Общая структура и организация системы 9

Данная система предназначается для разработки переносимых и эффективных параллельных программ вычислительного характера для компьютеров с различной архитектурой.

1Цели системы

Основные цели системы:

  • Простота разработки параллельных программ.

  • Мобильность среди различных архитектур ЭВМ (последовательных, кластера рабочих станций, MPP).

  • Повторное использование (композиция параллельных приложений из нескольких стандартных модулей).

  • Высокая эффективность выполнения программы.

1.1Простота разработки параллельных программ

Языки программирования (Norma, Fortran DVM, C-DVM) обеспечивают:

  • глобальное пространство имен;

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

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

  • использование одного варианта программы для последовательного и для параллельного выполнения.

Для отладки программ на рабочей станции предоставляются следующие возможности:

  • отладка DVM-программы как обычной последовательной программы;

  • автоматическая проверка спецификаций параллелизма;

  • псевдо-параллельное выполнение программы в режиме сравнения промежуточных результатов трассировки с результатами эталонной трассировки (полученной в результате последовательного выполнения программы);

  • накопление трассировочных данных и их просмотр;

  • предcказание характеристик производительности параллельного выполнения.

Для отладки программ на параллельном компьютере предоставляются следующие возможности:

  • сравнение промежуточных результатов трассировки с результатами эталонной трассировки;

  • накопление трассировочных данных и их просмотр;

  • получение характеристик производительности параллельного выполнения.

1.2Мобильность на компьютерах с различной архитектурой

Последовательные компьютеры:

Cпецификации параллелизма в языках Fortran-DVM и C-DVM "невидимы" для стандартных компиляторов с языков Си и Фортран 77.

Параллельные компьютеры:

  1. схема компиляции:

Fortran DVM = > Fortran 77 + Lib-DVM

C-DVM = > C + Lib-DVM

Lib-DVM базируется на стандартных библиотеках передачи сообщений MPI или PVM.

  1. автоматическая конвертация: Fortran DVM = > HPF или HPF2

1.3Повторное использование программ

  • DVM-программа может динамически настраиваться (без повторной компиляции) на параметры приложения (количество и размер массивов данных) и конфигурацию параллельного компьютера;

  • DVM-подпрограмма может динамически настраиваться на распределение фактических параметров и подмножество процессоров параллельной ЭВМ, на котором эта подпрограмма выполняется.

1.4Высокая эффективность выполнения программы.

Высокая эффективность DVM-программ достигается следующим образом:

  • Программист может точно специфицировать параллельное выполнение своей программы

  • Предоставляются средства для совмещения вычислений и обмена сообщениями в системах с распределенной памятью;

  • Предоставляются средства для балансировки загрузки.

2Состав и функции системы

Система состоит из следующих пакетов программ:

  • Компилятор Fortran-DVM;

  • Компилятор C-DVM;

  • Библиотека поддержки Lib-DVM;

  • DVM-отладчик;

  • Предсказатель выполнения DVM-программы на MPP и кластере рабочих станций;

  • Анализатор производительности параллельных программ;

  • NORMA компилятор.

Эти пакеты должны удовлетворять следующим требованиям:

  • Fortran-DVM компилятор должен поддерживать параллелизм данных и параллелизм задач, динамическое распределение памяти и динамическую балансировку загрузки. Реализация компилятора должна поддерживать расширенное подмножество HPF. Это подмножество должно включать все возможности Fortran 77, динамическое распределение данных (REALIGN, REDISTRIBUTE, DYNAMIC) и другие возможности HPF по согласованию Обеих Сторон. Программы, написанные на расширенном подмножестве HPF, могут компилироваться и выполняться в среде APPDE. Программы, написанные на языке Fortran-DVM, могут компилироваться и выполняться в стандартной среде Fortran 77 как обычные последовательные программы. Выходом компилятора Fortran-DVM является программа на языке Fortran 77 (SPMD модель), расширенная вызовами функций Lib-DVM или программа на языках HPF1 или HPF2.

  • C-DVM компилятор должен поддерживать параллелизм данных и функциональный параллелизм, динамическое распределение данных и динамическую балансировку загрузки. Программы, написанные на C-DVM, могут компилироваться и выполняться в стандартной среде Си. Выходом C-DVM компилятора является программа на языке ANSI Си (SPMD модель), расширенная вызовами функций Lib-DVM.

  • Библиотека Lib-DVM - это система поддержки выполнения Fortran-DVM и C-DVM программ. Функции Lib-DVM должны использовать две коммуникационные системы MPI, PVM и некоторые собственные библиотеки обмена сообщениями для различных компьютеров.

  • DVM отладчик используется для отладки DVM-программ (написанных на языках Fortran-DVM или C-DVM). Для отладки DVM программы используется следующий подход. На первой стадии программа отлаживается на рабочей станции как последовательная программа, используя обычные методы и средства отладки. На второй стадии программа выполняется на той же рабочей станции в специальном режиме проверки DVM указаний. На третьей стадии программа может быть выполнена на параллельном компьютере в специальном режиме, когда промежуточные результаты выполнения сравниваются с результатами эталонной трассировки (например, результатами последовательного выполнения).

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

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

  • NORMA компилятор преобразует NORMA-программы в Fortran-DVM программы. NORMA - это непроцедурный язык, разработанный для численных алгоритмов решения задач математической физики с использованием различных методов. Основная идея этого языка состоит в использовании описания задачи в виде вычислительных формул, полученных прикладным специалистом в качестве входной информации для выполнения вычислений.

3Подход и принципы реализации системы

3.1Языки

Язык Norma

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

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

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

Язык Fortran-DVM

DVM-указания вставляются в Fortran-DVM программу в виде специальных комментариев.

Язык включает следующие основные возможности спецификации параллельного выполнения программы:

  • распределение элементов массива между процессорами;

  • распределение вычислений между процессорами;

  • организация эффективного доступа к удаленным (расположенным на других процессорах) данным, используя спецификации верхнего уровня на основе массивов;

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

Чтобы упростить преобразование Fortran-DVM программы в программу на HPF1 или HPF2, Fortran-DVM директивы базируются на HPF директивах. Fortran-DVM включает аналоги HPF-директив (HPF1 и HPF2 директив) и дополнительные директивы, предназначенные для повышения производительности выполнения программы. Директивы распределения данных языка Fortran-DVM представляют собой подмножество соответствующих директив HPF2.

Язык C-DVM

DVM-указания оформляются как параметры специальной макрокоманды DVM(dvmdir), которая в последовательной программе игнорируется (заменяется на пустую последовательность символов).

Язык включает следующие основные возможности спецификации параллельного выполнения программы:

  • распределение элементов массива между процессорами;

  • распределение вычислений между процессорами;

  • организация эффективного доступа к удаленным (расположенным на других процессорах) данным, используя спецификации верхнего уровня на основе массивов.

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

3.2Компиляторы

Norma компилятор

NORMA компилятор преобразует NORMA-программу в Fortran-DVM программу. Такая схема компиляции позволяет иметь общую модель выполнения параллельных программ, общие средства их отладки, анализа и предсказания производительности.

Norma компилятор состоит как из традиционных компонент (лексического анализатора, синтаксического анализатора, кодо-генератора и т.д.) так и имеет специальные компоненты для упорядочивания и распараллеливания вычислений.

Схему распараллеливания, которая используется в процессе трансляции с языка Norma, можно кратко описать следующим образом.

  1. В результате анализа программы строится граф зависимости по данным.

  2. Строится граф уровней параллелизма алгоритма, удовлетворяющий всем зависимостям и выражающий естественный (идеальный) параллелизм.

  3. Этот граф отображается на целевую вычислительную систему с учетом модели ее архитектуры. При отображении учитываются модель памяти (NUMA или NORMA) и число процессоров. Выполняются различные оптимизации.

Компилятор Fortran-DVM

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

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов учебной работы

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