DOI QR코드

DOI QR Code

Efficient Hybrid Transactional Memory Scheme using Near-optimal Retry Computation and Sophisticated Memory Management in Multi-core Environment

  • Jang, Yeon-Woo (Dept. of Information and Technology, Chonbuk National University) ;
  • Kang, Moon-Hwan (Dept. of Information and Technology, Chonbuk National University) ;
  • Chang, Jae-Woo (Dept. of Information and Technology, Chonbuk National University)
  • Received : 2017.06.23
  • Accepted : 2017.10.23
  • Published : 2018.04.30

Abstract

Recently, hybrid transactional memory (HyTM) has gained much interest from researchers because it combines the advantages of hardware transactional memory (HTM) and software transactional memory (STM). To provide the concurrency control of transactions, the existing HyTM-based studies use a bloom filter. However, they fail to overcome the typical false positive errors of a bloom filter. Though the existing studies use a global lock, the efficiency of global lock-based memory allocation is significantly low in multi-core environment. In this paper, we propose an efficient hybrid transactional memory scheme using near-optimal retry computation and sophisticated memory management in order to efficiently process transactions in multi-core environment. First, we propose a near-optimal retry computation algorithm that provides an efficient HTM configuration using machine learning algorithms, according to the characteristic of a given workload. Second, we provide an efficient concurrency control for transactions in different environments by using a sophisticated bloom filter. Third, we propose a memory management scheme being optimized for the CPU cache line, in order to provide a fast transaction processing. Finally, it is shown from our performance evaluation that our HyTM scheme achieves up to 2.5 times better performance by using the Stanford transactional applications for multi-processing (STAMP) benchmarks than the state-of-the-art algorithms.

Keywords

References

  1. M. Herlihy and J. E. B. Moss, "Transactional memory: architectural support for lock-free data structures," in Proceedings of the 20th International Symposium on Computer Architecture, San Diego, CA, 1993, pp. 289-300.
  2. V. Pankratius and A. R. Adl-Tabatabai, "A study of transactional memory vs. locks in practice," in Proceedings of the 23rd Symposium on Parallelism in Algorithms and Architectures, San Jose, CA, 2011, pp. 43-52.
  3. L. Dalessandro, M. F. Spear, and M. L. Scott, "NOrec: streamlining STM by abolishing ownership records," in Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Bangalore, India, 2010, pp. 67-78..
  4. N. Diegues and P. Romano, "Self-tuning intel transactional synchronization extensions," in Proceedings of the 11th International Conference on Autonomic Computing, Philadelphia, PA, 2014, pp. 209-219.
  5. J. Vermorel and M. Mohri, "Multi-armed bandit algorithms and empirical evaluation," in European Conference on Machine Learning. Heidelberg: Springer, 2005, pp. 437-448.
  6. L. C. Baird and A. W. Moore, "Gradient descent for general reinforcement learning," In Advances in Neural Information Processing Systems, vol. 11, pp. 968-974, 1999.
  7. L. Dalessandro, F. Carouge, S. White, Y. Lev, M. Moir, M. L. Scott, and M. F. Spear, "Hybrid norec: a case study in the effectiveness of best effort hardware transactional memory," ACM SIGARCH Computer Architecture News, vol. 39, no. 1, pp. 39-52, 2011. https://doi.org/10.1145/1961295.1950373
  8. R. N. Zare, Angular Momentum: Understanding Spatial Aspects in Chemistry and Physics. New York, NY: Wiley, 2011.
  9. H. Yun, R. Mancuso, Z. P. Wu, and R. Pellizzoni, "PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms," in Proceedings of the 2014 IEEE 20th Real-Time and Embedded Technology and Applications Symposium, Berlin, Germany, 2014, pp. 155-166.
  10. S. Ghemawat and P. Menage, "TCMalloc: thread-caching Malloc," [Online]. Available: http://googperftools.sourceforge.net/doc/tcmalloc.html.
  11. C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun, "STAMP: Stanford transactional applications for multi-processing," in Proceedings of IEEE International Symposium on Workload Characterization, Seattle, WA, 2008, pp. 35-46.