Loading…

Optimizing layer-based scheduling algorithms for parallel tasks with dependencies

Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homog...

Full description

Saved in:
Bibliographic Details
Published in:Concurrency and computation 2011-06, Vol.23 (8), p.827-849
Main Authors: Kunis, R., Rünger, G.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3
cites cdi_FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3
container_end_page 849
container_issue 8
container_start_page 827
container_title Concurrency and computation
container_volume 23
creator Kunis, R.
Rünger, G.
description Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homogeneous target platforms that build consecutive layers of independent parallel tasks and schedule each layer separately. Although these scheduling algorithms provide good results in terms of scheduling algorithm runtime and schedule execution time, the resulting schedules leave room for optimization. This article proposes an optimization for arbitrary layer‐based scheduling algorithms, which is called Move‐blocks algorithm. Given a layer‐based schedule of the parallel tasks, this algorithm moves blocks of parallel tasks into preceding layers in order to reduce the overall execution time of a task‐based application. Suitable blocks of parallel tasks are identified by the algorithm Find‐blocks, which is employed together with the Move‐blocks algorithm. The algorithm Move‐blocks is applied to four well‐known scheduling algorithms. A detailed evaluation for a wide range of test cases is given. Copyright © 2010 John Wiley & Sons, Ltd.
doi_str_mv 10.1002/cpe.1674
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_896170881</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>896170881</sourcerecordid><originalsourceid>FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3</originalsourceid><addsrcrecordid>eNp90M9LwzAUwPEiCs4p-Cf0ppfOpEmT9Khjm8JwigOPIW1et7j0h0nHnH-9HZOJBz3lkffhHb5BcInRACMU3-QNDDDj9Cjo4YTEEWKEHh_mmJ0GZ96_IYQxIrgXPM-a1pTm01SL0KotuChTHnTo8yXotd19K7uonWmXpQ-L2oWNcspasGGr_MqHm24Tamig0lDlBvx5cFIo6-Hi--0H8_FoPryPprPJw_B2GuWECRrFKQUQiBJMtCCZ1iJRmqiYJrHWBWVcQEoFzTVoksQqwwxjzhGjWZpqpEg_uNqfbVz9vgbfytL4HKxVFdRrL0XKMEdC4E5e_ysxJ6grQ9L0h-au9t5BIRtnSuW2EiO5yyu7vHKXt6PRnm6Mhe2fTg6fRr-98S18HLxyK8k44Yl8fZzIuzElfPwylZx8AdPXinU</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1730062399</pqid></control><display><type>article</type><title>Optimizing layer-based scheduling algorithms for parallel tasks with dependencies</title><source>Wiley-Blackwell Read &amp; Publish Collection</source><creator>Kunis, R. ; Rünger, G.</creator><creatorcontrib>Kunis, R. ; Rünger, G.</creatorcontrib><description>Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homogeneous target platforms that build consecutive layers of independent parallel tasks and schedule each layer separately. Although these scheduling algorithms provide good results in terms of scheduling algorithm runtime and schedule execution time, the resulting schedules leave room for optimization. This article proposes an optimization for arbitrary layer‐based scheduling algorithms, which is called Move‐blocks algorithm. Given a layer‐based schedule of the parallel tasks, this algorithm moves blocks of parallel tasks into preceding layers in order to reduce the overall execution time of a task‐based application. Suitable blocks of parallel tasks are identified by the algorithm Find‐blocks, which is employed together with the Move‐blocks algorithm. The algorithm Move‐blocks is applied to four well‐known scheduling algorithms. A detailed evaluation for a wide range of test cases is given. Copyright © 2010 John Wiley &amp; Sons, Ltd.</description><identifier>ISSN: 1532-0626</identifier><identifier>ISSN: 1532-0634</identifier><identifier>EISSN: 1532-0634</identifier><identifier>DOI: 10.1002/cpe.1674</identifier><language>eng</language><publisher>Chichester, UK: John Wiley &amp; Sons, Ltd</publisher><subject>Algorithms ; Concurrency ; Construction ; distributed memory ; homogeneous platform ; Optimization ; optimization algorithm ; parallel tasks with dependencies ; Programming ; Schedules ; Scheduling ; task scheduling ; Tasks</subject><ispartof>Concurrency and computation, 2011-06, Vol.23 (8), p.827-849</ispartof><rights>Copyright © 2010 John Wiley &amp; Sons, Ltd.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3</citedby><cites>FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Kunis, R.</creatorcontrib><creatorcontrib>Rünger, G.</creatorcontrib><title>Optimizing layer-based scheduling algorithms for parallel tasks with dependencies</title><title>Concurrency and computation</title><addtitle>Concurrency Computat.: Pract. Exper</addtitle><description>Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homogeneous target platforms that build consecutive layers of independent parallel tasks and schedule each layer separately. Although these scheduling algorithms provide good results in terms of scheduling algorithm runtime and schedule execution time, the resulting schedules leave room for optimization. This article proposes an optimization for arbitrary layer‐based scheduling algorithms, which is called Move‐blocks algorithm. Given a layer‐based schedule of the parallel tasks, this algorithm moves blocks of parallel tasks into preceding layers in order to reduce the overall execution time of a task‐based application. Suitable blocks of parallel tasks are identified by the algorithm Find‐blocks, which is employed together with the Move‐blocks algorithm. The algorithm Move‐blocks is applied to four well‐known scheduling algorithms. A detailed evaluation for a wide range of test cases is given. Copyright © 2010 John Wiley &amp; Sons, Ltd.</description><subject>Algorithms</subject><subject>Concurrency</subject><subject>Construction</subject><subject>distributed memory</subject><subject>homogeneous platform</subject><subject>Optimization</subject><subject>optimization algorithm</subject><subject>parallel tasks with dependencies</subject><subject>Programming</subject><subject>Schedules</subject><subject>Scheduling</subject><subject>task scheduling</subject><subject>Tasks</subject><issn>1532-0626</issn><issn>1532-0634</issn><issn>1532-0634</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2011</creationdate><recordtype>article</recordtype><recordid>eNp90M9LwzAUwPEiCs4p-Cf0ppfOpEmT9Khjm8JwigOPIW1et7j0h0nHnH-9HZOJBz3lkffhHb5BcInRACMU3-QNDDDj9Cjo4YTEEWKEHh_mmJ0GZ96_IYQxIrgXPM-a1pTm01SL0KotuChTHnTo8yXotd19K7uonWmXpQ-L2oWNcspasGGr_MqHm24Tamig0lDlBvx5cFIo6-Hi--0H8_FoPryPprPJw_B2GuWECRrFKQUQiBJMtCCZ1iJRmqiYJrHWBWVcQEoFzTVoksQqwwxjzhGjWZpqpEg_uNqfbVz9vgbfytL4HKxVFdRrL0XKMEdC4E5e_ysxJ6grQ9L0h-au9t5BIRtnSuW2EiO5yyu7vHKXt6PRnm6Mhe2fTg6fRr-98S18HLxyK8k44Yl8fZzIuzElfPwylZx8AdPXinU</recordid><startdate>20110610</startdate><enddate>20110610</enddate><creator>Kunis, R.</creator><creator>Rünger, G.</creator><general>John Wiley &amp; Sons, Ltd</general><scope>BSCLL</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20110610</creationdate><title>Optimizing layer-based scheduling algorithms for parallel tasks with dependencies</title><author>Kunis, R. ; Rünger, G.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2011</creationdate><topic>Algorithms</topic><topic>Concurrency</topic><topic>Construction</topic><topic>distributed memory</topic><topic>homogeneous platform</topic><topic>Optimization</topic><topic>optimization algorithm</topic><topic>parallel tasks with dependencies</topic><topic>Programming</topic><topic>Schedules</topic><topic>Scheduling</topic><topic>task scheduling</topic><topic>Tasks</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Kunis, R.</creatorcontrib><creatorcontrib>Rünger, G.</creatorcontrib><collection>Istex</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Concurrency and computation</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Kunis, R.</au><au>Rünger, G.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Optimizing layer-based scheduling algorithms for parallel tasks with dependencies</atitle><jtitle>Concurrency and computation</jtitle><addtitle>Concurrency Computat.: Pract. Exper</addtitle><date>2011-06-10</date><risdate>2011</risdate><volume>23</volume><issue>8</issue><spage>827</spage><epage>849</epage><pages>827-849</pages><issn>1532-0626</issn><issn>1532-0634</issn><eissn>1532-0634</eissn><abstract>Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homogeneous target platforms that build consecutive layers of independent parallel tasks and schedule each layer separately. Although these scheduling algorithms provide good results in terms of scheduling algorithm runtime and schedule execution time, the resulting schedules leave room for optimization. This article proposes an optimization for arbitrary layer‐based scheduling algorithms, which is called Move‐blocks algorithm. Given a layer‐based schedule of the parallel tasks, this algorithm moves blocks of parallel tasks into preceding layers in order to reduce the overall execution time of a task‐based application. Suitable blocks of parallel tasks are identified by the algorithm Find‐blocks, which is employed together with the Move‐blocks algorithm. The algorithm Move‐blocks is applied to four well‐known scheduling algorithms. A detailed evaluation for a wide range of test cases is given. Copyright © 2010 John Wiley &amp; Sons, Ltd.</abstract><cop>Chichester, UK</cop><pub>John Wiley &amp; Sons, Ltd</pub><doi>10.1002/cpe.1674</doi><tpages>23</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1532-0626
ispartof Concurrency and computation, 2011-06, Vol.23 (8), p.827-849
issn 1532-0626
1532-0634
1532-0634
language eng
recordid cdi_proquest_miscellaneous_896170881
source Wiley-Blackwell Read & Publish Collection
subjects Algorithms
Concurrency
Construction
distributed memory
homogeneous platform
Optimization
optimization algorithm
parallel tasks with dependencies
Programming
Schedules
Scheduling
task scheduling
Tasks
title Optimizing layer-based scheduling algorithms for parallel tasks with dependencies
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-31T21%3A54%3A00IST&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=Optimizing%20layer-based%20scheduling%20algorithms%20for%20parallel%20tasks%20with%20dependencies&rft.jtitle=Concurrency%20and%20computation&rft.au=Kunis,%20R.&rft.date=2011-06-10&rft.volume=23&rft.issue=8&rft.spage=827&rft.epage=849&rft.pages=827-849&rft.issn=1532-0626&rft.eissn=1532-0634&rft_id=info:doi/10.1002/cpe.1674&rft_dat=%3Cproquest_cross%3E896170881%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c3684-294ee804313d83bdd85ad3a2452ddf4678e9484cded352ab161177064b99d0a3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=1730062399&rft_id=info:pmid/&rfr_iscdi=true