ЮЖНО-СИБИРСКИЙ НАУЧНЫЙ ВЕСТНИК

ISSN 2304-1943
ЭЛ № ФС 77 – 52804

Об издании Issues Выпуски за 2019 год Выпуск 2 (26) - июнь 2019 МЕТОДЫ ЗАДАНИЯ УПРАВЛЕНИЯ В ТЕХНОЛОГИИ ФРАГМЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
DOI: 10.25699/SSSB.2019.2(26).32520 1 Download PDF

МЕТОДЫ ЗАДАНИЯ УПРАВЛЕНИЯ В ТЕХНОЛОГИИ ФРАГМЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ

С.Б. Арыков
Ключевые слова:  параллельное программирование, фрагментированное программирование, язык Аспект, методы управления параллельными вычислениями.
Аннотация:

Технология фрагментированного программирования ориентирована на разработку параллельных программ, решающих задачи численного моделирования. Конечная программа в этой технологии собирается из отдельных фрагментов вычислений, каждый из которых – независимая единица программы, содержащая входные/выходные переменные (фрагменты данных) и код их обработки (фрагмент кода). Для реализации этой технологии на вычислителях с общей памятью была разработана система параллельного программирования Аспект. Она включает в себя декларативный язык описания структуры фрагментированной программы (язык Аспект), транслятор с языка Аспект в С++, а также исполнительную подсистему. В статье представлены методы задания управления порядком исполнения фрагментов вычислений, разработанные и реализованные в системе программирования «Аспект». Все они основаны на использовании строгого частичного порядка на множестве фрагментов вычислений. Описаны различные типы управления: простое (между отдельными фрагментами), массовое (между множествами фрагментов), сложное (на основе логических операций; может задаваться как между отдельными фрагментами, так и между множествами фрагментов). Рассмотрены синтаксис и семантика основных конструкций языка Аспект, введенных для поддержки предложенных методов задания управления. Приведен пример решения задачи численного моделирования – задачи об LU-разложении матрицы – на основе которого продемонстрировано, как с помощью рассматриваемых методов задания управления можно представить численный алгоритм с высокой степенью непроцедурности. Предложенные подходы могут быть использованы как при реализации других инструментальных средств поддержки технологии фрагментированного программирования, так и встраиваться в качестве дополнительных способов задания управления (новой категории управляющих операторов) в современные языки программирования.

METHODS OF DEFINING ORDER OF EXECUTION IN FRAGMENTED PROGRAMMING TECHNOLOGY

S.B. Arykov
Index terms:  parallel programming, technology of fragmented programming, asynchronous model of computing, programming system Aspect, language Aspect, methods for controlling parallel computations.
Abstract:

The technology of fragmented programming is focused on the development of paral-lel programs that solve numerical problems. The final program in this technology is assem-bled from separate computation fragments, each of which is an independent program unit containing input and output variables (data fragments) and the code of their processing (code fragment). To implement this technology on computers with shared memory, a paral-lel programming system Aspect was developed. It includes a declarative language for de-scribing the structure of a fragmented program (the Aspect language), a translator from the Aspect language to C ++ and an executive subsystem. The article presents the methods of defining order of execution of computation fragments, developed and implemented in the programming system "Aspect". All of them are based on the use of strict partial order on a set of computation fragments. Various approaches to define order of execution are de-scribed: simple (between separate fragments), massive (between sets of fragments), com-plex (based on logical operations; can be set between separate fragments, and between sets of fragments). The syntax and semantics of the main structures of the Aspect language, in-troduced to support the proposed methods of the control, are considered.An example of solving LU decomposition of a matrix numerical problem is given. Based on that example it was demonstrated how using methods offered one can present a numerical algorithm with a high degree of nonprocedurality. The proposed approaches can be used to implement other tools to support the technology of fragmented programming or can be integrated as additional ways to set the control (new category of control operators) into modern programming languages.

  

Контакты

Россия, 659305, Алтайский край, г. Бийск, ул. Трофимова, 27, к. 404Б
Тел. +7-923-162-93-27 (ответственный секретарь - Голых Роман Николаевич)
e-mail: info@s-sibsb.ru

Contacts

Russia, 659305, Altai region, Biysk, Trofimova Street, 27, room 404B
Tel. + 7-923-162-93-27 (executive secretary - Golikh Roman Nikolayevich)
e-mail: info@s-sibsb.ru

Последний выпуск/ Current Issue

Свидетельство/ Certificate