DOI QR코드

DOI QR Code

멀티코어 인메모리 환경에서 트랜잭션을 처리하기 위한 효율적인 HTM 기법

Efficient Hardware Transactional Memory Scheme for Processing Transactions in Multi-core In-Memory Environment

  • 장연우 (전북대학교 전자정보공학부 컴퓨터공학과) ;
  • 강문환 (전북대학교 전자정보공학부 컴퓨터공학과) ;
  • 윤민 (국방과학연구소) ;
  • 장재우 (전북대학교 IT정보공학과)
  • 투고 : 2017.03.08
  • 심사 : 2017.05.26
  • 발행 : 2017.08.15

초록

하드웨어 트랜잭셔널 메모리(HTM)는 트랜잭션 처리를 위한 병렬 프로그래밍 패러다임을 크게 바꾸었으며, 최근 Intel에서 TSX를 제안함에 따라 HTM에 기반한 다수의 연구들이 수행되었다. 그러나 기존 연구들은 트랜잭션 처리에서 하나의 원인에 대한 충돌 예측만을 지원하며, 모든 워크로드에 대해 획일화된 TSX 환경을 제공한다. 이러한 문제점을 해결하기 위해, 본 논문에서는 멀티코어 인메모리 환경에서 트랜잭션을 처리하기 위한 효율적인 HTM 기법을 제안한다. 첫째, 제안하는 기법은 과거 트랜잭션 처리 정보를 수집한 매트릭스를 이용하여, HTM 실패시의 대비책 경로로써 STM 혹은 single lock을 선택한다. 둘째, 머신러닝 알고리즘 기반 재시도 정책을 제공함으로써, 워크로드 특성에 맞는 효율적인 트랜잭션 처리를 수행한다. 마지막으로 STAMP를 이용한 성능평가를 통해, 제안하는 기법이 기존 연구에 비해 10~20%의 성능 향상이 있음을 보인다.

Hardware Transactional Memory (HTM) has greatly changed the parallel programming paradigm for transaction processing. Since Intel has recently proposed Transactional Synchronization Extension (TSX), a number of studies based on HTM have been conducted. However, the existing studies support conflict prediction for a single cause of the transaction processing and provide a standardized TSX environment for all workloads. To solve the problems, we propose an efficient hardware transactional memory scheme for processing transactions in multi-core in-memory environment. First, the proposed scheme determines whether to use Software Transactional Memory (STM) or the serial execution as a fallback path of HTM by using a prediction matrix to collect the information of previously executed transactions. Second, the proposed scheme performs efficient transaction processing according to the characteristic of a given workload by providing a retry policy based on machine learning algorithms. Finally, through the experimental performance evaluation using Stanford transactional applications for multi-processing (STAMP), the proposed scheme shows 10~20% better performance than the existing schemes.

키워드

과제정보

연구 과제번호 : 대규모 트랜잭션 처리와 실시간 복합 분석을 통합한 일체형 엔지니어링 기술 개발

연구 과제 주관 기관 : 정보통신기술진흥센터, 한국연구재단

참고문헌

  1. Yoo, Richard M., et al., "Performance evaluation of Intel(R)transactional synchronization extensions for high-performance computing," IEEE High Performance Computing, Networking, Storage and Analysis (SC), 2013 International Conference for IEEE, pp. 1-11.
  2. N. Diegues, P. Romano, and S. Garbatov, "Seer: Probabilistic scheduling for hardware transactional memory," Proc. of the 27th ACM symposium on Parallelism in Algorithms and Architectures, pp. 224-233, 2015.
  3. N. Diegues, and P. Romano, "Self-tuning intel transactional synchronization extensions," International Conference on Autonomic Computing (ICAC 14), pp. 209-219, 2014.
  4. Gloger, Wolfram, "ptmalloc Library," [Online]. Available: http://www.malloc.de/en/
  5. Sanjay Ghemawat, Paul Menage, "TCMalloc: Thread-Caching Malloc," [Online]. Available: http://googperftools.sourceforge.net/doc/tcmalloc.html