Введение
Глава 1 Исследование современного состояния проблемы разработки параллельных программ для многопроцессорных вычислительных систем 11
1.1 Архитектурные особенности построения многопроцессорных вычислительных систем 12
1.2 Технологические подходы к разработке параллельных программ 19
1.3 Анализ возможностей автоматического распараллеливания 25
1.4 Формирование набора требований к параллельным программам 28
1.5 Выбор стратегии модификации параллельных программ 30
1.6 Выводы по главе 1. Постановка задачи 36
Глава 2 Разработка математического обеспечения распределения данных в проблемно-ориентированных параллельных программах 40
2.1 Формализация задачи 40
2.2 Математическая модель распределения времени выполнения параллельных программ 50
2.3 Использование метаязыковых средств как инструмента модификации исходного кода 63
2.4 Лексико-синтаксический анализ исходного кода 74
2.5 Балансировка времени выполнения между гнёздами циклов 80
2.6 Выводы по главе 2 87
Глава 3 Разработка препроцессора «PyNorma» для модификации исходного кода параллельных программ 91
3.1 Основной управляющий скрипт программы 93
3.2 Библиотека ввода/вывод и хранения конфигурации 96
3.3 Библиотека лексико-синтаксического анализа 98
3.4 Библиотека работы с абстрактным синтаксическим деревом 100
3.5 Библиотека балансировки времени выполнения гнёзд циклов 102
3.6 Библиотека генерации тестов 105
3.7 Выводы по главе 3 105
Глава 4 Тестирование препроцессора «PyNorma» на различных аппаратных платформах 107
4.1 Описание аппаратных платформ, на которых производилось тестирование 107
4.2 Результаты тестирования на вычислительном кластере МГУПИ 109
4.3 Результаты тестирования на суперкомпьютере «Ломоносов» 115
4.4 Выводы по главе 4 120
Заключение 121
Библиографический список 126
Приложения 145


