Hybrid Transactional Memory using Sampling-based Retry Policy in Multi-Core Environment

멀티코어 환경에서 샘플링 기반 재시도 정책을 이용한 하이브리드 트랜잭셔널 메모리

  • 강문환 (전북대학교 컴퓨터공학과) ;
  • 장연우 (전북대학교 컴퓨터공학과) ;
  • 윤민 (국방과학연구소) ;
  • 장재우 (전북대학교 IT정보공학과)
  • Received : 2017.03.03
  • Accepted : 2017.04.21
  • Published : 2017.04.30

Abstract

Transactional Memory (TM) has greatly changed the parallel programming paradigm for transaction processing and is classified into STM, HTM, HyTM according to hardware or software frameworks. However, the existing studies have a problem that they provide static retry policy for all workloads. To solve the problems, we propose an hybrid transactional memory scheme using sampling-based adaptive retry policy in multi-core environment. First, the proposed scheme determines whether to use STM or HTM according to the characteristic of a transaction. Otherwise, it executes HTM and STM concurrently by using a bloom filter. Second, the proposed scheme provides adaptive retry policy for HTM according to the characteristic of transactions in each workload. Finally, through the experimental performance evaluation using STAMP, the proposed scheme shows 10~20% better performance than the existing schemes.

트랜잭셔널 메모리는 트랜잭션 처리를 위한 병렬 프로그래밍 패러다임을 크게 바꾸었으며, 하드웨어 및 소프트웨어 방식에 따라 STM, HTM, HyTM으로 구분된다. 그러나, 기존 연구들은 모든 워크로드에 대해 획일적인 재시도 정책을 제공하는 문제점이 존재한다. 이러한 문제점을 해결하기 위해, 본 논문에서는 멀티코어 환경에서 샘플링 기반 유연한 재시도 정책을 이용한 하이브리드 트랜잭셔널 메모리 기법을 제안한다. 첫째, 제안하는 기법은 트랜잭션의 특성을 파악하여 HTM 혹은 STM을 선택하여 수행하거나, 블룸필터를 이용하여 동시에 HTM과 STM을 수행한다. 둘째, 제안하는 기법은 각 워크로드 내의 트랜잭션의 특성을 반영한 유연한 HTM 재시도 정책을 제공한다. 마지막으로 STAMP를 이용한 성능평가를 통해, 제안하는 기법이 기존 연구에 비해 10~20%의 성능 향상이 있음을 보인다.

Keywords