Loading…
Backtracking-based Load Balancing
High-productivity languages for parallel computing become more important as parallel environments including multicores become more common. Cilk is such a language. It provides good load balancing for many applications including irregular ones; that is, it keeps all workers busy by creating plenty of...
Saved in:
Published in: | ACM SIGPLAN notices 2009-02, Vol.44 (4), p.55-64 |
---|---|
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-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283 |
---|---|
cites | cdi_FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283 |
container_end_page | 64 |
container_issue | 4 |
container_start_page | 55 |
container_title | ACM SIGPLAN notices |
container_volume | 44 |
creator | HIRAISHI, Tasuku YASUGI, Masahiro UMATANI, Seiji YUASA, Taiichi |
description | High-productivity languages for parallel computing become more important as parallel environments including multicores become more common. Cilk is such a language. It provides good load balancing for many applications including irregular ones; that is, it keeps all workers busy by creating plenty of "logical" threads and adopting the oldest-first work stealing strategy. This paper proposes a "logical thread"-free framework called
Tascell
, which achieves a higher performance and supports a wider range of parallel environments including clusters without loss of productivity. A Tascell worker spawns a "real" task only when requested by another idle worker. The worker performs the spawning by temporarily "backtracking" and restoring its oldest task-spawnable state. Our approach eliminates the cost of spawning/managing logical threads. It also promotes the reuse of workspaces and improves the locality of reference since it does not need to prepare a workspace for each concurrently runnable logical thread. Furthermore, Tascell enables elegant and highly-efficient backtrack search algorithms with delayed workspace copying. For instance, our 16-queens problem solver is 1.86 times faster than Cilk on a system with two dual-core processors. Our approach also enables a single program to run in both shared and distributed memory environments with reasonable efficiency and scalability. |
doi_str_mv | 10.1145/1594835.1504187 |
format | article |
fullrecord | <record><control><sourceid>pascalfrancis_cross</sourceid><recordid>TN_cdi_pascalfrancis_primary_21947409</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>21947409</sourcerecordid><originalsourceid>FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283</originalsourceid><addsrcrecordid>eNo9j01LAzEQhoMoWKtnr_XgMW0m3zna4hcseNFzmM1mpLq2JenFf-8uXbzMDAPPy_swdgtiCaDNCkzQXpklGKHBuzM2A2M8B7DifLyl4tJbd8muav0SAjw4OWN3a0zfxzKM7e6Tt1hzt2j22C3W2OMuDc9rdkHY13wz7Tn7eHp837zw5u35dfPQ8KScP_IObMoyZCRlPFpNOhO10qXQiRQyeOMCBZVbSxK0wxYsaZBdIKlsK72as9UpN5V9rSVTPJTtD5bfCCKOhnEyjJPhQNyfiAPWhD2VsXD9xyQE7bQI6g_jxU61</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Backtracking-based Load Balancing</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>HIRAISHI, Tasuku ; YASUGI, Masahiro ; UMATANI, Seiji ; YUASA, Taiichi</creator><creatorcontrib>HIRAISHI, Tasuku ; YASUGI, Masahiro ; UMATANI, Seiji ; YUASA, Taiichi</creatorcontrib><description>High-productivity languages for parallel computing become more important as parallel environments including multicores become more common. Cilk is such a language. It provides good load balancing for many applications including irregular ones; that is, it keeps all workers busy by creating plenty of "logical" threads and adopting the oldest-first work stealing strategy. This paper proposes a "logical thread"-free framework called
Tascell
, which achieves a higher performance and supports a wider range of parallel environments including clusters without loss of productivity. A Tascell worker spawns a "real" task only when requested by another idle worker. The worker performs the spawning by temporarily "backtracking" and restoring its oldest task-spawnable state. Our approach eliminates the cost of spawning/managing logical threads. It also promotes the reuse of workspaces and improves the locality of reference since it does not need to prepare a workspace for each concurrently runnable logical thread. Furthermore, Tascell enables elegant and highly-efficient backtrack search algorithms with delayed workspace copying. For instance, our 16-queens problem solver is 1.86 times faster than Cilk on a system with two dual-core processors. Our approach also enables a single program to run in both shared and distributed memory environments with reasonable efficiency and scalability.</description><identifier>ISSN: 1523-2867</identifier><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/1594835.1504187</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Computer systems and distributed systems. User interface ; Exact sciences and technology ; Information systems. Data bases ; Memory organisation. Data processing ; Software</subject><ispartof>ACM SIGPLAN notices, 2009-02, Vol.44 (4), p.55-64</ispartof><rights>2015 INIST-CNRS</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283</citedby><cites>FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,780,784,789,790,23930,23931,25140,27925</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=21947409$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>HIRAISHI, Tasuku</creatorcontrib><creatorcontrib>YASUGI, Masahiro</creatorcontrib><creatorcontrib>UMATANI, Seiji</creatorcontrib><creatorcontrib>YUASA, Taiichi</creatorcontrib><title>Backtracking-based Load Balancing</title><title>ACM SIGPLAN notices</title><description>High-productivity languages for parallel computing become more important as parallel environments including multicores become more common. Cilk is such a language. It provides good load balancing for many applications including irregular ones; that is, it keeps all workers busy by creating plenty of "logical" threads and adopting the oldest-first work stealing strategy. This paper proposes a "logical thread"-free framework called
Tascell
, which achieves a higher performance and supports a wider range of parallel environments including clusters without loss of productivity. A Tascell worker spawns a "real" task only when requested by another idle worker. The worker performs the spawning by temporarily "backtracking" and restoring its oldest task-spawnable state. Our approach eliminates the cost of spawning/managing logical threads. It also promotes the reuse of workspaces and improves the locality of reference since it does not need to prepare a workspace for each concurrently runnable logical thread. Furthermore, Tascell enables elegant and highly-efficient backtrack search algorithms with delayed workspace copying. For instance, our 16-queens problem solver is 1.86 times faster than Cilk on a system with two dual-core processors. Our approach also enables a single program to run in both shared and distributed memory environments with reasonable efficiency and scalability.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Computer systems and distributed systems. User interface</subject><subject>Exact sciences and technology</subject><subject>Information systems. Data bases</subject><subject>Memory organisation. Data processing</subject><subject>Software</subject><issn>1523-2867</issn><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2009</creationdate><recordtype>article</recordtype><recordid>eNo9j01LAzEQhoMoWKtnr_XgMW0m3zna4hcseNFzmM1mpLq2JenFf-8uXbzMDAPPy_swdgtiCaDNCkzQXpklGKHBuzM2A2M8B7DifLyl4tJbd8muav0SAjw4OWN3a0zfxzKM7e6Tt1hzt2j22C3W2OMuDc9rdkHY13wz7Tn7eHp837zw5u35dfPQ8KScP_IObMoyZCRlPFpNOhO10qXQiRQyeOMCBZVbSxK0wxYsaZBdIKlsK72as9UpN5V9rSVTPJTtD5bfCCKOhnEyjJPhQNyfiAPWhD2VsXD9xyQE7bQI6g_jxU61</recordid><startdate>20090214</startdate><enddate>20090214</enddate><creator>HIRAISHI, Tasuku</creator><creator>YASUGI, Masahiro</creator><creator>UMATANI, Seiji</creator><creator>YUASA, Taiichi</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20090214</creationdate><title>Backtracking-based Load Balancing</title><author>HIRAISHI, Tasuku ; YASUGI, Masahiro ; UMATANI, Seiji ; YUASA, Taiichi</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Computer systems and distributed systems. User interface</topic><topic>Exact sciences and technology</topic><topic>Information systems. Data bases</topic><topic>Memory organisation. Data processing</topic><topic>Software</topic><toplevel>online_resources</toplevel><creatorcontrib>HIRAISHI, Tasuku</creatorcontrib><creatorcontrib>YASUGI, Masahiro</creatorcontrib><creatorcontrib>UMATANI, Seiji</creatorcontrib><creatorcontrib>YUASA, Taiichi</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><jtitle>ACM SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>HIRAISHI, Tasuku</au><au>YASUGI, Masahiro</au><au>UMATANI, Seiji</au><au>YUASA, Taiichi</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Backtracking-based Load Balancing</atitle><jtitle>ACM SIGPLAN notices</jtitle><date>2009-02-14</date><risdate>2009</risdate><volume>44</volume><issue>4</issue><spage>55</spage><epage>64</epage><pages>55-64</pages><issn>1523-2867</issn><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>High-productivity languages for parallel computing become more important as parallel environments including multicores become more common. Cilk is such a language. It provides good load balancing for many applications including irregular ones; that is, it keeps all workers busy by creating plenty of "logical" threads and adopting the oldest-first work stealing strategy. This paper proposes a "logical thread"-free framework called
Tascell
, which achieves a higher performance and supports a wider range of parallel environments including clusters without loss of productivity. A Tascell worker spawns a "real" task only when requested by another idle worker. The worker performs the spawning by temporarily "backtracking" and restoring its oldest task-spawnable state. Our approach eliminates the cost of spawning/managing logical threads. It also promotes the reuse of workspaces and improves the locality of reference since it does not need to prepare a workspace for each concurrently runnable logical thread. Furthermore, Tascell enables elegant and highly-efficient backtrack search algorithms with delayed workspace copying. For instance, our 16-queens problem solver is 1.86 times faster than Cilk on a system with two dual-core processors. Our approach also enables a single program to run in both shared and distributed memory environments with reasonable efficiency and scalability.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1594835.1504187</doi><tpages>10</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1523-2867 |
ispartof | ACM SIGPLAN notices, 2009-02, Vol.44 (4), p.55-64 |
issn | 1523-2867 0362-1340 1558-1160 |
language | eng |
recordid | cdi_pascalfrancis_primary_21947409 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list) |
subjects | Applied sciences Computer science control theory systems Computer systems and distributed systems. User interface Exact sciences and technology Information systems. Data bases Memory organisation. Data processing Software |
title | Backtracking-based Load Balancing |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T02%3A02%3A04IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-pascalfrancis_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Backtracking-based%20Load%20Balancing&rft.jtitle=ACM%20SIGPLAN%20notices&rft.au=HIRAISHI,%20Tasuku&rft.date=2009-02-14&rft.volume=44&rft.issue=4&rft.spage=55&rft.epage=64&rft.pages=55-64&rft.issn=1523-2867&rft.eissn=1558-1160&rft_id=info:doi/10.1145/1594835.1504187&rft_dat=%3Cpascalfrancis_cross%3E21947409%3C/pascalfrancis_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c378t-d16ce29eaf358a64f4effb27c9d0c9e18579f93eb6f2147ab16f412d9f236b283%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |