+
Действующая цена700 499 руб.
Товаров:
На сумму:

Электронная библиотека диссертаций

Доставка любой диссертации в формате PDF и WORD за 499 руб. на e-mail - 20 мин. 800 000 наименований диссертаций и авторефератов. Все авторефераты диссертаций - БЕСПЛАТНО

Расширенный поиск

Математическое и программное обеспечение распределения данных в проблемно-ориентированных параллельных программах

  • Автор:

    Палагин, Владимир Владимирович

  • Шифр специальности:

    05.13.11

  • Научная степень:

    Кандидатская

  • Год защиты:

    2014

  • Место защиты:

    Москва

  • Количество страниц:

    149 с. : ил.

  • Стоимость:

    700 р.

    499 руб.

до окончания действия скидки
00
00
00
00
+
Наш сайт выгодно отличается тем что при покупке, кроме PDF версии Вы в подарок получаете работу преобразованную в WORD - документ и это предоставляет качественно другие возможности при работе с документом
Страницы оглавления работы

ОГЛАВЛЕНИЕ
ОГЛАВЛЕНИЕ
ГЛОССАРИЙ
ВВЕДЕНИЕ
Глава 1 Исследование современного состояния проблемы разработки параллельных программ для многопроцессорных вычислительных систем
1.1 Архитектурные особенности построения многопроцессорных
вычислительных систем
1.2 Технологические подходы к разработке параллельных программ
1.3 Анализ возможностей автоматического распараллеливания
1.4 Формирование набора требований к параллельным программам
1.5 Выбор стратегии модификации параллельных программ
1.6 Постановка задачи
Глава 2 Разработка математического обеспечения распределения данных в проблемно-ориентированных параллельных программах
2.1 Формализация задачи
2.2 Математическая модель распределения времени выполнения
параллельных программ
2.3 Использование метаязыковых средств как инструмента модификации
исходного кода
2.4 Лексико-синтаксический анализ исходного кода
2.5 Балансировка времени выполнения между гнёздами циклов
2.6 Выводы по Главе
Глава 3 Разработка препроцессора «РуЫогша» для модификации исходного кода параллельных программ
3.1 Основной управляющий скрипт программы
3.2 Библиотека ввода/вывода и хранения конфигурации
3.3 Библиотека лексико-синтаксического анализа
3.4 Библиотека работы с абстрактным синтаксическим деревом

3.5 Библиотека балансировки времени выполнения гнёзд циклов
3.6 Библиотека генерации тестов
3.7 Выводы по Главе
Глава 4 Тестирование препроцессора «РуМогта» на различных аппаратных платформах
4.1 Описание аппаратных платформ, на которых производилось тестирование
4.2 Результаты тестирования на вычислительном кластере МГУПИ
4.3 Результаты тестирования на суперкомпьютере «Ломоносов»
4.4 Выводы по Главе
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЯ
Приложение 1. Свидетельство о государственной регистрации
препроцессора РуМогта
Приложение 2. Акт внедрения препроцессора РуМогта в компании ЗАО
Энергокомплект
Приложение 3. Акт внедрения препроцессора РуМогта в компании ООО Праймтек

ГЛОССАРИЙ
Многопроцессорная вычислительная система (МВС) с общей памятью - класс симметрично-мультипроцессорных вычислительных систем, реализующий архитектуру Symmetric Multi-Processing (SMP), при которой множество одинаковых процессоров выполняют одни и те же функции и тесно связаны друг с другом через общую шину. Все процессоры имеют равный доступ ко всем ресурсам вычислительной системы (памяти и устройствам ввода-вывода) и управляются одной копией операционной системы (ОС).
МВС с распределённой памятью - класс массово-параллельных вычислительных систем, реализующий архитектуру Massive Parallel Processing (МРР), при которой память физически разделена между группой вычислительных узлов (ВУ), объединённых между собой коммуникационной средой [14]. Каждый ВУ имеет доступ к своей локальной памяти или к памяти других вычислительных узлов через интерфейс передачи сообщений - Message Passing Interface.
Интерфейс передачи сообщений (Message Passing Interface, MPI) — программный интерфейс (Application Programming Interface) для передачи сообщений, позволяющий организовать процесс обмена данными между процессами на разных вычислительных узлах в рамках одной вычислительно задачи [43]. Разработаны коммерческие и свободные реализации для большинства аппаратных конфигураций и программных платформ.
Интерфейс программирования приложений (Application Programming Interface, API) - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах [139]. Используется программистами для написания всевозможных приложений.

циклические конструкции с расчётными формулами. Коллективные операторы выступают в роли строительных блоков, инкапсулирующих в себе большую часть трудоёмкости и смысловой нагрузки параллельной программы.
При использование систем параллельного программирования веского уровня в качестве элементарного строительного элемента выступают блоки исходного кода, которые в зависимости от наличия или отсутствия связи по данным могут содержать в себе один или несколько ГЦ с расчётными формулами или целые функции/разделы. В таком блоке распределение вычислений по ВУ целевой платформы задаётся статически.
Таким образом, реальные программы представляются в виде нескольких блоков исходного кода с заданным распределением данных, в каждом из которых выполняется минимально-возможный смысловой набор арифметических действий в расчётных формулах [116]. Подобное представление структуры параллельной программы позволяет добиться компромисса между сохранением контроля над распределением вычислений со стороны разработчика, объёмом/сложностью исходного кода и трудоёмкостью его анализа [78].
Задача нахождения рационального с точки зрения минимизации времени выполнения распределения данных для каждого блоке сводится к задаче лексико-синтаксического анализа исходного кода [82]. Цель выполнения такого рода анализа заключается в поиске всех коллективных операторов в рамках целевого блока и варьирования значения распределения. В свою очередь модификация распределения в параллельной программе приведёт к изменению размещения обрабатываемых данных в результирующей программе после генерации [87]. Выбор рационального варианта распределения для каждого раздела исходной программы на этапе анализа через систему параллельного программирования возможно производить на основе вычислительной трудоёмкости выполнения каждого коллективного оператора с учетом задействованных элементов массива. Вычислительная трудоёмкость определяется как число базовых арифметических операций в выражении [89]. Из

Рекомендуемые диссертации данного раздела

Время генерации: 0.129, запросов: 967