![](/user_photo/2706_HbeT2.jpg)
Лекция ТФП 2015 ФИТ
.pdf![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu11x1.jpg)
Проблема
— На решение какой проблемы направлена технология фрагментированного программирования?
Параллельная реализация крупномасштабных численных моделей для суперкомпьютеров — сложная задача системного параллельного программирования
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu12x1.jpg)
Цель технологии фрагментированного программирования (ТФП)
— В чем цель технологии фрагментированного программирования?
Автоматизация эффективной параллельной реализации численного алгоритма на суперкомпьютере
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu13x1.jpg)
Автоматизация программирования
Формулировка задачи
↓
Алгоритм решения
↓
Параллельная программа
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu14x1.jpg)
Формулировка задачи
●Функциональные требования, т.е. функция, которая должна быть вычислена
○Пример: сортировка массива
●Нефункциональные требования (эффективность)
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu15x1.jpg)
Алгоритм решения задачи
●Алгоритм задаёт способ вычисления функции.
●Для вычисления одной и той же функции существует счётное множество алгоритмов
●Разные алгоритмы обладают разными нефункциональными свойствами
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu16x1.jpg)
Программа, реализующая алгоритм
Один и тот же алгоритм можно запрограммировать разными программами Программа:
●реализует алгоритм
●управляет ресурсами
●содержит управление
●менее переносима
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu17x1.jpg)
Переносимость
●Переносимость на уровне исполняемых файлов
●Переносимость на уровне исходных кодов
●Переносимость с точки зрения сохранения нефункциональных свойств
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu18x1.jpg)
Эффективность
●Экономия памяти
●Экономия времени вычислений
●Малая доля накладных расходов
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu19x1.jpg)
Частичная автоматизация
Эффективная реализация численного алгоритма — алгоритмически труднорешаемая задача
Аналог: задача о рюкзаке
Вывод: автоматизация должна быть частичной, система — специализированной
![](/html/2706/378/html_TjLgCRHWAp.Mc_w/htmlconvd-amXrcu20x1.jpg)
Представление алгоритма
Разные представления алгоритма обладают разными свойствами:
●явность параллелизма
●гранулярность алгоритма
●автономность частей алгоритма
●управление ресурсами
Для разных целей удобны рызные представления алгоритма