Методы и средства автоматизированного распараллеливания приложений в распределенной среде

Методы и средства автоматизированного распараллеливания приложений в распределенной среде

Автор: Водомеров, Александр Николаевич

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

Научная степень: Кандидатская

Год защиты: 2007

Место защиты: Москва

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

Артикул: 3317588

Автор: Водомеров, Александр Николаевич

Стоимость: 250 руб.

Методы и средства автоматизированного распараллеливания приложений в распределенной среде  Методы и средства автоматизированного распараллеливания приложений в распределенной среде 

Оглавление
Введение б
Актуальность темы
Цели и задачи работы.
Методы исследования
Основные результаты работы
Научная новизна работы.
Практическая значимость .
Доклады и печатные публикации
Структура работы
1 Автоматизированное распараллеливание программ
1.1 Введение
1.2 I.
1.3 шрС.
1.4 Vсистема.
1.5 Тсистема.
1.5.1 Основные идеи Тсистемы
1.5.2 Классы программ, на которые ориентирована Тсистема
1.5.3 Базовые механизмы Тсистемы
1.5.4 Другие подходы к автоматизированному распараллеливанию . .
1.6 Краткий обзор истории Тподхода.
1.6.1 Ранние версии Тсистемы
1.6.2 .
1.7 Трудности Тподхода.
ОГЛАВЛЕНИЕ
2 Математическая модель распараллеливания программ
2.1 Корректность распараллеливания программ
2.1.1 Корректность Тсистемы
2.2 Методы формального описания языков
2.2.1 Основные подходы к описанию семантики языков .
2.2.2 Семантика языка ТС
2.2.3 Операционная семантика
2.3 Формализация понятия корректности.
2.3.1 Описание Гсистемы.
2.4 Базовая модель Тсистемы.
2.4.1 Абстрактная машина .
2.4.2 Абстрактная машина Мраг.
2.4.3 Описание распараллеливания
2.5 Корректность преобразований в базовой модели.
2.6 Расширение базовой модели
2.6.1 Условие завершения работы.
2.6.2 Несоответствия между базовой моделью и языком С.
2.6.3 Расширение множества операторов.
2.6.4 Указатели и глобальные переменные.
2.7 Детализация модели.
2.8 Работа на нескольких узлах.
2.9 Реализация модели .
2. Исследование эффективности.
21 Аналитические оценки эффективности.
22 Имитационное моделирование.
23 Прогнозирование исполнения программ .
2. Отличия от
21 Обеспечение корректности в
22 Совместимость с С .
23 Туказатели
24 Передача аргументов через .
2. Похожие работы.
2. Выводы.
ОГЛАВЛЕНИЕ
3 Программная архитектура
3.1 Понятие программной архитектуры
3.2 Архитектура
3.3 Требования к архитектуре Тсистемы
3.4 Методы разработки архитектуры .
3.5 Выделение модулей в .
3.5.1 Принцип сокрытия информации.
3.5.2 Выделение интерфейсов модулей.
3.5.3 Структура модулей
3.5.4 Структура использования
3.5.5 Автоматический контроль зависимостей
3.6 Механизмы .
3.6.1 Активные сообщения
3.6.2 Сериализация как элемент архитектуры
3.6.3 Асинхронная обработка сообщений
3.6.4 Оптимизация локальных операций.
3.6.5 Координация вычислений в слабосвязанных комплексах
3.7 Использование формальной модели
3.8 Выводы.
4 Практические испытании
4.1 Микротесты
4.1.1 Тест i
4.1.2 Тест v
4.1.3 Недостатки микротестов
4.2 Модельные программы
4.2.1 Тест
4.3 Прикладные задачи
4.3.1 Программный комплекс Vx
4.3.2 Программа
4.4 Выводы.
Заключение
Список литературы


Протоколы UDP и IGMP позволяют организовать широковещательную передачу данных с динамически изменяющимся множеством получателей. Большинство функций для работы с TCP/IP возвращаются сразу после перемещения данных в буфер для отправки, что позволяет параллельно производить вычисления и передачу данных. В некоторых реализациях MPI доступны также и другие языки. ГЛАВА 1. Функции асинхронной широковещательной рассылки в MPI также отсутствуют. Существуют попытки устранить некоторые из этих ограничений в рамках MPI. Например, стандарт MPI-2 [| добавляет односторонние коммуникации (one-sided communications) и возможность подключения узлов в процессе работы. К сожалению, на настоящие время н большинстве реализаций MPI поддержка этих функций отсутствует или не соответствует стандарт}' в полном объеме. Использование MPI-2 «привязывает» программу к конкретной реализации MPI, лишая ее переносимости, а также имеет ряд других важных недостатков. MPI предоставляет только низкоуровневые средства. Как следствие, при его использовании значительная часть работы, которая может быть автоматизирована, выполняется вручную. Введем несколько определений. Определение 1. Будем говорить, что программа (алгоритм) обладает статическим параллелизмом, если распределение вычислительной нагрузки и данных производится по некоторой фиксированной схеме, разработанной на этапе проектирования программы. Определение 2. Будем говорить, что программа (алгоритм) обладает динамическим параллелизмом, если распределение вычислительной нагрузки и данных между узлами производится в течение всего времени выполнения программы (а не только при запуске или в какие-то фиксированные моменты времени). Все перечисленные выше факторы приводят к тому, что при использовании MPI, как правило, используется статический параллелизм. Во многих случаях статический параллелизм позволяет добиться высокой производительности благодаря хорошему знанию внутренних характеристик вычислительного алгоритма. Однако для большого числа приложений подобный анализ и построение схемы всего вычислительного процесса в процессе проектирования программы представляет собой сложную задачу, решение которой требует значительного времени. По этой причине были разработаны и развиваются средства, которые предоставляют программисту конструкции более высокого уровня, чем непосредственные примитивы send и recv, и, тем самым, облегчают задачу разработки программ. Рассмотрим несколько таких средств. ГЛАВА 1. Система параллельного программирования шрС [,) была создана в Институте системного программирования РАН. Входной язык шрС представляет1 собой расширение языка С, разработанное специально для создания параллельных программ. При использовании гпрС программист описывает программу в виде вычислений на некоторой абстрактной сети, состоящей из виртуальных процессоров. Наиболее важным является то обстоятельство, что абстрактная сеть определяется исходя из структуры вычислительного алгоритма и не обязана соответствовать реальной вычислительной установке. Производительность виртуальных процессоров задается исходя из сложности различных шагов алгоритма. Отображение описанной программистом абстрактной структуры на имеющееся в действительности множество узлов выполняется автоматически системой поддержки времени выполнения (RTSS, run-time support system). Одним из основных в шрС является понятие сети. Сеть представляет собой группу виртуальных процессоров, решающих некоторую общую задачу. При описании сети указывается производительность узлов (в некоторых условных единицах) и характеристики каналов связи между ними. Большое значение имеет тот факт, что сети могут быть созданы как статически, так и динамически во время работы программы. Пример задания сети показан на рис. Рис. Пример задания параметрической сети в языке шрС. Цитируется из [|. После задания сети возможно объявление переменных, распределенных (distributed) или реплицированных (replicated) но этой сети. Распределенные переменные разделяются на части, каждая из которых хранится на определенном узле. Реплицированные переменные хранятся в виде полной копии на каждом узле.

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

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

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