Skip to main content

Accelerating Graph Applications Using Phased Transactional Memory

  • Conference paper
  • First Online:
Euro-Par 2021: Parallel Processing (Euro-Par 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12820))

Included in the following conference series:

  • 1740 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. Brandes, U.: A faster algorithm for betweenness centrality. J. Math. Sociol. 25(2), 163–177 (2001)

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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

  7. 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)

    Google Scholar 

  8. 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

    Article  MathSciNet  MATH  Google Scholar 

  9. 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)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. SIGOPS Oper. Syst. Rev. 40(5), 336–346 (2006)

    Article  Google Scholar 

  12. 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

  13. Felber, P., Fetzer, C., Riegel, T.: Time-based software transactional memory. IEEE Trans. Parallel Distrib. Syst. 21(12), 1793–1807 (2010)

    Article  Google Scholar 

  14. Hasenplaugh, W.: Quantifying the capacity limitations of hardware transactional memory. In: WTTM, pp. 1–6 (2015)

    Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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

  17. Le, H.Q., et al.: Transactional memory support in the IBM POWER8 processor. IBM J. Res. Dev. 59(1), 8:1–8:14 (2015)

    Google Scholar 

  18. Leskovec, J., Krevl, A.: SNAP datasets: Stanford large network dataset collection (June 2014). http://snap.stanford.edu/data

  19. 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

  20. 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)

    Google Scholar 

  21. Morris, R., Tarassenko, L.: Sensory processing, chap. 4. In: Cognitive Systems - Information Processing Meets Brain Science, pp. 85–104 (2006)

    Google Scholar 

  22. 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

  23. 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)

    Google Scholar 

  24. 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

  25. 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

    Chapter  Google Scholar 

  26. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Catalina Munoz Morales .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics