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.
Similar content being viewed by others
References
Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. Algorithmica 57 (1), 44–61 (2010)
Bocchino, R.L., Adve, V.S., Chamberlain, B.L.: Software transactional memory for large scale clusters. In: In: PPoPP, pp. 247–258, (2008)
Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Impossibility results for distributed transactional memory. In: PODC, pp. 207–215 (2015)
Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Fast scheduling in distributed transactional memory. In: SPAA, pp. 173–182 (2017)
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)
Casanova, H., Legrand, A., Robert, Y.: Parallel Algorithms. Chapman & Hall/CRC, 1st edn (2008)
Chan, M.Y.: Embedding of D-Dimensional grids into optimal hypercubes. In: SPAA, pp. 52–57 (1989)
Costa, P., Ballani, H., Razavi, K., Kash, I.: R2c2: A network stack for rack-scale computers. In: SIGCOMM, pp. 551–564 (2015)
Couceiro, M., Romano, P., Carvalho, N., Rodrigues, L.: D2stm: Dependable distributed software transactional memory. In: PRDC, pp. 307–313 (2009)
Dragojević, A., Guerraoui, R., Singh, A.V., Singh, V.: Preventing versus curing: Avoiding conflicts in transactional memories. In: PODC, pp. 7–16 (2009)
Dubois, M., Annavaram, M., Stenstrm, P.: Parallel Computer Organization and Design. Cambridge University Press, New York (2012)
Fung, W.W.L., Singh, I., Brownsword, A., Aamodt, T.M.: Hardware transactional memory for Gpu architectures. In: MICRO, pp. 296–307 (2011)
Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC, pp. 258–264 (2005)
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)
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)
Herlihy, M., Eliot, J, Moss, B: Transactional memory: Architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)
Herlihy, M., Ye, S.: Distributed transactional memory for metric-space networks. Distrib. Comput. 20(3), 195–208 (2007)
Scherer, W.N. III, Scott, ML: Advanced contention management for dynamic software transactional memory. In: PODC, pp. 240–248 (2005)
Intel. http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell, 2012
Kim, J., Ravindran, B.: Scheduling transactions in replicated distributed software transactional memory. In: CCGrid, pp. 227–234 (2013)
Kim, J., Ravindran, B.: On transactional scheduling in distributed transactional memory systems. In: SSS, pp. 347–361 (2010)
Thomson Leighton, F.: Introduction to Parallel Algorithms and Architectures: Array, Trees, Hypercubes. Morgan Kaufmann Publishers Inc., San Francisco (1992)
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)
Manassiev, K., Mihailescu, M., Amza, C.: Exploiting distributed version concurrency in a transactional memory cluster. In: PPoPP, pp. 198–208 (2006)
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)
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)
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)
Pasricha, S., Dutt, N.: On-Chip Communication Architectures: System on Chip Interconnect. Morgan Kaufmann Publishers Inc., San Francisco (2008)
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)
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)
Saad, M.M., Ravindran, B.: Snake: Control flow distributed software transactional memory. In: SSS, pp. 238–252 (2011)
Sharma, G., Busch, C.: A competitive analysis for balanced transactional memory workloads. Algorithmica 63(1–2), 296–322 (2012)
Sharma, G., Busch, C.: Window-based greedy contention management for transactional memory: Theory and practice. Distrib. Comput. 25(3), 225–248 (2012)
Sharma, G., Busch, C.: Distributed transactional memory for general networks. Distrib. Comput. 27(5), 329–362 (2014)
Shavit, N., Touitou, D.: Software transactional memory. Distrib. Comput. 10(2), 99–116 (1997)
Yoo, R.M., Lee, H.S.: Adaptive transaction scheduling for transactional memory systems. In: SPAA, pp. 169–178 (2008)
Zhang, B., Ravindran, B., Palmieri, R.: Distributed transactional contention management as the traveling salesman problem. In: SIROCCO, pp. 54–67 (2014)
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
Corresponding author
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
About this article
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
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-020-10008-7