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.
Similar content being viewed by others
References
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
Attiya, H.: Lower bounds and impossibility results for transactional memory computing. Bull. EATCS 112 (2014)
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., Bradford, L.: Chamberlain. Software transactional memory for large scale clusters. In: PPoPP, pp. 247–258 (2008)
Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Fast scheduling in distributed transactional memory. In: SPAA, pp. 173–182 (2017)
Busch, C., Herlihy, M., Popovic, M., Sharma, G.: Time-communication impossibility results for distributed transactional memory. Distrib. Comput. 31(6), 471–487 (2018)
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)
Chan, M.Y.: Embedding of D-dimensional grids into optimal hypercubes. In: SPAA, pp. 52–57 (1989)
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)
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)
Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC, pp. 258–264 (2005)
Gupta, A., Hajiaghayi, M.T., Räcke, H.: Oblivious network design. In: SODA, pp. 970–979 (2006)
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)
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., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)
Herlihy, M., Sun, Y.: Distributed transactional memory for metric-space networks. Distrib. Comput. 20(3), 195–208 (2007)
Intel. http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell (2012)
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)
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)
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)
Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Array, Trees, Hypercubes. Morgan Kaufmann Publishers Inc., San Francisco (1992)
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, pp. 341–366. Springer, Cham (2015)
Pasricha, S., Dutt, N.: On-Chip Communication Architectures: System on Chip Interconnect. Morgan Kaufmann Publishers Inc., Burlington (2008)
Poudel, P., Rai, S., Sharma, G.: Processing distributed transactions in a predefined order. In: ICDCN, pp. 215–224 (2021)
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., Kishi, M.J., Jing, S., Hans, S., Palmieri, R.: Processing transactions in a predefined order. In: PPoPP, pp. 120–132 (2019)
Saad, M.M., Ravindran, B..: Snake: control flow distributed software transactional memory. In: SSS, pp. 238–252 (2011)
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)
Zhang, B., Ravindran, B. Relay: a cache-coherence protocol for distributed transactional memory. In: OPODIS, pp. 48–53 (2009)
Zhang, B., Ravindran, B., Palmieri, R.: Distributed transactional contention management as the traveling salesman problem. In: SIROCCO, pp. 54–67 (2014)
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
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 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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-021-00410-w