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...

Full description

Saved in:
Bibliographic Details
Published in:ACM SIGPLAN notices 2009-02, Vol.44 (4), p.55-64
Main Authors: HIRAISHI, Tasuku, YASUGI, Masahiro, UMATANI, Seiji, YUASA, Taiichi
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&amp;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