Preview

Моделирование и анализ информационных систем

Расширенный поиск

Динамически изменяющийся параллелизм с асинхронно-последовательными потоками данных

https://doi.org/10.18255/1818-1015-2020-2-164-179

Полный текст:

Аннотация

Предлагается статически типизированная версия модели функционально-потоковых параллельных вычислений, которая за счет использования асинхронных последовательных потоков обеспечивает представление динамически изменяющегося параллелизма. Рассмотрены особенности синтаксиса и семантики статически типизированного языка функционально-потокового параллельного программирования Smile, обеспечивающие поддержку асинхронных последовательных потоков. Основная идея подхода базируется на использовании концепции взаимодействующих последовательных процессов Т. Хоара применительно к управлению по готовности данных. Предполагается, что готовность данных сопровождается выдачей управляющих сигналов, информирующих процессы о свершении тех или иных событий. Отличительной особенностью подхода является включение в модель специальных асинхронных контейнеров, которые могут порождать события по частичному заполнению. Этими контейнерами являются поток и рой, каждый из которых имеет свою специфику. Поток используется для обработки данных одного типа, поступающих последовательно и асинхронно в произвольные промежутки времени. Размерность поступающих данных изначально неизвестна, поэтому завершение обработки осуществляется по признаку конца потока. Рой используется для описания независимых данных одного типа, над которыми возможно выполнение массовых параллельных операций. В отличие от потока, его размерность фиксирована и известна заранее. В работе описаны общие принципы организации асинхронных последовательных потоков с произвольным поступлением данных. Рассматривается использование потоков и роев в различных ситуациях. Предлагаются языковые конструкции, позволяющие описывать работу с роями и потоками и особенности их применения. Представлены примеры функций, при реализации которых использованы различные подходы к описанию параллелизма: рекурсивная обработка асинхронных потоков, обработка потоков при недетерминированном и упорядоченном выполнении операций, прямое и ссылочное обращение к элементам потоков и роев, конвейеризация вычислений. Дается предварительная оценка параллелизма в зависимости от временных соотношений между темпом поступления данных и скоростью их обработки. Предложенные методы могут быть использованы при разработке перспективных языковых и инструментальных средств архитектурно-независимого параллельного программирования.

Об авторах

Александр Иванович Легалов
Сибирский федеральный университет
Россия

Руководитель научно-учебной лаборатории технологий программирования, профессор кафедры вычислительной техники, доктор технических наук, профессор

660041, Красноярский край, г. Красноярск, пр. Свободный, 79



Иван Васильевич Матковский
Сибирский федеральный университет
Россия

Старший преподаватель

 660041, Красноярский край, г. Красноярск, пр. Свободный, 79



Мария Сергеевна Ушакова
Сибирский федеральный университет
Россия

Ассистент кафедры вычислительной техники

660041, Красноярский край, г. Красноярск, пр. Свободный, 79



Дарья Сергеевна Романова
Сибирский федеральный университет
Россия

Аспирант

660041, Красноярский край, г. Красноярск, пр. Свободный, 79



Список литературы

1. A. I. Legalov, “The Usage of Asynchronous Lists within the Dataflow Model of Computations”, in The Third Siberian School Seminar on Parallel Computations, In Russian, 2006, pp. 113–120.

2. C. A. R. Hoar, Communicating Sequential Processes, 8. Communications of the ACM, 1978, vol. 21, pp. 666–677.

3. M. Diaz, Petri Nets: Fundamental Models, Verification and Applications. UK: ISTE Ltd, 2009.

4. A. I. Legalov, “About Computation Control in Parallel System and Programming Languages”, Nauchiy Vestnik NGTU, vol. 18, no. 3, pp. 63–72, 2004, In Russian.

5. A. I. Legalov, V. S. Vasiliev, and I. V. Matkovsky, “Changing Computing Management Strategies for Architecture-Independent Parallel Programming”, in Proceedings of the XIX All-Russian Scientific Conference “Scientific Service on the Internet”, In Russian, 2017, pp. 341–350.

6. A. V. Redkin and A. I. Legalov, “Event Based Control of Computations for Functional Dataflow Programming”, Scientific Bulletin of Novosibirsk State Technical University, vol. 32, no. 3, pp. 111–120, 2008, In Russian.

7. A. I. Legalov, A. V. Redkin, and I. V. Matkovsky, “Data Driven Functional Parallel Programming with Data Coming Asynchronously”, in Parallel Computing Technologiws (PCT’2009), In Russian, 2009, pp. 573–578.

8. A. I. Legalov, I. A. Legalov, and I. V. Matkovsky, “Specifics of Semantics of a Statically Typed Language of Functional and Dataflow Parallel Programming”, in Scientific Conference “Scientific Service on the Internet”, 2019, pp. 489–500.

9. A. I. Legalov, “Functional Language for Architecture-Independent Programming”, Computation technologies, vol. 10, no. 1, pp. 71–89, 2005, In Russian.


Для цитирования:


Легалов А.И., Матковский И.В., Ушакова М.С., Романова Д.С. Динамически изменяющийся параллелизм с асинхронно-последовательными потоками данных. Моделирование и анализ информационных систем. 2020;27(2):164-179. https://doi.org/10.18255/1818-1015-2020-2-164-179

For citation:


Legalov A.I., Matkovskii I.V., Ushakova M.S., Romanova D.S. Dynamically Changing Parallelism with the Asynchronous Sequential Data Flows. Modeling and Analysis of Information Systems. 2020;27(2):164-179. (In Russ.) https://doi.org/10.18255/1818-1015-2020-2-164-179

Просмотров: 38


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)