Advertisement

Lobachevskii Journal of Mathematics

, Volume 40, Issue 11, pp 1763–1770 | Cite as

The Models and Methods of Optimal Control of Three Work-Stealing Deques Located in a Shared Memory

  • E. A. AksenovaEmail author
  • E. A. BarkovskyEmail author
  • A. V. SokolovEmail author
Article
  • 3 Downloads

Abstract

“Work-stealing” is one of the most common methods of parallel task balancing. In this method, each core (processor) has a buffer of its tasks—a double-ended queue called “deque”. A core (processor) use one end of the deque to add new tasks or to take already available to execute them. The second end of the deque is accessible by other cores (processors), which have become empty and can intercept tasks—this is the mechanism of “work-stealing”. Algorithms and techniques for the high-performance big data processing are becoming increasingly sought after not only for storing databases but also for the proper handling of big data from a variety of domains such as science and engineering. Models and algorithms of optimal control of large deques belong to this area of research. The goal of this work is to develop, analyze and compare the models and methods of control of work-stealing deques in limited shared memory. For the case of three deques, the following control methods will be discussed: 1. Each of the three deques is located in its separate memory area; 2. Three deques move one after another in a circle; 3. Combined method—two deques are located one after another, one separately. To solve the posed problems, controlled random walks and simulation modeling were used.

Keywords and phrases

data structures Monte Carlo methods random walks work-stealing deques 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

Funding

This work was supported by the Russian Foundation for Basic Research, grant 18-01-00125-a.

References

  1. 1.
    R. D. Blumofe and C. E. Leiserson, “Scheduling multithreaded computations by work stealing,” J. ACM, No. 46, 720–748 (1999).MathSciNetCrossRefGoogle Scholar
  2. 2.
    M. Herlihy and N. Shavit, The Art of Multiprocessor Programming (Elsevier, Amsterdam, 2008).Google Scholar
  3. 3.
    R. D. Blumofe, C. F. Joerg, B. C. Kuszmaul, C. E. Leiserson, K. H. Randall, and Y. Zhou, “Cilk: an efficient multithreaded runtime system,” J. Parallel Distrib. Comput. 37, 55–69 (1996).CrossRefGoogle Scholar
  4. 4.
    D. Leijen, W. Schulte, and S. Burckhardt, “The design of a task parallel library,” ACM SIGPLAN Notices—OOPSLA’09 44 (10), 227–242 (2009).CrossRefGoogle Scholar
  5. 5.
    O. Tardieu, H. Wang, and H. Lin, “A work-stealing scheduler for X10’s task parallelism with suspension,” ACM SIGPLAN Notices—PPOPP’12 47 (8), 267–276 (2012).CrossRefGoogle Scholar
  6. 6.
    D. Knuth, The Art of Computer Programming (Addison-Wesley, Reading, MA, 2001), Vol. 1.Google Scholar
  7. 7.
    D. Hendlerand N. Shavit, “Non-blocking steal-half work queues,” ACM Symp. Principles Distrib. Comput., No. 46, 280–289 (2002).zbMATHGoogle Scholar
  8. 8.
    A. V. Sokolov and A. V. Drac, “The linked list representation of n LIFO-stacks and/or FIFO-queues in the single-level memory,” Inform. Process. Lett. 13, 832–835 (2013).MathSciNetCrossRefGoogle Scholar
  9. 9.
    E. A. Aksenova, A. A. Lazutina, and A. V. Sokolov, “On optimal methods for representing dynamic data structures,” Obozr. Prikl. Promyshl. Mat. 10, 375–376 (2003).Google Scholar
  10. 10.
    D. Hendler, Y. Lev, M. Moir, and N. Shavit, “A dynamic-sized nonblocking work stealing deque,” Distrib. Comput. 18, 189–207 (2006).CrossRefGoogle Scholar
  11. 11.
    M. Mitzenmacher, “Analyses of load stealing models based on differential equations,” in Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (1998), pp. 212–221.Google Scholar
  12. 12.
    R. Kuchumov, A. Sokolov, and V. Korkhov, “Staccato: Cache-aware work-stealing task scheduler for shared-memory systems,” Lect. Notes Comput. Sci. 10963, 91–102 (2018).MathSciNetCrossRefGoogle Scholar
  13. 13.
    D. Chase and Y. Lev, “Dynamic circular work-stealing deque,” in Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (2005), pp. 21–28.Google Scholar
  14. 14.
    A. V. Sokolov and E. A. Barkovsky, “The mathematical model and the problem of optimal partitioning of shared memory for work-stealing deques,” Lect. Notes Comput. Sci. 9251, 102–106 (2015).CrossRefGoogle Scholar
  15. 15.
    E. A. Aksenova and A. V. Sokolov, “Modeling of the memory management process for dynamic work-stealing schedulers,” in IEEE Proceedings of the 2017 Ivannikov ISP RAS Open Conference (2018), pp. 12–15.Google Scholar
  16. 16.
    S. Mattheis, T. Schuele, A. Raabe, T. Henties, and U. Gleim, “Work stealing strategies for parallel stream processing in soft real-time systems,” Lect. Notes Comput. Sci. 7179, 172–183 (2012).CrossRefGoogle Scholar
  17. 17.
    E. A. Barkovsky and A. V. Sokolov, “Method for managing computer system memory,” RF Patent No. 2647627 (2018).Google Scholar
  18. 18.
    E. Barkovsky, A. Lazutina, and A. Sokolov, “The optimal control of two work-stealing deques, moving one after another in a shared memory,” Program Syst: Theory Appl. 10, 19–32 (2019).Google Scholar

Copyright information

© Pleiades Publishing, Ltd. 2019

Authors and Affiliations

  1. 1.Institute of Applied Mathematical Research of the Karelian Research Centre of the Russian Academy of SciencesPetrozavodskRussia
  2. 2.Small Innovative Enterprise OOO ArvataPetrozavodskRussia

Personalised recommendations