Dynamically Changing Parallelism with Asynchronous Sequential Data Flows : научное издание | Научно-инновационный портал СФУ

Dynamically Changing Parallelism with Asynchronous Sequential Data Flows : научное издание

Тип публикации: статья из журнала

Год издания: 2021

Идентификатор DOI: 10.3103/S0146411621070105

Ключевые слова: parallel computations, asynchronous computations, static typing, dynamically changing parallelism

Аннотация: A statically typed version of the data driven functional parallel computing model is proposed. It enables a representation of dynamically changing parallelism by means of asynchronous sequential data flows. We consider the features of the syntax and semantics of the statically typed data driven functional parallel programming language Smile, that supports asynchronous sequential flows. Our main idea is to apply the Hoar concept of communicating sequential processes to the computation control on data readiness. It is assumed that on data readiness a control signal is emitted to inform the processes about the occurrence of certain events. The special feature of our approach is that the model is extended with special asynchronous containers that can generate events on their partial filling. These containers are a stream and a swarm, each of which has its own specifics. A stream is used to process data which have identical type. The data comes sequentially and asynchronously at arbitrary time moments. The number of the coming data elements is initially unknown, so the processing completes on the signal of the end of the stream. A swarm is used to contain independent data of same type and may be used for massive parallel operations performing. Unlike a stream, swarm's size is fixed and known in advance. General principles of operations with asynchronous sequential flows with arbitrary order of data coming are described. The use of streams and swarms in various situations is considered. We propose language constructs which allow operating swarms and streams and describing the specifics of their application. We provide sample functions to illustrate the use of different approaches to describing the parallelism: recursive processing of asynchronous flows, processing of flows in an arbitrary or predefined order of operations, direct access and access by reference to elements of streams and swarms, pipelining of calculations. We give a preliminary parallelism assessment which depends on the ratio of the rates of data coming and their processing. The proposed methods can be used in the development of the future languages and toolkits of architecture-independent parallel programming. Abstract: A statically typed version of the data driven functional parallel computing model is proposed. It enables a representation of dynamically changing parallelism by means of asynchronous sequential data flows. We consider the features of the syntax and semantics of the statically typed data driven functional parallel programming language Smile, that supports asynchronous sequential flows. Our main idea is to apply the Hoar concept of communicating sequential processes to the computation control on data readiness. It is assumed that on data readiness a control signal is emitted to inform the processes about the occurrence of certain events. The special feature of our approach is that the model is extended with special asynchronous containers that can generate events on their partial filling. These containers are a stream and a swarm, each of which has its own specifics. A stream is used to process data which have identical type. The data comes sequentially and asynchronously at arbitrary time moments. The number of the coming data elements is initially unknown, so the processing completes on the signal of the end of the stream. A swarm is used to contain independent data of same type and may be used for massive parallel operations performing. Unlike a stream, swarm’s size is fixed and known in advance. General principles of operations with asynchronous sequential flows with arbitrary order of data coming are described. The use of streams and swarms in various situations is considered. We propose language constructs which allow operating swarms and streams and describing the specifics of their application. We provide sample functions to illustrate the use of different approaches to describing the parallelism: recursive processing of asynchronous flows, processing of flows in an arbitrary or predefined order of operations, direct access and access by reference to elements of streams and swarms, pipelining of calculations. We give a preliminary parallelism assessment which depends on the ratio of the rates of data coming and their processing. The proposed methods can be used in the development of the future languages and toolkits of architecture-independent parallel programming. © 2021, Allerton Press, Inc.

Ссылки на полный текст

Издание

Журнал: AUTOMATIC CONTROL AND COMPUTER SCIENCES

Выпуск журнала: Vol. 55, Is. 7

Номера страниц: 636-646

ISSN журнала: 01464116

Место издания: NEW YORK

Издатель: PLEIADES PUBLISHING INC

Персоны

  • Legalov A.I. (Siberian Fed Univ, Krasnoyarsk 660041, Russia)
  • Matkovskii I.V. (Siberian Fed Univ, Krasnoyarsk 660041, Russia)
  • Ushakova M.S. (Siberian Fed Univ, Krasnoyarsk 660041, Russia)
  • Romanova D.S. (Siberian Fed Univ, Krasnoyarsk 660041, Russia)

Информация о публикациях загружается с сайта службы поддержки публикационной активности СФУ. Сообщите, если заметили неточности.

Вы можете отметить интересные фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.