Skip to main content
Log in

Dynamic scheduling in distributed transactional memory

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We investigate scheduling algorithms for distributed transactional memory systems where transactions residing at nodes of a communication graph operate on shared, mobile objects. A transaction requests the objects it needs, executes once those objects have been assembled, and then sends the objects to other waiting transactions. We study scheduling algorithms with provable performance guarantees. Previously, only the offline batch scheduling setting was considered in the literature where transactions are known a priori. Minimizing execution time, even for the offline batch scheduling, is known to be NP-hard for arbitrary communication graphs. In this paper, we analyze for the very first time scheduling algorithms in the online dynamic scheduling setting where transactions are not known a priori and the transactions may arrive online over time. We provide efficient and near-optimal execution time schedules for dynamic scheduling in many specialized network architectures. The core of our technique is a method to convert offline schedules to online. We first describe a centralized scheduler which we then adapt to a purely distributed scheduler. To our knowledge, these are the first attempts to obtain provably efficient online execution schedules for distributed transactional memory.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Aguilera, Marcos K., Malkhi, Dahlia., Marzullo, Keith., Panconesi, Alessandro., Pelc, Andrzej., Wattenhofer, Roger.: Announcing the 2012 Edsger W. Dijkstra prize in distributed computing. SIGARCH Computer Architecture News, 40(4):1–2, 2012

  2. Attiya, H.: Lower bounds and impossibility results for transactional memory computing. Bull. EATCS 112 (2014)

  3. Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. Algorithmica 57(1), 44–61 (2010)

    Article  MathSciNet  Google Scholar 

  4. Bocchino, R.L., Adve, V.S., Bradford, L.: Chamberlain. Software transactional memory for large scale clusters. In: PPoPP, pp. 247–258 (2008)

  5. Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Fast scheduling in distributed transactional memory. In: SPAA, pp. 173–182 (2017)

  6. Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Time-communication impossibility results for distributed transactional memory. Distrib. Comput. 31(6), 471–487 (2018)

    Article  MathSciNet  Google Scholar 

  7. Cain, H.W., Michael, M.M., Frey, B., May, C., Williams, D., Le Hung, Q.: Robust architectural support for transactional memory in the POWER architecture. In: ISCA, pp. 225–236 (2013)

  8. Chan, M.Y.: Embedding of D-dimensional grids into optimal hypercubes. In: SPAA, pp. 52–57 (1989)

  9. Couceiro, M., Romano, P., Carvalho, N., Rodrigues, L.: D2STM: dependable distributed software transactional memory. In: PRDC, pp. 307–313 (2009)

  10. Dragojević, A., Guerraoui, R., Singh, A.V., Singh V.: Preventing versus curing: avoiding conflicts in transactional memories. In: PODC, pp. 7–16 (2009)

  11. Dubois, M., Annavaram, M., Stenstrm, P.: Parallel Computer Organization and Design. Cambridge University Press, New York (2012)

    Book  Google Scholar 

  12. Fung, W.W.L., Singh, I.., Brownsword, A., Aamodt, T.M.: Hardware transactional memory for GPU architectures. In: MICRO, pp. 296–307 (2011)

  13. Gonzalez-Mesa, M.A., Gutiérrez, E., Zapata, E.L., Plata, O.: Effective transactional memory execution management for improved concurrency. ACM Trans. Archit. Code Optim. 11(3), 24:1-24:27 (2014)

    Article  Google Scholar 

  14. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC, pp. 258–264 (2005)

  15. Gupta, A., Hajiaghayi, M.T., Räcke, H.: Oblivious network design. In: SODA, pp. 970–979 (2006)

  16. Haring, R., Ohmacht, M., Fox, T., Gschwind, M., Satterfield, D., Sugavanam, K., Coteus, P., Heidelberger, P., Blumrich, M., Wisniewski, R., Gara, A., Chiu, G., Boyle, P., Chist, N., Kim, C.: The IBM blue gene/Q compute chip. IEEE Micro 32(2), 48–60 (2012)

    Article  Google Scholar 

  17. Hendler, D., Naiman, A., Peluso, S., Quaglia, F., Romano, P., Suissa, A.: Exploiting locality in lease-based replicated transactional memory via task migration. In: DISC, pp. 121–133 (2013)

  18. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)

  19. Herlihy, M., Sun, Y.: Distributed transactional memory for metric-space networks. Distrib. Comput. 20(3), 195–208 (2007)

    Article  Google Scholar 

  20. Intel. http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell (2012)

  21. Irving, S., Chen, S., Peng, L., Busch, C., Herlihy, M., Michael, C.J.: CUDA-DTM: distributed transactional memory for GPU clusters. In: NETYS, pp. 183–199 (2019)

  22. Kim, J., Ravindran, B.: Scheduling transactions in replicated distributed software transactional memory. In: CCGrid, pp. 227–234 (2013)

  23. Kim, J., Ravindran, B.: On transactional scheduling in distributed transactional memory systems. In: SSS, pp. 347–361 (2010)

  24. Kotselidis, C., Ansari, M., Jarvis, K., Lujan, M., Kirkham, C., Watson, I.: DiSTM: a software transactional memory framework for clusters. In: ICPP, pp 51–58 (2008)

  25. Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Array, Trees, Hypercubes. Morgan Kaufmann Publishers Inc., San Francisco (1992)

    MATH  Google Scholar 

  26. Manassiev, K., Mihailescu, M., Amza, C.: Exploiting distributed version concurrency in a transactional memory cluster. In: PPoPP, pp. 198–208 (2006)

  27. Michalewicz, M., Orlowski, L., Deng, Y.: Creating interconnect topologies by algorithmic edge removal: MOD and SMOD graphs. Supercomput. Front. Innov. Int. J. 2(4), 16–47 (2015)

    Google Scholar 

  28. Nakaike, T., Odaira, R., Gaudet, M., Michael, M.M., Tomari, H.: Quantitative comparison of hardware transactional memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8. In: ISCA, pp. 144–157 (2015)

  29. Palmieri, R., Peluso, S., Ravindran, B.: Transaction Execution Models in Partially Replicated Transactional Memory: The Case for Data-Flow and Control-Flow, pp. 341–366. Springer, Cham (2015)

    Google Scholar 

  30. Pasricha, S., Dutt, N.: On-Chip Communication Architectures: System on Chip Interconnect. Morgan Kaufmann Publishers Inc., Burlington (2008)

    Google Scholar 

  31. Poudel, P., Rai, S., Sharma, G.: Processing distributed transactions in a predefined order. In: ICDCN, pp. 215–224 (2021)

  32. Romano, P., Palmieri, R., Quaglia, F., Carvalho, N., Rodrigues, L.: On speculative replication of transactional systems. J. Comput. Syst. Sci. 80(1), 257–276 (2014)

    Article  MathSciNet  Google Scholar 

  33. Saad, M.M., Kishi, M.J., Jing, S., Hans, S., Palmieri, R.: Processing transactions in a predefined order. In: PPoPP, pp. 120–132 (2019)

  34. Saad, M.M., Ravindran, B..: Snake: control flow distributed software transactional memory. In: SSS, pp. 238–252 (2011)

  35. Sharma, G., Busch, C.: Window-based greedy contention management for transactional memory: theory and practice. Distrib. Comput. 25(3), 225–248 (2012)

    Article  Google Scholar 

  36. Sharma, G., Busch, C.: Distributed transactional memory for general networks. Distrib. Comput. 27(5), 329–362 (2014)

    Article  MathSciNet  Google Scholar 

  37. Shavit, N., Touitou, D.: Software transactional memory. Distrib. Comput. 10(2), 99–116 (1997)

    Article  Google Scholar 

  38. Zhang, B., Ravindran, B. Relay: a cache-coherence protocol for distributed transactional memory. In: OPODIS, pp. 48–53 (2009)

  39. Zhang, B., Ravindran, B., Palmieri, R.: Distributed transactional contention management as the traveling salesman problem. In: SIROCCO, pp. 54–67 (2014)

Download references

Acknowledgements

M. Popovic is supported by the Ministry of Education, Science and Technology Development of Republic of Serbia Grant 451-03-68/2020-14/200156. G. Sharma is supported by the National Science Foundation Grants CCF-1936450 and CNS-2045597.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Costas Busch.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version of the paper appears in the Proceedings of the 34th International Parallel and Distributed Processing Symposium (IPDPS 2020), pp. 874–883, New Orleans, Louisiana, May 2020.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Busch, C., Herlihy, M., Popovic, M. et al. Dynamic scheduling in distributed transactional memory. Distrib. Comput. 35, 19–36 (2022). https://doi.org/10.1007/s00446-021-00410-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-021-00410-w

Keywords

Navigation