The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms

The paper proposes a method for writing parallel algorithms. Our goal was to make a detailed description of concurrency while carrying no dependencies in programming language or underlying parallel architecture. We also wanted the description to be algorithmic, so simple for the programmer. The goal...

Full description

Bibliographic Details
Main Authors: Sergey Vostokin, Irina Bobyleva
Format: Article
Language:Russian
Published: The Fund for Promotion of Internet media, IT education, human development «League Internet Media» 2020-05-01
Series:Современные информационные технологии и IT-образование
Subjects:
Online Access:http://sitito.cs.msu.ru/index.php/SITITO/article/view/617
id doaj-b009168fdbd2494b804ea7d38f7576a1
record_format Article
spelling doaj-b009168fdbd2494b804ea7d38f7576a12021-08-06T14:24:54ZrusThe Fund for Promotion of Internet media, IT education, human development «League Internet Media»Современные информационные технологии и IT-образование2411-14732020-05-01161647110.25559/SITITO.16.202001.64-71The Use of Algorithmic Skeletons to Design Actor-Based Parallel AlgorithmsSergey Vostokin0https://orcid.org/0000-0001-8106-6893Irina Bobyleva1https://orcid.org/0000-0001-5660-3503Samara National Research University named after academician S.P. KorolevSamara National Research University named after academician S.P. Korolev, Joint Stock Company Space Rocket Center ProgressThe paper proposes a method for writing parallel algorithms. Our goal was to make a detailed description of concurrency while carrying no dependencies in programming language or underlying parallel architecture. We also wanted the description to be algorithmic, so simple for the programmer. The goal was achieved by adapting Cole's algorithmic skeletons to represent the structure and Hewitt’s actor model to represent the semantics of parallel algorithms. We used a sorting algorithm to show the idea of the method. To get parallel sorting, one should parallelize the code that controls the order of comparison-swap operations. It is obvious, that the parallelization will be the same for algorithms with different comparison-swap operations. The design method consists in writing algorithms in a form with known parallelization. Consequently, the form of an algorithm presents concurrency. For a more general form than in the sorting example, we used an algorithmic interpretation of the actor model. Based on the algorithmic interpretation of the actor model, we described a parallel computational process of the sorting algorithm. The algorithmic interpretation of the actor model distinguishes our method from functional and object-oriented approaches. It also makes code portable, and does not require synchronization and communication primitives. Only one skeleton is used instead of the skeleton system in Cole's method. The features of the method ensure its applicability in the design of many-task and workflow applications. The method confirms its efficiency for a wide class of parallel architectures ranges from single multiprocessor to hybrid cloud systems.http://sitito.cs.msu.ru/index.php/SITITO/article/view/617parallel computing modelalgorithmic skeletonparallel algorithmactor modelwork-flowmany-task computing
collection DOAJ
language Russian
format Article
sources DOAJ
author Sergey Vostokin
Irina Bobyleva
spellingShingle Sergey Vostokin
Irina Bobyleva
The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
Современные информационные технологии и IT-образование
parallel computing model
algorithmic skeleton
parallel algorithm
actor model
work-flow
many-task computing
author_facet Sergey Vostokin
Irina Bobyleva
author_sort Sergey Vostokin
title The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
title_short The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
title_full The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
title_fullStr The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
title_full_unstemmed The Use of Algorithmic Skeletons to Design Actor-Based Parallel Algorithms
title_sort use of algorithmic skeletons to design actor-based parallel algorithms
publisher The Fund for Promotion of Internet media, IT education, human development «League Internet Media»
series Современные информационные технологии и IT-образование
issn 2411-1473
publishDate 2020-05-01
description The paper proposes a method for writing parallel algorithms. Our goal was to make a detailed description of concurrency while carrying no dependencies in programming language or underlying parallel architecture. We also wanted the description to be algorithmic, so simple for the programmer. The goal was achieved by adapting Cole's algorithmic skeletons to represent the structure and Hewitt’s actor model to represent the semantics of parallel algorithms. We used a sorting algorithm to show the idea of the method. To get parallel sorting, one should parallelize the code that controls the order of comparison-swap operations. It is obvious, that the parallelization will be the same for algorithms with different comparison-swap operations. The design method consists in writing algorithms in a form with known parallelization. Consequently, the form of an algorithm presents concurrency. For a more general form than in the sorting example, we used an algorithmic interpretation of the actor model. Based on the algorithmic interpretation of the actor model, we described a parallel computational process of the sorting algorithm. The algorithmic interpretation of the actor model distinguishes our method from functional and object-oriented approaches. It also makes code portable, and does not require synchronization and communication primitives. Only one skeleton is used instead of the skeleton system in Cole's method. The features of the method ensure its applicability in the design of many-task and workflow applications. The method confirms its efficiency for a wide class of parallel architectures ranges from single multiprocessor to hybrid cloud systems.
topic parallel computing model
algorithmic skeleton
parallel algorithm
actor model
work-flow
many-task computing
url http://sitito.cs.msu.ru/index.php/SITITO/article/view/617
work_keys_str_mv AT sergeyvostokin theuseofalgorithmicskeletonstodesignactorbasedparallelalgorithms
AT irinabobyleva theuseofalgorithmicskeletonstodesignactorbasedparallelalgorithms
AT sergeyvostokin useofalgorithmicskeletonstodesignactorbasedparallelalgorithms
AT irinabobyleva useofalgorithmicskeletonstodesignactorbasedparallelalgorithms
_version_ 1721219084182355968