skip to main content
10.1145/1772954.1772992acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
research-article

An adaptive task creation strategy for work-stealing scheduling

Published: 24 April 2010 Publication History

Abstract

Work-stealing is a key technique in many multi-threading programming languages to get good load balancing. The current work-stealing techniques have a high implementation overhead in some applications and require a large amount of memory space for data copying to assure correctness. They also cannot handle many application programs that have an unbalanced call tree or have no definitive working sets.
In this paper, we propose a new adaptive task creation strategy, called AdaptiveTC, which supports effective work-stealing schemes and also handles the above mentioned problems effectively. As shown in some experimental results, AdaptiveTC runs 2.71x faster than Cilk and 1.72x faster than Tascell for the 16-queen problem with 8 threads.

References

[1]
OpenMP Application Program Interface. Version 3.0, 2008.
[2]
E. Ayguade, A. Duran, J. Hoeflinger, F. Massaioli, and X. Teruel. An Experimental Evaluation of the New OpenMP Tasking Model. In the 20th International Workshop on Languages and Compilers for Parallel Computing, pages 63--77, 2007.
[3]
Robert D. Blumofe and Charles E. Leiserson. Scheduling multithreaded computations by work stealing. Journal of the ACM, 46(5): 720C--748, 1999.
[4]
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. Cilk: an efficient multithreaded runtime system. In the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 207--216, 1995.
[5]
Philippe Charles, Christian Grothoff, Vijay A. Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. X10: an object-oriented approach to nonuniform cluster computing. In the Twentieth Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA, pages 519--538, 2005.
[6]
David Chase and Yossi Lev. Dynamic circular work-stealing d-eque. In the seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA, pages 21C--28, 2005.
[7]
Shimin Chen, Phillip B. Gibbons, Michael Kozuch, Vasileios Liaskovitis, Anastassia Ailamaki, Guy E. Blelloch, Babak Falsofi, Limor Fix, Nikos Hardavellas, Tod C. Mowry, and Chris Wilkerson. Scheduling Threads for Constructive Cache Sharing on CMPs. In the nineteenth annual ACM symposium on Parallel algorithms and architectures, SPAA, pages 105--115, 2007.
[8]
Guojing Cong, Sreedhar Kodali, Sriram Krishnamoorthy, Doug Lea, Vijay Saraswat, and Tong Wen. Solving large, irregular graph problems using adaptive work-stealing. In the 2008 37th International Conference on Parallel Processing, pages 536--545, 2008.
[9]
Alejandro Duran, Julita Corbaln, and Eduard Ayguad. Evaluation of Openmp Task Scheduling Strategies. In the 4th International Workshop on OpenMP, IWOMP, pages 100--110, 2008.
[10]
Matteo Frigo, Charles E. Leiserson, and Keith H. Randall. The implementation of the cilk-5 multithreaded language. In the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI, pages 212C--223, 1998.
[11]
Supercomputing Technologies Group. Cilk 5.4.6 Reference Manual. Massachusetts Institute of Technology, Laboratory for Computer Science, Cambridge, Massachusetts, USA.
[12]
Yi Guo, Jisheng Zhao, Vincent Cave, and Vivek Sarkar. Slaw: a scalable locality-aware adaptive work--stealing scheduler. In the 24th IEEE International Parallel and Distributed Processing Symposium, IPDPS, 2010. (To appear).
[13]
Tasuku Hiraishi, Masahiro Yasugi, Seiji Umatani, and Taiichi Yuasa. Backtracking-based Load Balancing. In the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 55--64, 2009.
[14]
Hans Wolfgang Loidl, Kevin Hammond, Hans Wolfgang, and Loidl Kevin Hammond. On the Granularity of Divide-and-Conquer Parallelism. In Glasgow Workshop on Functional Programming, 1995.
[15]
Maged M. Michael, Martin T. Vechev, and Vijay A. Saraswat. Idempotent Work Stealing. In the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 45--54, 2009.
[16]
Eric Mohr, David A. Kranz, and Jr Robert H. Halstead. Lazy task creation: A technique for increasing the granularity of parallel programs. IEEE Transactions on Parallel and Distributed Systems, 2(3):264C--280, 1991.

Cited By

View all
  • (2021)Work-stealing Strategies That Consider Work Amount and HierarchyJournal of Information Processing10.2197/ipsjjip.29.47829(478-489)Online publication date: 2021
  • (2021)A self‐adjusting task granularity mechanism for the Java lifeline‐based global load balancer library on many‐core clustersConcurrency and Computation: Practice and Experience10.1002/cpe.622434:2Online publication date: 18-Feb-2021
  • (2020)Self-adjusting task granularity for Global load balancer library on clusters of many-core processorsProceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3380536.3380539(1-10)Online publication date: 22-Feb-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '10: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
April 2010
300 pages
ISBN:9781605586359
DOI:10.1145/1772954
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS uArch

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 April 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive
  2. backtracking search
  3. task granularity
  4. work-stealing

Qualifiers

  • Research-article

Conference

CGO '10

Acceptance Rates

Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Work-stealing Strategies That Consider Work Amount and HierarchyJournal of Information Processing10.2197/ipsjjip.29.47829(478-489)Online publication date: 2021
  • (2021)A self‐adjusting task granularity mechanism for the Java lifeline‐based global load balancer library on many‐core clustersConcurrency and Computation: Practice and Experience10.1002/cpe.622434:2Online publication date: 18-Feb-2021
  • (2020)Self-adjusting task granularity for Global load balancer library on clusters of many-core processorsProceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3380536.3380539(1-10)Online publication date: 22-Feb-2020
  • (2020)Efficiently Supporting Dynamic Task Parallelism on Heterogeneous Cache-Coherent Systems2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA45697.2020.00025(173-186)Online publication date: May-2020
  • (2019)Extending a Work-Stealing Framework with Priorities and Weights2019 IEEE/ACM 9th Workshop on Irregular Applications: Architectures and Algorithms (IA3)10.1109/IA349570.2019.00008(9-16)Online publication date: Nov-2019
  • (2019)Probabilistic guardsParallel Computing10.1016/j.parco.2018.06.00382:C(19-36)Online publication date: 1-Feb-2019
  • (2018)Scheduling Parallel Computations by Work StealingInternational Journal of Parallel Programming10.1007/s10766-016-0484-846:2(173-197)Online publication date: 1-Apr-2018
  • (2018)Accelerating Data Analytics on Integrated GPU Platforms via Runtime SpecializationInternational Journal of Parallel Programming10.1007/s10766-016-0482-x46:2(336-375)Online publication date: 1-Apr-2018
  • (2017)Understanding and overcoming parallelism bottlenecks in ForkJoin applicationsProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155657(765-775)Online publication date: 30-Oct-2017
  • (2017)Understanding and overcoming parallelism bottlenecks in ForkJoin applications2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115687(765-775)Online publication date: Oct-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media