Dynamically changing parallelism with the asynchronous sequential data flows
Modelirovanie i analiz informacionnyh sistem, Tome 27 (2020) no. 2, pp. 164-179.

Voir la notice de l'article provenant de la source Math-Net.Ru

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 serial 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 the data readiness. It is assumed that on the 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 the 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 incoming 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 the same type and may be used for the massive parallel operations performing. Unlike a stream, the swarm's size is fixed and known in advance. General principles of the operations with the asynchronous sequential flows with an arbitrary order of data arrival are described. The use of the streams and the swarms in various situations is considered. We propose the language constructions which allow us to operate the swarms and streams and describe the specifics of their application. We provide the sample functions to illustrate the use of the different approaches to description of the parallelism: recursive processing of the asynchronous flows, processing of the flows in an arbitrary or predefined order of operations, direct access and access by the reference to the elements of the streams and swarms, pipelining of calculations. We give a preliminary parallelism assessment which depends on the ratio of the rates of data arrival and their processing. The proposed methods can be used in the development of the future languages and tool-kits of architecture-independent parallel programming.
Keywords: parallel computations, static typing, dynamically changing parallelism.
Mots-clés : asynchronous computations
@article{MAIS_2020_27_2_a2,
     author = {A. I. Legalov and I. V. Matkovskii and M. S. Ushakova and D. S. Romanova},
     title = {Dynamically changing parallelism with the asynchronous sequential data flows},
     journal = {Modelirovanie i analiz informacionnyh sistem},
     pages = {164--179},
     publisher = {mathdoc},
     volume = {27},
     number = {2},
     year = {2020},
     language = {ru},
     url = {http://geodesic.mathdoc.fr/item/MAIS_2020_27_2_a2/}
}
TY  - JOUR
AU  - A. I. Legalov
AU  - I. V. Matkovskii
AU  - M. S. Ushakova
AU  - D. S. Romanova
TI  - Dynamically changing parallelism with the asynchronous sequential data flows
JO  - Modelirovanie i analiz informacionnyh sistem
PY  - 2020
SP  - 164
EP  - 179
VL  - 27
IS  - 2
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/MAIS_2020_27_2_a2/
LA  - ru
ID  - MAIS_2020_27_2_a2
ER  - 
%0 Journal Article
%A A. I. Legalov
%A I. V. Matkovskii
%A M. S. Ushakova
%A D. S. Romanova
%T Dynamically changing parallelism with the asynchronous sequential data flows
%J Modelirovanie i analiz informacionnyh sistem
%D 2020
%P 164-179
%V 27
%N 2
%I mathdoc
%U http://geodesic.mathdoc.fr/item/MAIS_2020_27_2_a2/
%G ru
%F MAIS_2020_27_2_a2
A. I. Legalov; I. V. Matkovskii; M. S. Ushakova; D. S. Romanova. Dynamically changing parallelism with the asynchronous sequential data flows. Modelirovanie i analiz informacionnyh sistem, Tome 27 (2020) no. 2, pp. 164-179. http://geodesic.mathdoc.fr/item/MAIS_2020_27_2_a2/

[1] A. I. Legalov, “The usage of asynchronous lists within the dataflow model of computations”, The Third Siberian School Seminar on Parallel Computations, 2006, 113–120 (In Russian)

[2] C. A. R. Hoare, “Communicating sequential processes. 8”, Communications of the ACM, 21 (1978), 666–677 | DOI | MR

[3] M. Diaz, Petri nets: fundamental models, verification and applications, ISTE Ltd, UK, 2009 | MR | Zbl

[4] A. I. Legalov, “About computation control in parallel system and programming languages”, Nauchiy Vestnik NGTU, 18:3 (2004), 63–72 (In Russian)

[5] A. I. Legalov, V. S. Vasiliev, I. V. Matkovsky, “Changing computing management strategies for architecture-independent parallel programming”, Proceedings of the XIX All-Russian Scientific Conference “Scientific Service on the Internet”, 2017, 341–350 (In Russian)

[6] A. V. Redkin, A. I. Legalov, “Event based control of computations for functional dataflow programming”, Scientific Bulletin of Novosibirsk State Technical University, 32:3 (2008), 111–120 (In Russian)

[7] A. I. Legalov, A. V. Redkin, I. V. Matkovsky, “Data driven functional parallel programming with data coming asynchronously”, Parallel Computing Technologiws (PCT’2009), 2009, 573–578 (In Russian)

[8] A. I. Legalov, I. A. Legalov, I. V. Matkovsky, “Specifics of semantics of a statically typed language of functional and dataflow parallel programming”, Scientific conference “Scientific Service on the Internet”, 2019, 489–500 | DOI

[9] A. I. Legalov, “Functional language for architecture-independent programming”, Computation technologies, 10:1 (2005), 71–89 (In Russian) | Zbl