Skip to main content
Log in

Time-communication impossibility results for distributed transactional memory

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We consider scheduling problems in the data flow model of distributed transactional memory. Objects shared by transactions move from one network node to another by following network paths. We examine how the objects’ transfer in the network affects the completion time of all transactions and the total communication cost. We show that there are problem instances for which there is no scheduling algorithm that can simultaneously minimize the completion time and communication cost. These instances reveal a trade-off, minimizing execution time implies high communication cost and vice versa. On the positive side, we provide scheduling algorithms which are independently communication cost near-optimal or execution time efficient.

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
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. Scheduling in TM is also called contention management as it is related to handling transaction conflicts appropriately to optimize performance metrics of interest.

  2. A scheduling algorithm is work conserving if it always runs a maximal set of non-conflicting transactions.

  3. When a node is assumed to execute multiple threads then scheduling techniques widely studied for (tightly-coupled) multi-core systems can be used in each node to improve scheduling performance and the trade-off results are obtained only considering the transactions executing in different nodes.

  4. A similar observation for NP-hardness was made in [42] in the context of execution time with transactions that use only one shared object in which case the execution time and communication cost optimality coincide.

References

  1. Aguilera, M.K., Malkhi, D., Marzullo, K., Panconesi, A., Pelc, A., Wattenhofer, R.: Announcing the 2012 Edsger W. Dijkstra prize in distributed computing. SIGARCH Comput. Archit. News 40(4), 1–2 (2012)

    Article  Google Scholar 

  2. Ansari, M., Luján, M., Kotselidis, C., Jarvis, K., Kirkham, C.C., Watson, I.: Steal-on-abort: improving transactional memory performance through dynamic transaction reordering. In: HiPEAC, pp. 4–18 (2009)

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

    MathSciNet  Google Scholar 

  4. 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  MATH  Google Scholar 

  5. Attiya, H., Gramoli, V., Milani, A.: Directory protocols for distributed transactional memory. In: Guerraoui, R., Romano, P. (eds.) Transactional Memory, Volume 8913 of Lecture Notes in Computer Science, pp. 367–391. Springer, New York (2015)

    Google Scholar 

  6. Attiya, H., Milani, A.: Transactional scheduling for read-dominated workloads. J. Parallel Distrib. Comput. 72(10), 1386–1396 (2012)

    Article  MATH  Google Scholar 

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

  8. Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Brief announcement: scheduling multiple objects in distributed transactional memory. In: DISC, pp. 538–539 (2014)

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

  10. Fahmy, S.F., Ravindran, B., Jensen, E.D.: Response time analysis of software transactional memory-based distributed real-time systems. In: Proceedings of the 2009 ACM Symposium on Applied Computing, SAC ’09, pp. 334–338. ACM, New York (2009)

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

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

  13. Hajiaghayi, M.T., Kleinberg, R., Leighton, T.: Improved lower and upper bounds for universal TSP in planar metrics. In: SODA, pp. 649–658 (2006)

  14. Haring, R., Ohmacht, M., Fox, T., Gschwind, M., Satterfield, D., Sugavanam, K., Coteus, P., Heidelberger, P., Blumrich, M., Wisniewski, R., Chiu, G., 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 

  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., Moss, J.E.B: Transactional memory: architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)

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

    Article  MATH  Google Scholar 

  18. Hirve, S., Palmieri, R., Ravindran, B.: Archie: a speculative replicated transactional system. In: Middleware, pp. 265–276 (2014)

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

  20. Jia, L., Lin, G., Noubir, G., Rajaraman, R., Sundaram, R.: Universal approximations for TSP, Steiner tree, and set cover. In: STOC, pp. 386–395 (2005)

  21. Keidar, I., Perelman, D.: Multi-versioning in transactional memory. In: Guerraoui, R., Romano, P. (eds.) Transactional Memory, Volume 8913 of Lecture Notes in Computer Science, pp. 150–165. Springer, New York (2015)

    Google Scholar 

  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., Luján, M., Kirkham, C., Watson, I.: DiSTM: a software transactional memory framework for clusters. In: ICPP, pp. 51–58 (2008)

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

  26. Palmieri, R., Peluso, S., Ravindran, B.: Transaction execution models in partially replicated transactional memory: the case for data-flow and control-flow. In: Guerraoui, R., Romano, P. (eds.) Transactional Memory, Volume 8913 Lecture Notes in Computer Science, pp. 341–366. Springer, New York (2015)

    Google Scholar 

  27. Palmieri, R., Quaglia, F., Romano, P.: ASAP: an aggressive speculative protocol for actively replicated transactional systems. In: NCA, pp. 203–211 (2012)

  28. Peluso, S., Romano, P., Quaglia, F.: Score: a scalable one-copy serializable partial replication protocol. In: Middleware, pp. 456–475 (2012)

  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  MATH  Google Scholar 

  31. Romano, P., Rodrigues, L., Carvalho, N., Cachopo, J.: Cloud-TM: harnessing the cloud with distributed transactional memories. ACM SIGOPS Oper. Syst. Rev. 44(2), 1–6 (2010)

    Article  Google Scholar 

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

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

  34. Schneider, J., Wattenhofer, R.: Bounds on contention management algorithms. Theor. Comput. Sci. 412(32), 4151–4160 (2011)

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

  39. Wang, A., Gaudet, M., Wu, P., Amaral, J.N., Ohmacht, M., Barton, C., Silvera, R., Michael, M.: Evaluation of Blue Gene/Q hardware support for transactional memories. In: PACT, pp. 127–136 (2012)

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

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

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

  43. Zuckerman, D.: Linear degree extractors and the inapproximability of max clique and chromatic number. Theory Comput. 3(1), 103–128 (2007)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Costas Busch.

Additional information

A preliminary version of the paper appears in the Proceedings of the 34th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 207–215, July 21–23, 2015, Donostia-San Sebastián, Spain 2015.

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. Time-communication impossibility results for distributed transactional memory. Distrib. Comput. 31, 471–487 (2018). https://doi.org/10.1007/s00446-017-0318-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-017-0318-y

Keywords

Navigation