Язык и система фрагментированного параллельного программирования задач численного моделирования

Язык и система фрагментированного параллельного программирования задач численного моделирования

Автор: Арыков, Сергей Борисович

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

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

Год защиты: 2010

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

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

Артикул: 4900289

Автор: Арыков, Сергей Борисович

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

Язык и система фрагментированного параллельного программирования задач численного моделирования  Язык и система фрагментированного параллельного программирования задач численного моделирования 

Содержание
Введение
Глава 1. Средства разработки параллельных программ
1.1. Классификация средств разработки параллельных программ .
1.2. Средства разработки асинхронных программ.
1 1.2.1. Проект МАРС
1.2.2. .
1.2.3. н.
1.2.4. Граф Плюс
1.2.5. .
1.3. Требования к системе программирования
1.4. Выводы
Глава 2. Фрагментированное программирование
2.1. Концепция фрагментированного прораммирования
2.1.1. Предпосылки возникновения
2.1.2. Неформальное определение.
2.2. Асинхронная модель вычислений
2.2.1. Простая асинхронная модель.
2.2.2. Асинхронная модель со структурными Аблоками .
2.2.3. Асинхронная модель с массовыми Аблоками.
2.2.4. Асинхронная модель с управлением на основе строгого
частичного порядка.
2.3. Конструирование асинхронных программ.
2.3.1. Формальное определение управляющего оператора . .
2.3.2. Алгоритмы генерации управляющих операторов
2.4. Выводы
Глава 3. Язык программирования Аспект.
3.1. Ключевые особенности.
3.2. Формальное определение
3.2.1. Структура программы.
3.2.2. Заголовок программы.
3.2.3. Объявления внешнего языка.
3.2.4. Объявление фрагментов данных
3.2.5. Объявление фрагментов кода
3.2.6. Объявление данных задачи
3.2.7. Объявление фрагментов вычислений
3.2.8. Объявление управления.
3.3. Программирование на языке Аспект.
3.3.1. Распространнные схемы управления.
3.3.2. Разложение матриц 1 . .
3.3.3. Вычисление пго числа Фибоначчи.
3.3.4. Анализ фрагментированного подхода.
3.4. Выводы
Глайа 4. Реализация системы программирования Аспект
4.1. Программная архитектура системы
4.2. Реализация транслятора.
4.2.1. Лексический анализатор .
4.2.2. Синтаксический анализатор.
4.2.3. Генератор внутреннего представления
4.2.4. Генератор кода
4.2.5. Ограничения реализации.
4.3. Реализация исполнительной подсистемы
4.3.1. Слой абстрагирования от операционной системы .
4.3.2. Функциональные модули.
4.3.3. Интерфейс системных вызовов .
4.3.4. Ограничена реализации.
4.4. Порядок работы с системой.
4.4.1. Трансляция Аспектпрограммы
4.4.2. Окончательная сборка программы.
4.4.3. Отладка программы
4.5. Выводы .
Глава 5. Практические испытания
5.1. Тестовая среда и методика испытаний.
5.2. Тестирование на специальных тестах
5.2.1. Накладные расходы исполнительной подсистемы .
5.2.2. Поддержка большого количества фрагментов
5.2.3. Накладные расходы управляющих операторов
5.3. Тестирование на модельных задачах.
5.3.1. Умножение матриц
5.3.2. Разложение матриц.
5.3.3. Явная разностная схема
5.3.4. Использование специализированных библиотек
5.4. Тестирование на прикладных задачах .
5.4.1. Метод МонтеКарло.
5.4.2. Метод частицывячейках.
5.5. Выводы .
Заключение
Литература


HPF [], ОрепМР [5], Cilk-H- []), оформляться в виде библиотек (MPI, ТВВ [9], ТОР-С [], ParJava [1]), храниться отдельно от программы (CharnvH- []), или обрабатываться дополнительным препроцессором (DVM, mpC, RapidMain [0]). Последний способ особенно популярен для разработки научных проектов, поскольку позволяет легко внедрять новые конструкции в существующие языки и повышать уровень программирования. Использование систем поддержки времени выполнения. Хотя системы поддержки времени выполнения можно применять только в рамках существующего языка (что сближает их с предыдущим подходом), фактически. Примером реализации этого подхода является система поддержки времени выполнения Ли7 [], позволяющая разрабатывать программы для процессоров СеН/В. Недостатком подхода является сложность, описания большой задачи в виде взаимосвязанных подзадач с помощью предоставляемого АР1. Так как это описание необходимо выполнить на последовательном языке программирования, программа получается объёмной и трудной для понимания. Программирование на основе шаблонов. Вместо того, чтобы разрабатывать параллельную программу «с нуля», можно взять готовый шаблон (или «каркас») приложения, настроить его на конкретную задачу с помощью набора предопределенных параметров и заполнить требуемыми вычислениями. В этом состоит суть программирования на основе шаблонов. При этом пользователю нет необходимости беспокоиться о проблемах параллельного программирования, так как все они скрыты внутри шаблона. CO2P3S [], а также систему генерации параллельных программ для численного моделирования ParaGen []. Созда1ше нового шаблона существенно сложней непосредственной разработки приложения, поскольку разработка шаблона требует более универсального подхода, а также специфических знаний особенностей системы, для которой разрабатывается шаблон. Поэтому отсутствие подходящего шаблона является серьёзным препятствием для использования этого подхода. Использование новых языков программирования. Разработка нового языка даёт возможность избавится от множества проблем, накопившихся за годы разработки распространённых языков, в том числе отказаться от параллельно-последовательной модели вычислений. Забота о параллельном исполнении программы является органичной частью нового языка, а не дополнительной надстройкой. Среди проектов, развиваемых в рамках этого подхода, можно отмстить языки программирования НОРМА [3-5] (А. Н. Андрианов, И. Б. Задыхайло), Oz [0], Chapel [], Fortress []. Освоение нового языка и перенос унаследованного кода - вот основные сложности этого подхода. Чтобы программисты были готовы к их преодолению, новый язык должен продемонстрировать существенные преимущества над имеющимися решениями. Визуальная разработка параллельных программ. Код программы на текстовом языке представляет собой последовательность синтаксических элементов. Такое представление адекватно, когда алгоритм представляется в виде линейной последовательности действий. Этот недостаток позволяет преодолеть графический способ представления программы. CODE [4], а также технологию графо-символического программирования — ГСП []. Трудности этого подхода связаны с размещением большого объёма информации в графической форме. Асинхронное программирование здесь и далее понимается в смысле работ [,]. Большинство современных инструментов параллельного программирования предоставляют те или иные возможности для разработки асинхронных параллельных программ. В разделе рассмотрены наиболее интересные, на взгляд автора, проекты. Так, проект МАРС интересен как аппаратно-программный комплекс, наиболее полно реализующий идеи асинхронной модели вычислений, OpenTS позволяет автоматически изменять «гранулярность» вычислений, Charrn-M-представляет собой реализацию популярной модели акторов, Граф. Плюс ориентирован на реализацию численных алгоритмов в распределённой среде, а PLASMA - на фрагментированное представление численных алгоритмов. Необходимо также отметить несколько других важных проектов, непопавших в обзор. Это система сборочною программирования Мня [6] (В. Э. Ма-льтшкин, В. А. Анисимов), язык программирования me# для платформы . NET [] (Ю. П. Сердюк), Microsoft Task Parallel Library для . NET 4. SMP superscalar [2].

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

28.06.2016

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

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

15.02.2015

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

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


Все новости

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