Abstract
Due to their fine-grained operations and low conflict rates, graph processing algorithms expose a large amount of parallelism that has been extensively exploited by various parallelization frameworks. Transactional Memory (TM) is a programming model that uses an optimistic concurrency control mechanism to improve the performance of irregular applications, making it a perfect candidate to extract parallelism from graph-based programs. Although fast Hardware TM (HTM) instructions are now available in the ISA extensions of some major processor architectures (e.g., Intel and ARM), balancing the usage of Software TM (STM) and HTM to compensate for capacity and conflict aborts is still a challenging task. This paper presents a Phased TM implementation for graph applications, called Graph-Oriented Transactional Memory (GoTM). It uses a three-state (HTM, STM, GLOCK) concurrency control automaton that leverages both HTM and STM implementations to speed-up graph applications. Experimental results using seven well-known graph programs and real-life workloads show that GoTM can outperform other Phased TM systems and lock-based concurrency mechanisms such as the one present in Galois, a state-of-the-art framework for graph computations.
C.M. Morales—This work was supported by FAPESP (grant 2017/15236-0) under the CEPID Center for Computational Engineering and Sciences project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Besta, M., Hoefler, T.: Accelerating irregular computations with hardware transactional memory and active messages. In: Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2015, pp. 161–172. Association for Computing Machinery, New York (2015)
Bolt, T.S., Hampton, R.S., Furr, R.M.: Chapter 3-integrating personality/character neuroscience with network analysis. In: Absher, J.R., Cloutier, J. (eds.) Neuroimaging Personality, Social Cognition, and Character, pp. 51–69. Academic Press, San Diego (2016)
Brandes, U.: A faster algorithm for betweenness centrality. J. Math. Sociol. 25(2), 163–177 (2001)
Calciu, I., Gottschlich, J., Shpeisman, T., Herlihy, M., Pokam, G.: Invyswell: a hybrid transactional memory for Haswell’s restricted transactional memory. In: 2014 23rd International Conference on Parallel Architecture and Compilation Techniques (PACT), pp. 187–199 (2014)
de Carvalho, J.P.L., Araujo, G., Baldassin, A.: Revisiting phased transactional memory. In: Proceedings of the International Conference on Supercomputing, ICS 2017. Association for Computing Machinery, New York (2017)
Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining, vol. 6 (April 2004). https://doi.org/10.1137/1.9781611972740.43
Minh, C.C., Chung, J.W., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: 2008 IEEE International Symposium on Workload Characterization, pp. 35–46 (2008)
Clauset, A., Shalizi, C.R., Newman, M.E.: Power-law distributions in empirical data. SIAM Rev. 51(4), 661–703 (2009). https://doi.org/10.1137/070710111
Dalessandro, L., et al.: Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory. SIGARCH Comput. Archit. News 39(1), 39–52 (2011)
Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2010, pp. 67–78. Association for Computing Machinery, New York (2010)
Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. SIGOPS Oper. Syst. Rev. 40(5), 336–346 (2006)
Diaz-Perez, A., Garcia-Robledo, A., Gonzalez-Compean, J.L.: Graph processing frameworks. In: Sakr, S., Zomaya, A. (eds.) Encyclopedia of Big Data Technologies (2018). Springer, Cham. https://doi.org/10.1007/978-3-319-63962-8_283-1
Felber, P., Fetzer, C., Riegel, T.: Time-based software transactional memory. IEEE Trans. Parallel Distrib. Syst. 21(12), 1793–1807 (2010)
Hasenplaugh, W.: Quantifying the capacity limitations of hardware transactional memory. In: WTTM, pp. 1–6 (2015)
Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. ACM SIGARCH Comput. Archit. News 21(2), 289–300 (1993)
Intel: Architecture instruction set extensions programming reference (2012). https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
Le, H.Q., et al.: Transactional memory support in the IBM POWER8 processor. IBM J. Res. Dev. 59(1), 8:1–8:14 (2015)
Leskovec, J., Krevl, A.: SNAP datasets: Stanford large network dataset collection (June 2014). http://snap.stanford.edu/data
Lev, Y., Moir, M., Nussbaum, D.: PhTM: phased transactional memory. In: 2nd ACM SIGPLAN Workshop on Transactional Computing (2007). http://anon.cs.rochester.edu/meetings/TRANSACT07/papers/lev.pdf
Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, pp. 135–146. Association for Computing Machinery, New York (2010)
Morris, R., Tarassenko, L.: Sensory processing, chap. 4. In: Cognitive Systems - Information Processing Meets Brain Science, pp. 85–104 (2006)
Nguyen, D., Lenharth, A., Pingali, K.: A lightweight infrastructure for graph analytics. In: Proceedings of the 24th ACM Symposium on Operating Systems Principles, SOSP 2013, pp. 456–471. Association for Computing Machinery, New York (2013). https://doi.org/10.1145/2517349.2522739
Shang, Z., Yu, J.X., Zhang, Z.: TuFast: a lightweight parallelization library for graph analytics. In: IEEE 35th International Con. on Data Engineering, pp. 710–721 (2019)
Wang, A., et al.: Evaluation of blue gene/q hardware support for transactional memories. In: Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques, PACT 2012, pp. 127–136. Association for Computing Machinery, New York (2012). https://doi.org/10.1145/2370816.2370836
Whang, J.J., Lenharth, A., Dhillon, I.S., Pingali, K.: Scalable data-driven pagerank: algorithms, system issues, and lessons learned. In: Träff, J.L., Hunold, S., Versaci, F. (eds.) Euro-Par 2015. LNCS, vol. 9233, pp. 438–450. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48096-0_34
Xia, Y., Yu, X., Moses, W., Shun, J., Devadas, S.: LiTM: a lightweight deterministic software transactional memory system. In: Proceedings of the 10th International Workshop on Programming Models and Applications for Multicores and Manycores, pp. 1–10. Association for Computing Machinery, New York (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Morales, C.M., Murari, R., de Carvalho, J.P.L., Honorio, B.C., Baldassin, A., Araujo, G. (2021). Accelerating Graph Applications Using Phased Transactional Memory. In: Sousa, L., Roma, N., Tomás, P. (eds) Euro-Par 2021: Parallel Processing. Euro-Par 2021. Lecture Notes in Computer Science(), vol 12820. Springer, Cham. https://doi.org/10.1007/978-3-030-85665-6_26
Download citation
DOI: https://doi.org/10.1007/978-3-030-85665-6_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-85664-9
Online ISBN: 978-3-030-85665-6
eBook Packages: Computer ScienceComputer Science (R0)