Skip to main content
Log in

Fast Scheduling in Distributed Transactional Memory

  • Published:
Theory of Computing Systems 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 possibly forwards those objects to other waiting transactions. Minimizing execution time in this model is known to be NP-hard for arbitrary communication graphs, and also hard to approximate within any factor smaller than the size of the graph. Nevertheless, networks on chips, multi-core systems, and clusters are not arbitrary. Here, we explore efficient execution schedules in specialized graphs likely to arise in practice: Clique, Line, Grid, Cluster, Hypercube, Butterfly, and Star. In most cases, when individual transactions request k objects, we obtain solutions close to a factor O(k) from optimal, yielding near-optimal solutions for constant k. These execution times approximate the TSP tour lengths of the objects in the graph. We show that for general networks, even for two objects (k = 2), it is impossible to obtain execution time close to the objects’ optimal TSP tour lengths, which is why it is useful to consider more realistic network models. To our knowledge, this is the first attempt to obtain provably fast 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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

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

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

  3. Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Impossibility results for distributed transactional memory. In: PODC, pp. 207–215 (2015)

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

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

  6. Casanova, H., Legrand, A., Robert, Y.: Parallel Algorithms. Chapman & Hall/CRC, 1st edn (2008)

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

  8. Costa, P., Ballani, H., Razavi, K., Kash, I.: R2c2: A network stack for rack-scale computers. In: SIGCOMM, pp. 551–564 (2015)

  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. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC, pp. 258–264 (2005)

  14. 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, vol. 32 (2012)

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

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

  17. Herlihy, M., Ye, S.: Distributed transactional memory for metric-space networks. Distrib. Comput. 20(3), 195–208 (2007)

    Article  Google Scholar 

  18. Scherer, W.N. III, Scott, ML: Advanced contention management for dynamic software transactional memory. In: PODC, pp. 240–248 (2005)

  19. Intel. http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell, 2012

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

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

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

    MATH  Google Scholar 

  23. Li, D., Wu, J., Liu, Z., Zhang, F.: Towards the tradeoffs in designing data center network architectures. IEEE Trans. Parallel Distrib. Syst. 28(1), 260–273 (2017)

    Article  Google Scholar 

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

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

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

  27. Palmieri, R., Peluso, S., Ravindran, B.: Transaction execution models in partially replicated transactional memory: The case for data-flow and control-flow. In: Transactional Memory, pp. 341–366. Springer (2015)

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

    Google Scholar 

  29. Peluso, S., Ruivo, P., Romano, P., Quaglia, F., Rodrigues, L.: When scalability meets consistency: genuine multiversion update-serializable partial data replication. In: ICDCS, pp. 455–465 (2012)

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

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

  32. Sharma, G., Busch, C.: A competitive analysis for balanced transactional memory workloads. Algorithmica 63(1–2), 296–322 (2012)

    Article  MathSciNet  Google Scholar 

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

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

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  36. Yoo, R.M., Lee, H.S.: Adaptive transaction scheduling for transactional memory systems. In: SPAA, pp. 169–178 (2008)

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

Download references

Acknowledgments

This work is supported by the National Science Foundation grants 1320835, 1420673, and 1936450 and partly supported by the Serbian Ministry of Education & Science, through grants No. III 44009, and TR 32031.

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 this paper appears in the Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 173-182, Washington, DC, USA, July 2017 [4] .

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. Fast Scheduling in Distributed Transactional Memory. Theory Comput Syst 65, 296–322 (2021). https://doi.org/10.1007/s00224-020-10008-7

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-020-10008-7

Keywords

Navigation