Автоматическое распараллеливание программ для распределенных систем. Статическое построение расширенного графа управления - Дипломная работа

бесплатно 0
4.5 231
Основные направления развития параллелизма, модели параллельного программирования. Автоматические средства разработки параллельного ПО, анализ последовательной программы. Разработка системы автоматического распараллеливания программ на языке Fortran77.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
4 1. Система автоматического распараллеливания. 12 1.3 Постановка задачи дипломной работы. Создание внутреннего представления программы. 15 2.1 Разбор исходного текста. 15 2.2 Внутреннее представление программы высокого уровня. Вспомогательные структуры. 24 3.2 Описание классов. 37 Введение Определим параллельный компьютер как множество процессорных устройств, которые могут согласованно работать над решением вычислительных задач. Хотя рост производительности компьютеров от их создания до наших дней описывается экспоненциальным законом (от нескольких десятков операций с плавающей точкой в секунду для первых ЭВМ в 1940-х до десятков миллиардов в 1990-х), наиболее значительным достижением представляется их эволюция от последовательной архитектуры к параллельной. Такие приложения могут, например, использовать процессорное время множества удаленных компьютеров, обращаться к распределенным базам данных, осуществлять рендеринг одновременно на нескольких графических станциях. Таким образом, можно сделать вывод о бесспорной необходимости использования принципов параллелелизма при решении задач, требующих большого объема вычислений (в том числе в реальном времени), а также о существовании позволяющих использовать такой подход архитектурных и сетевых решений. Поэтому на практике применяется технология модульного проектирования, при которой сложные программы конструируются из более простых компонентов, и в этих компонентах используются такие элементы абстракции высокого уровня, как структуры данных, циклы и процедуры. Несколько более высоким уровнем абстракции является технология объектно-ориентированного программирования. Если все параллельные вычислительные системы классифицировать по способу организации доступа к памяти, то можно выделить две группы: системы с общей памятью - каждый процессор (вычислительный узел) имеет непосредственный доступ к запоминающему устройству, и системы с распределенной памятью - каждый узел имеет отдельное ЗУ. Другая часто используемая модель, параллелелизм данных, называется так из-за использования параллелелизма, возникающего при выполнении некоторой операции над многими элементами некоторой структуры данных (например, массива). Алгоритм работы такой системы может быть следующим: 1) анализ исходной программы на последовательном языке с целью выяснения скрытого в ней параллелелизма; 2) один или более пробных запусков программы под средой (или в присутствии блока анализа времени выполнения) для получения более полной информации об ее структуре и оценке времени последовательного выполнения; 3) выбор оптимального с точки зрения системы варианта распараллеливания и оценка времени параллельного выполнения, основанная на параметрах некоторой целевой архитектуры, заданных пользователем; 4) выдача результатов - величина полученного ускорения и причины невозможности распараллеливания некоторых участков с предоставлением пользователю возможности вмешаться в процесс и дать необходимые инструкции; этот этап продолжается, пока не будет достигнут удовлетворяющий пользователя вариант или он не прекратит дальнейший анализ; 5) генерация текста на целевом параллельном языке и выдача подробного отчета о результатах распараллеливания. Первый шаг - разбор текста средствами библиотеки Sage , в результате которого образуется файл с внутренним представлением исходной программы. Внутреннее представление без вызовов процедур поступает на вход двух блоков. Далее на основе результирующего внутреннего представления происходит генерация текста программы на FortranDVM. 1.3 Постановка задачи дипломной работы Задачей дипломной работы является реализация следующих функций блоков САР: Статическое построение расширенного графа потока управления программы и сопровождающих его структур (блок №2); Экспорт данных в файлы для блока распределения вычислений и данных (блок №2); Чтение из файлов директив FortranDVM, сформированных блоком распределения, и соответствующая им модификация внутреннего представления программы (блок №7). 2.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?