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...
Main Authors: | , |
---|---|
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 |