Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
110 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
44 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

PIM-STM: Software Transactional Memory for Processing-In-Memory Systems (2401.09281v1)

Published 17 Jan 2024 in cs.DC

Abstract: Processing-In-Memory (PIM) is a novel approach that augments existing DRAM memory chips with lightweight logic. By allowing to offload computations to the PIM system, this architecture allows for circumventing the data-bottleneck problem that affects many modern workloads. This work tackles the problem of how to build efficient software implementations of the Transactional Memory (TM) abstraction by introducing PIM-STM, a library that provides a range of diverse TM implementations for UPMEM, the first commercial PIM system. Via an extensive study we assess the efficiency of alternative choices in the design space of TM algorithms on this emerging architecture. We further quantify the impact of using different memory tiers of the UPMEM system (having different trade-offs for what concerns latency vs capacity) to store the metadata used by different TM implementations. Finally, we assess the gains achievable in terms of performance and memory efficiency when using PIM-STM to accelerate TM applications originally conceived for conventional CPU-based systems.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (50)
  1. Software transactional memory for large scale clusters. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 247–258, 2008.
  2. Versioned boxes as the basis for memory transactions. Science of Computer Programming, 63(2):172–185, 2006.
  3. An analytical model of hardware transactional memory. In 2017 IEEE 25th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), pages 221–231, 2017.
  4. Hetm: transactional memory for heterogeneous systems. In 2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 232–244. IEEE, 2019.
  5. Concurrent data structures with near-data-processing: An architecture-aware implementation. In The 31st ACM Symposium on Parallelism in Algorithms and Architectures, pages 297–308, 2019.
  6. D2stm: Dependable distributed software transactional memory. In 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing, pages 307–313. IEEE, 2009.
  7. Norec: Streamlining stm by abolishing ownership records. ACM Sigplan Notices, 45(5):67–78, 2010.
  8. Rapl: Memory power estimation and capping. In Proceedings of the 16th ACM/IEEE international symposium on Low power electronics and design, pages 189–194, 2010.
  9. On the analytical modeling of concurrency control algorithms for software transactional memories: The case of commit-time-locking. Performance Evaluation, 69(5):187–205, 2012.
  10. A framework for high-throughput sequence alignment using real processing-in-memory systems. Bioinformatics, 39(5):btad155, 2023.
  11. Transactional locking ii. In International Symposium on Distributed Computing, pages 194–208. Springer, 2006.
  12. Adding concurrency to smart contracts. In Proceedings of the ACM Symposium on Principles of Distributed Computing, pages 303–312, 2017.
  13. ProteusTM: Abstraction Meets Performance in Transactional Memory. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, 2016.
  14. Virtues and limitations of commodity hardware transactional memory. In Proceedings of the 23rd international conference on Parallel architectures and compilation, pages 3–14, 2014.
  15. Stretching transactional memory. ACM sigplan notices, 44(6):155–165, 2009.
  16. Energy efficiency impact of processing in memory: A comprehensive review of workloads on the upmem architecture. In 2023 International Congress on Power, Energy, and Computer Systems (PECS 2023), 2023.
  17. Keynote: Upmem pim platform for data-intensive applications. In Minisymposium on Applications and Benefits of UPMEM commercial Massively Parallel Processing-In-Memory Platform (ABUPIMP), co-located with EUROPAR23, 2023.
  18. Time-based software transactional memory. IEEE Transactions on Parallel and Distributed Systems, 21(12):1793–1807, 2010.
  19. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 237–246, 2008.
  20. Embedded-tm: Energy and complexity-effective hardware transactional memory for embedded multicore systems. Journal of Parallel and Distributed Computing, 70(10):1042–1052, 2010.
  21. Block-stm: Scaling blockchain execution by turning ordering curse to a performance blessing. In Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, pages 232–244, 2023.
  22. Processing-in-memory: A workload-driven perspective. IBM Journal of Research and Development, 63(6):3–1, 2019.
  23. Syncron: Efficient synchronization support for near-data-processing architectures. In 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA), pages 263–276. IEEE, 2021.
  24. Tm2c: a software transactional memory for many-cores. In Proceedings of the 7th ACM european conference on Computer Systems, pages 351–364, 2012.
  25. On the correctness of transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 175–184, 2008.
  26. Nnpim: A processing in-memory architecture for neural network acceleration. IEEE Transactions on Computers, 68(9):1325–1337, 2019.
  27. Rapid: A reram processing in-memory architecture for dna sequence alignment. In 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), pages 1–6. IEEE, 2019.
  28. Benchmarking Memory-centric Computing Systems: Analysis of Real Processing-in-Memory Hardware. In 2021 12th International Green and Sustainable Computing Conference (IGSC). IEEE, 2021.
  29. The prompt real-time commit protocol. IEEE Transactions on Parallel and Distributed Systems, 11(2):160–181, 2000.
  30. Language support for lightweight transactions. ACM Sigplan Notices, 49(4S):64–78, 2014.
  31. Flat combining and the synchronization-parallelism tradeoff. In Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures, pages 355–364, 2010.
  32. Software transactional memory for dynamic-sized data structures. In Proceedings of the twenty-second annual symposium on Principles of distributed computing, pages 92–101, 2003.
  33. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th annual international symposium on Computer architecture, pages 289–300, 1993.
  34. Chin Yang Lee. An algorithm for path connections and its applications. IRE transactions on electronic computers, (3):346–365, 1961.
  35. Transparent speculation in geo-replicated transactional data stores. In Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing, HPDC ’18, page 255–266, New York, NY, USA, 2018. Association for Computing Machinery.
  36. Concurrent data structures for near-memory computing. In Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures, pages 235–245, 2017.
  37. Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory. ACM Sigplan Notices, 44(6):166–176, 2009.
  38. Stamp: Stanford transactional applications for multi-processing. In 2008 IEEE International Symposium on Workload Characterization, pages 35–46. IEEE, 2008.
  39. Sparsh Mittal. A survey of reram-based architectures for processing-in-memory and neural networks. Machine learning and knowledge extraction, 1(1):75–114, 2018.
  40. A modern primer on processing in memory. arXiv preprint arXiv:2012.03112, 2020.
  41. Don’t forget about synchronization! a case study of k-means on gpu. In Proceedings of the 10th International Workshop on Programming Models and Applications for Multicores and Manycores, pages 11–20, 2019.
  42. Csmv: A highly scalable multi-versioned software transactional memory for gpus. Journal of Parallel and Distributed Computing, page 104701, 2023.
  43. A study of transactional memory vs. locks in practice. In Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures, pages 43–52, 2011.
  44. Specula: Speculative replication of software transactional memory. In 2012 IEEE 31st Symposium on Reliable Distributed Systems, pages 91–100. IEEE, 2012.
  45. Smart contract parallel execution with fine-grained state accesses. In 2023 IEEE 43rd International Conference on Distributed Computing Systems (ICDCS), pages 841–852. IEEE, 2023.
  46. Line distillation: Increasing cache capacity by filtering unused words in cache lines. In 2007 IEEE 13th International Symposium on High Performance Computer Architecture, pages 250–259. IEEE, 2007.
  47. Mcrt-stm: a high performance software transactional memory system for a multi-core runtime. In Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 187–197, 2006.
  48. Advanced contention management for dynamic software transactional memory. In Proceedings of the Twenty-Fourth Annual ACM Symposium on Principles of Distributed Computing, PODC ’05, page 240–248, New York, NY, USA, 2005. Association for Computing Machinery.
  49. A comprehensive strategy for contention management in software transactional memory. In Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 141–150, 2009.
  50. UPMEM. Upmem — upmem is releasing a true processing-in-memory (pim) acceleration solution. https://www.upmem.com/, 2023. Accessed: 2023-08-02.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (3)
  1. André Lopes (2 papers)
  2. Daniel Castro (48 papers)
  3. Paolo Romano (36 papers)
Citations (3)

Summary

We haven't generated a summary for this paper yet.

Github Logo Streamline Icon: https://streamlinehq.com
X Twitter Logo Streamline Icon: https://streamlinehq.com

Tweets