Parallelization of Implementations of Purely Sequential Algorithms

The work is dedicated to the parallelization of programs in especially difficult cases when the used algorithm is purely sequential, there are no parallel alternatives to this algorithm, and its execution time is unacceptably high. Various parallelization methods for software implementations of such...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Programming and computer software 2019-12, Vol.45 (7), p.381-389
Hauptverfasser: Bugerya, A. B., Kim, E. S., Solovev, M. A.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 389
container_issue 7
container_start_page 381
container_title Programming and computer software
container_volume 45
creator Bugerya, A. B.
Kim, E. S.
Solovev, M. A.
description The work is dedicated to the parallelization of programs in especially difficult cases when the used algorithm is purely sequential, there are no parallel alternatives to this algorithm, and its execution time is unacceptably high. Various parallelization methods for software implementations of such algorithms and resulting computational load balancing are considered that make it possible to considerably accelerate the execution of application programs using purely sequential algorithms. The proposed methods are illustrated with examples of their application to two algorithms used in a dynamic binary code analysis toolset. The main goal of this paper is to show that the use of a purely sequential algorithm in a software implementation does not necessarily imply that its execution is inevitably sequential. The proposed methods of parallelizing implementations of such algorithms and balancing the resulting computational load can help develop efficient parallel programs that fully utilize the hardware capabilities of modern computers.
doi_str_mv 10.1134/S0361768819070053
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2918579998</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2918579998</sourcerecordid><originalsourceid>FETCH-LOGICAL-c316t-80396dbaf8de0bb0ffd002f9ffd1179ca9c6e3eb92e58bece091285bbffda2813</originalsourceid><addsrcrecordid>eNp1UE1Lw0AQXUTBWv0B3gKeozO7TbJ7rMWPQsFC9Rx209masknqbnqov96NFTyIpwfva4bH2DXCLaKY3K1A5FjkUqKCAiATJ2yEOchU8BxP2WiQ00E_ZxchbAEQYDIZsful9to5cvWn7uuuTTqbzJudo4ba_psJA7Xce3KHZEUf-8jX2iVTt-l83b834ZKdWe0CXf3gmL09PrzOntPFy9N8Nl2klcC8TyUIla-NtnJNYAxYuwbgVkVELFSlVZWTIKM4ZdJQRaCQy8yYaNBcohizm2PvznfxjdCX227v23iy5AplViilZHTh0VX5LgRPttz5utH-UCKUw1Tln6lihh8zIXrbDfnf5v9DX1JbbDA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918579998</pqid></control><display><type>article</type><title>Parallelization of Implementations of Purely Sequential Algorithms</title><source>SpringerLink Journals</source><source>ProQuest Central</source><creator>Bugerya, A. B. ; Kim, E. S. ; Solovev, M. A.</creator><creatorcontrib>Bugerya, A. B. ; Kim, E. S. ; Solovev, M. A.</creatorcontrib><description>The work is dedicated to the parallelization of programs in especially difficult cases when the used algorithm is purely sequential, there are no parallel alternatives to this algorithm, and its execution time is unacceptably high. Various parallelization methods for software implementations of such algorithms and resulting computational load balancing are considered that make it possible to considerably accelerate the execution of application programs using purely sequential algorithms. The proposed methods are illustrated with examples of their application to two algorithms used in a dynamic binary code analysis toolset. The main goal of this paper is to show that the use of a purely sequential algorithm in a software implementation does not necessarily imply that its execution is inevitably sequential. The proposed methods of parallelizing implementations of such algorithms and balancing the resulting computational load can help develop efficient parallel programs that fully utilize the hardware capabilities of modern computers.</description><identifier>ISSN: 0361-7688</identifier><identifier>EISSN: 1608-3261</identifier><identifier>DOI: 10.1134/S0361768819070053</identifier><language>eng</language><publisher>Moscow: Pleiades Publishing</publisher><subject>Algorithms ; Artificial Intelligence ; Binary codes ; Computer Science ; Computers ; Decomposition ; Operating Systems ; Parallel programming ; Software ; Software Engineering ; Software Engineering/Programming and Operating Systems</subject><ispartof>Programming and computer software, 2019-12, Vol.45 (7), p.381-389</ispartof><rights>Pleiades Publishing, Ltd. 2019</rights><rights>Pleiades Publishing, Ltd. 2019.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c316t-80396dbaf8de0bb0ffd002f9ffd1179ca9c6e3eb92e58bece091285bbffda2813</citedby><cites>FETCH-LOGICAL-c316t-80396dbaf8de0bb0ffd002f9ffd1179ca9c6e3eb92e58bece091285bbffda2813</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1134/S0361768819070053$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://www.proquest.com/docview/2918579998?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,776,780,21367,27901,27902,33721,41464,42533,43781,51294</link.rule.ids></links><search><creatorcontrib>Bugerya, A. B.</creatorcontrib><creatorcontrib>Kim, E. S.</creatorcontrib><creatorcontrib>Solovev, M. A.</creatorcontrib><title>Parallelization of Implementations of Purely Sequential Algorithms</title><title>Programming and computer software</title><addtitle>Program Comput Soft</addtitle><description>The work is dedicated to the parallelization of programs in especially difficult cases when the used algorithm is purely sequential, there are no parallel alternatives to this algorithm, and its execution time is unacceptably high. Various parallelization methods for software implementations of such algorithms and resulting computational load balancing are considered that make it possible to considerably accelerate the execution of application programs using purely sequential algorithms. The proposed methods are illustrated with examples of their application to two algorithms used in a dynamic binary code analysis toolset. The main goal of this paper is to show that the use of a purely sequential algorithm in a software implementation does not necessarily imply that its execution is inevitably sequential. The proposed methods of parallelizing implementations of such algorithms and balancing the resulting computational load can help develop efficient parallel programs that fully utilize the hardware capabilities of modern computers.</description><subject>Algorithms</subject><subject>Artificial Intelligence</subject><subject>Binary codes</subject><subject>Computer Science</subject><subject>Computers</subject><subject>Decomposition</subject><subject>Operating Systems</subject><subject>Parallel programming</subject><subject>Software</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><issn>0361-7688</issn><issn>1608-3261</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNp1UE1Lw0AQXUTBWv0B3gKeozO7TbJ7rMWPQsFC9Rx209masknqbnqov96NFTyIpwfva4bH2DXCLaKY3K1A5FjkUqKCAiATJ2yEOchU8BxP2WiQ00E_ZxchbAEQYDIZsful9to5cvWn7uuuTTqbzJudo4ba_psJA7Xce3KHZEUf-8jX2iVTt-l83b834ZKdWe0CXf3gmL09PrzOntPFy9N8Nl2klcC8TyUIla-NtnJNYAxYuwbgVkVELFSlVZWTIKM4ZdJQRaCQy8yYaNBcohizm2PvznfxjdCX227v23iy5AplViilZHTh0VX5LgRPttz5utH-UCKUw1Tln6lihh8zIXrbDfnf5v9DX1JbbDA</recordid><startdate>20191201</startdate><enddate>20191201</enddate><creator>Bugerya, A. B.</creator><creator>Kim, E. S.</creator><creator>Solovev, M. A.</creator><general>Pleiades Publishing</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>8FE</scope><scope>8FG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope></search><sort><creationdate>20191201</creationdate><title>Parallelization of Implementations of Purely Sequential Algorithms</title><author>Bugerya, A. B. ; Kim, E. S. ; Solovev, M. A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c316t-80396dbaf8de0bb0ffd002f9ffd1179ca9c6e3eb92e58bece091285bbffda2813</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>Algorithms</topic><topic>Artificial Intelligence</topic><topic>Binary codes</topic><topic>Computer Science</topic><topic>Computers</topic><topic>Decomposition</topic><topic>Operating Systems</topic><topic>Parallel programming</topic><topic>Software</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Bugerya, A. B.</creatorcontrib><creatorcontrib>Kim, E. S.</creatorcontrib><creatorcontrib>Solovev, M. A.</creatorcontrib><collection>CrossRef</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><jtitle>Programming and computer software</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bugerya, A. B.</au><au>Kim, E. S.</au><au>Solovev, M. A.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Parallelization of Implementations of Purely Sequential Algorithms</atitle><jtitle>Programming and computer software</jtitle><stitle>Program Comput Soft</stitle><date>2019-12-01</date><risdate>2019</risdate><volume>45</volume><issue>7</issue><spage>381</spage><epage>389</epage><pages>381-389</pages><issn>0361-7688</issn><eissn>1608-3261</eissn><abstract>The work is dedicated to the parallelization of programs in especially difficult cases when the used algorithm is purely sequential, there are no parallel alternatives to this algorithm, and its execution time is unacceptably high. Various parallelization methods for software implementations of such algorithms and resulting computational load balancing are considered that make it possible to considerably accelerate the execution of application programs using purely sequential algorithms. The proposed methods are illustrated with examples of their application to two algorithms used in a dynamic binary code analysis toolset. The main goal of this paper is to show that the use of a purely sequential algorithm in a software implementation does not necessarily imply that its execution is inevitably sequential. The proposed methods of parallelizing implementations of such algorithms and balancing the resulting computational load can help develop efficient parallel programs that fully utilize the hardware capabilities of modern computers.</abstract><cop>Moscow</cop><pub>Pleiades Publishing</pub><doi>10.1134/S0361768819070053</doi><tpages>9</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0361-7688
ispartof Programming and computer software, 2019-12, Vol.45 (7), p.381-389
issn 0361-7688
1608-3261
language eng
recordid cdi_proquest_journals_2918579998
source SpringerLink Journals; ProQuest Central
subjects Algorithms
Artificial Intelligence
Binary codes
Computer Science
Computers
Decomposition
Operating Systems
Parallel programming
Software
Software Engineering
Software Engineering/Programming and Operating Systems
title Parallelization of Implementations of Purely Sequential Algorithms
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-10T04%3A22%3A13IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Parallelization%20of%20Implementations%20of%20Purely%20Sequential%20Algorithms&rft.jtitle=Programming%20and%20computer%20software&rft.au=Bugerya,%20A.%20B.&rft.date=2019-12-01&rft.volume=45&rft.issue=7&rft.spage=381&rft.epage=389&rft.pages=381-389&rft.issn=0361-7688&rft.eissn=1608-3261&rft_id=info:doi/10.1134/S0361768819070053&rft_dat=%3Cproquest_cross%3E2918579998%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2918579998&rft_id=info:pmid/&rfr_iscdi=true