Аннотация: Технология фрагментированного программирования ориентирована на разработку параллельных программ, решающих задачи численного моделирования. Конечная программа в этой технологии собирается из отдельных фрагментов вычислений, каждый из которых – независимая единица программы, содержащая входные/выходные переменные (фрагменты данных) и код их обработки (фрагмент кода). Для реализации этой технологии на вычислителях с общей памятью была разработана система параллельного программирования Аспект. Она включает в себя декларативный язык описания структуры фрагментированной программы (язык Аспект), транслятор с языка Аспект в С++, а также исполнительную подсистему. В статье представлены методы задания управления порядком исполнения фрагментов вычислений, разработанные и реализованные в системе программирования «Аспект». Все они основаны на использовании строгого частичного порядка на множестве фрагментов вычислений. Описаны различные типы управления: простое (между отдельными фрагментами), массовое (между множествами фрагментов), сложное (на основе логических операций; может задаваться как между отдельными фрагментами, так и между множествами фрагментов). Рассмотрены синтаксис и семантика основных конструкций языка Аспект, введенных для поддержки предложенных методов задания управления. Приведен пример решения задачи численного моделирования – задачи об LU-разложении матрицы – на основе которого продемонстрировано, как с помощью рассматриваемых методов задания управления можно представить численный алгоритм с высокой степенью непроцедурности. Предложенные подходы могут быть использованы как при реализации других инструментальных средств поддержки технологии фрагментированного программирования, так и встраиваться в качестве дополнительных способов задания управления (новой категории управляющих операторов) в современные языки программирования.
Ключевые слова: параллельное программирование, фрагментированное программирование, язык Аспект, методы управления параллельными вычислениями.
Россия, 659305, Алтайский край, г. Бийск, ул. Трофимова, 27, к. 404Б Тел. +7-923-162-93-27 (ответственный секретарь - Голых Роман Николаевич) e-mail: info@s-sibsb.ru