Фрагментированное программирование
Структура лекции Что такое фрагментированное программирование Введение Необходимые свойства параллельной программы Качественная картина исполнения фрагментированной программы Пример фрагментированного алгоритма
Что такое фрагментированное программирование Фрагментированное программирование – это технология программирования, при которой программа собирается из фрагментов вычислений. Фрагмент кода - это некоторая операция (вычисление функции), которая в программе может реализоваться процедурой, подпрограммой и т.п. Для фрагмента кода определены входные и выходные переменные, которые являются его формальными параметрами. Фрагмент данных – это часть общей структуры данных (расчетной области) для обработки в некотором фрагменте. Пара <фрагмент кода, фрагмент данных> называется фрагментом вычислений (фрагментом).
Введение Математическое моделирование Распространенные средства параллельного программирования Основные сложности параллельного программирования
Необходимые свойства параллельной программы Параллельная программа представляется как множество параллельно протекающих и взаимодействующих последовательных процессов Недетерминизм исполнения Гибкая настройка на все доступные ресурсы мультикомпьютера Динамическая балансировка загрузки Переносимость в классе мультикомпьютеров Динамизм поведения
Качественная картина исполнения фрагментированной программы
Умножение матриц
Умножение матриц
Реализация фрагментированного алгоритма умножение матриц
Результаты тестирования
Выводы Достигается высокое качество динамического распределения ресурсов и гибкая настройка параллельной программы на все доступные ресурсы, а значит и ее переносимость в классе мультикомпьютеров. Фрагментация программы позволяет единообразно решить проблему организации межпроцессных обменов данными на фоне вычислений. Фрагментирование позволяет решить и другие проблемы, такие как накопление библиотек стандартных подпрограмм в платформонезависимой форме, масштабируемость программ, использование накопленных библиотек последовательных подпрограмм, оптимизация использования памяти ПЭ, и т.д.
Вопросы
Спасибо за внимание!