Advertisement

LCD: Local Combining on Demand

  • Dana Drachsler-Cohen
  • Erez Petrank
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8878)

Abstract

Combining methods are highly effective for implementing concurrent queues and stacks. These data structures induce a heavy competition on one or two contention points. However, it was not known whether combining methods could be made effective for parallel scalable data structures that do not have a small number of contention points. In this paper, we introduce local combining on-demand, a new combining method for highly parallel data structures. The main idea is to apply combining locally for resources on which threads contend. We demonstrate the use of local combining on-demand on the common linked-list data structure. Measurements show that the obtained linked-list induces a low overhead when contention is low and outperforms other known implementations by up to 40% when contention is high.

Keywords

Concurrent Data-Structures Multiprocessors Synchronization 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bar-Nissan, G., Hendler, D., Suissa, A.: A dynamic elimination-combining stack algorithm. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 544–561. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Bronson, N.: The flat combining project, http://mcg.cs.tau.ac.il/projects/flat-combining
  3. 3.
    Budovsky, V.: Combining techniques application for tree search structures, m.sc. thesis. Tel-Aviv University, Israel (2010)Google Scholar
  4. 4.
    Craig, T.: Building fifo and priority-queuing spin locks from atomic swap. Technical Report TR 93-02-02, University of Washington, Dept. of Computer Science (1993)Google Scholar
  5. 5.
    Dice, D., Marathe, V.J., Shavit, N.: Flat-combining numa locks. In: Proceedings of the Twenty-third Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2011, San Jose, California, USA, pp. 65–74. ACM, New York (2011)Google Scholar
  6. 6.
    Dice, D., Marathe, V.J., Shavit, N.: Lock cohorting: A general technique for designing numa locks. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2012, New Orleans, Louisiana, USA, pp. 247–256. ACM, New York (2012)Google Scholar
  7. 7.
    Fatourou, P., Kallimanis, N.D.: Revisiting the Combining Synchronization Technique. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2012, New Orleans, Louisiana, USA, pp. 257–266. ACM, New York (2012)Google Scholar
  8. 8.
    Fomitchev, M., Ruppert, E.: Lock-free Linked Lists and Skip Lists. In: Proceedings of the Twenty-third Annual ACM Symposium on Principles of Distributed Computing, PODC 2004, St. John’s, Newfoundland, Canada, pp. 50–59. ACM, New York (2004)CrossRefGoogle Scholar
  9. 9.
    Gupta, R., Hill, C.R.: A Scalable Implementation of Barrier Synchronization Using an Adaptive Combining Tree. International Journal of Parallel Programming 18(3), 161–180 (1990)CrossRefGoogle Scholar
  10. 10.
    Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: Welch, J. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Heller, S., Herlihy, M.P., Luchangco, V., Moir, M., Scherer III, W.N., Shavit, N.N.: A lazy concurrent list-based set algorithm. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 3–16. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat Combining and the Synchronization-parallelism Tradeoff. In: Proceedings of the Twenty-second Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2010, Thira, Santorini, Greece, pp. 355–364. ACM, New York (2010)Google Scholar
  13. 13.
    Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Scalable flat-combining based synchronous queues. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 79–93. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Herlihy, M., Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann Publishers Inc., San Francisco (2008)Google Scholar
  15. 15.
    Herlihy, M.P., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12, 463–492 (1990)CrossRefGoogle Scholar
  16. 16.
    Mellor-Crummey, J.M., Scott, M.L.: Algorithms for Scalable Synchronization on Shared-memory Multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)CrossRefGoogle Scholar
  17. 17.
    Oyama, Y., Taura, K., Yonezawa, A.: Executing parallel programs with synchronization bottlenecks efficiently. In: Proceedings of International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications, PDSIA 1999, pp. 182–204 (July 1999)Google Scholar
  18. 18.
    Shavit, N., Zemach, A.: Combining Funnels: A Dynamic Approach to Software Combining. J. Parallel Distrib. Comput. 60(11), 1355–1387 (2000)CrossRefzbMATHGoogle Scholar
  19. 19.
    Shavit, N., Zemach, A.: Diffracting Trees. ACM Trans. Comput. Syst. 14(4), 385–428 (1996)CrossRefGoogle Scholar
  20. 20.
    Valois, J.D.: Lock-free Linked Lists Using Compare-and-swap. In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1995, Ottowa, Ontario, Canada, pp. 214–222. ACM, New York (1995)CrossRefGoogle Scholar
  21. 21.
    Yew, P.-C., Tzeng, N.-F., Lawrie, D.H.: Distributing Hot-Spot Addressing in Large-Scale Multiprocessors. IEEE Trans. Comput. 36(4), 388–395 (1987)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Dana Drachsler-Cohen
    • 1
  • Erez Petrank
    • 1
  1. 1.Computer Science DepartmentTechnionIsrael

Personalised recommendations