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...
Saved in:
Published in: | Concurrency and computation 2011-06, Vol.23 (8), p.827-849 |
---|---|
Main Authors: | , |
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 & 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 & 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 & 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 & 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 & 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 & 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 & Sons, Ltd.</abstract><cop>Chichester, UK</cop><pub>John Wiley & 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 |