Abstract
This paper presents an optimization algorithm for transactional memory with lazy conflict detection. The proposed optimization attempts to minimize the execution time of restarted transactions. Minimizing happens during restart, by avoiding the re-execution of a section of a transaction that is unaffected by the restart. The proposed optimization builds on previous research and differs in that it eliminates the need for the prediction of conflicting accesses and introduces incremental context saving. Moreover, the paper introduces analytical models for estimating the execution time of transactions, with and without the restart optimization, that are developed using the continuous-time model. A critical evaluation comparing analytical models with the simulation results is discussed in the paper.












Similar content being viewed by others
References
McDonald, A., Carlstrom, B.D., Chung, J., Minh, C.C., Chafi, H., Kozyrakis, C., Olukotun, K.: Transactional memory: the hardware–software interface. IEEE Micro 27(1), 67–76 (2007)
Harris, T., Cristal, A., Unsal, O.S., Ayguade, E., Gagliardi, F., Smith, B., Valero, M.: Transactional memory: an overview. IEEE Micro 27(3), 8–29 (2007)
Moore, K.E., Bobba, J., Moravan, M.J., Hill, M.D., Wood, D.A.: LogTM: log-based transactional memory. In: The Twelfth International Symposium on High-Performance Computer Architecture, pp. 254–265 (2006)
Ananian, C.S., Asanovic, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. IEEE Micro 26(1), 59–69 (2006)
Meunier, Q.L., Pétrot, F.: Lightweight transactional memory systems for NoCs based architectures: design, implementation and comparison of two policies. J. Parallel Distrib. Comput. 70(10), 1024–1041 (2010)
Bobba, J., Moore, K., Volos, H., Yen, L., Hill, M.D., Swift, M., Wood, D.A.: Performance pathologies in hardware transactional memory. IEEE Micro 28(1), 32–41 (2008)
Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA ’06), pp. 253–262 (2006)
Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, pp. 204–213 (1995)
Vallejo, E., Sanyal, S., Harris, T., Vallejo, F., Beivide, R., Unsal, O., Cristal, A., Valero, M.: Hybrid transactional memory with pessimistic concurrency control. Int. J. Parallel Prog. 39(3), 375–396 (2011)
Sonmez, N., Arcas, O., Pflucker, O., Unsal, O.S., Cristal, A., Hur, I., Singh, S., Valero, M.: TMbox: a flexible and reconfigurable 16-core hybrid transactional memory system. In: IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 146–153 (2011)
Hammond, L., Carlstrom, B.D., Wong, V., Chen, M., Kozyrakis, C., Olukotun, K.: Transactional coherence and consistency: simplifying parallel hardware and software. IEEE Micro 24(6), 92–103 (2004)
Waliullah, M.M., Stenstrom, P.: Intermediate checkpointing with conflicting access prediction in transactional memory systems. In: IEEE International Symposium on Parallel and Distributed Processing (IPDPS 2008), pp. 1–11 (2008)
Waliullah, M.M., Stenstrom, P.: Removal of conflicts in hardware transactional memory systems. Int. J. Parallel Prog. 42(1), 198–218 (2014)
Ceze, L., Tuck, J., Torrellas, J., Cascaval, C.: Bulk disambiguation of speculative threads in multiprocessors. In: Proceedings of the 33rd Annual International Symposium on Computer Architecture (ISCA ’06), pp. 227–238 (2006)
Quislant, R., Gutierrez, E., Plata, O., Zapata, E.L.: Hardware signature designs to deal with asymmetry in transactional data sets. IEEE Trans. Parallel Distrib. Syst. 24(3), 506–519 (2013)
Tomic, S., Perfumo, C., Kulkarni, C., Armejach, A., Cristal, A., Unsal, O., Harris, T., Valero, M.: EazyHTM: eager-lazy hardware transactional memory. In: Proceedings of the 42nd International Symposium on Microarchitecture, pp. 145–155 (2009)
Lupon, M., Magklis, G., Gonzalez, A.: FASTM: a log-based hardware transactional memory with fast abort recovery. In: Proceedings of the 2009 18th International Conference on Parallel Architectures and Compilation Techniques (PACT ’09), pp. 293–302 (2009)
Ros, A., Acacio, M., Garcia, J.M.: A direct coherence protocol for many-core chip multiprocessors. IEEE Trans. Parallel Distrib. Syst. 21(12), 1779–1792 (2010)
Heindl, A., Pokam, G.: An analytic framework for performance modeling of software transactional memory. Comput. Netw. 53(8), 1202–1214 (2009)
Heindl, A., Pokam, G., Adl-Tabatabai, A.: An analytic model of optimistic software transactional memory. In: IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2009), pp. 153–162 (2009)
Heindl, A., Pokam, G.: An analytic model for optimistic STM with lazy locking. In: Proceedings of the 16th International Conference on Analytical and Stochastic Modeling Techniques and Applications (ASMTA ’09), pp. 339–353 (2009)
He, Z., Hong, B.: Modeling the run-time behavior of transactional memory. In: IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 307–315 (2010)
Sanzo, P., Di Ciciani, B., Palmieri, R., Quaglia, F., Romano, P.: On the analytical modeling of concurrency control algorithms for software transactional memories: the case of commit-time-locking. Perform. Eval. 69(5), 187–205 (2012)
Poe, J., Chang-Burm, C., Tao, L.: Using analytical models to efficiently explore hardware transactional memory and multi-core co-design. In: The 20th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD ’08), pp. 159–166 (2008)
Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IEEE International Symposium on Workload Characterization (IISWC 2008), pp. 35-46 (2008)
Hughes, C., Poe, J., Qouneh, A., Tao, L.: On the (dis)similarity of transactional memory workloads. In: IEEE International Symposium on Workload Characterization (IISWC 2009), pp. 108–117 (2009)
Newman, R., Dennis, C.: JPC: an x86 PC emulator in pure Java. In: Spinellis, D., Gousios, G. (eds.) Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design, pp. 199–234. O’Reilly Media, Sebastopol (2009)
Radivojevic, Z., Cvetanovic, M.: Integration of the JPC simulator into the configurable cache memory simulator. In: Proceedings of the 54th ETRAN Conference (ETRAN LIV), pp. RT.4.10.1–RT.4.10.4 (2010)
Acknowledgments
This work was supported by the Ministry of Education, Science, and Technological Development of the Republic of Serbia (III44009, TR32047). The authors gratefully acknowledge the support.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cvetanović, M., Radivojević, Z. & Milutinović, V. Restart Optimization for Transactional Memory with Lazy Conflict Detection. Int J Parallel Prog 45, 482–507 (2017). https://doi.org/10.1007/s10766-016-0411-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-016-0411-z