본문 바로가기
KERD
논문KCI 등재

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

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

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

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

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.

참고문헌 (22)

  1. J. J. Harrow, "Runtime checking of multithreaded applications with visual threads", in Proc. 7th Int. SPIN Workshop on SPIN Model Checking and Software Verification, pp.331~342 (2000)
  2. M. Herlihy, "Transactional Memory : Architectural Support for Lock-Free Data Structures", in Proc. 20th Annual Int. Symp. on Computer Architecture, pp.289~300 (1993)
  3. N. Shavit, "Software Transactional Memory", in Proc. 14th annual ACM Symp. on Principles of Distributed Computing, pp.204~213 (1995)
  4. M. Herlihy, "Software Transactional Memory for Dynamic-Sized Data Structures", 22nd annual ACM Symp. on Principles of Distributed Computing, pp.92~101 (2003)
  5. C. S. Ananian, "Unbounded Transactional Memory", Proceedings. 11th International Symposium on High-Performance Computer Architecture, pp.316~327 (2005)
  6. K. E. Moore, "LogTM : Log-Based Transactional Memory", in Proc. 12th Symp. High-Performance Computer Architecture (2006)
  7. S. Kumar, "Hybrid Transactional Memory", in Proc. 11th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, pp.209~220 (2006)
  8. P. Damron, "Hybrid Transactional Memory", in Proc. 12th Int. Conf. on Architectural Support for Programming Languages and Operating Systems (2006)
  9. Yoo, Richard M., "Performance evaluation of Intel® transactional synchronization extensions for high-performance computing", High Performance Computing, Networking, Storage and Analysis (SC), 2013 International Conference for. IEEE (2013)
  10. Dalessandro, Luke, "Hybrid norec: A case study in the effectiveness of best effort hardware transactional memory", ACM SIGARCH Computer Architecture News, pp.39~52 (2011)
  11. L. Dalessandro, "NOrec: Streamlining STM by Abolishing Ownership Records", In 15th ACM Symp. on Principles and Practice of Parallel Programming (2010)
  12. Bloom, Burton H., "Space", Time Tradeoffs in Hash Coding with Allowable Errors, 1970, pp.197, 422~426
  13. Diegues, Nuno, "Selftuning intel transactional synchronization extensions", 11th International Conference on Autonomic Computing (ICAC 14) (2014)
  14. KARNAGEL T., "Improving In-Memory Database IndexPerformance with Intel TSX", In Proceedings of the 20th Symposiumon High Performance Computer Architecture (HPCA) (2014)
  15. Vermorel, Joannes, "Multi-armed bandit algorithms and empirical evaluation", Machine learning: ECML 2005, pp.437~448 (2005), Springer Berlin Heidelberg
  16. Baird, Leemon, "Gradient descent for general reinforcement learning", Advances in neural information processing systems, pp.968~974 (1999)
  17. Mancuso, Renato, "Real-time cache management framework for multi-core architectures", IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS) (2013)
  18. Yun, Heechul, "PALLOC: DRAM bankaware memory allocator for performance isolation on multicore platforms", IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS) (2014)
  19. Baldassin, Alexandro, "Performance implications of dynamic memory allocators on transactional memory systems", ACM SIGPLAN Notices, 50(8) (2015), ACM
  20. 권병구, "슬랩 할당 전략을 적용한 개선된 메모리풀", 한국차세대컴퓨팅학회 논문지, 6(4), pp.54~62 (2010), 한국차세대컴퓨팅학회
  21. 박성종, "실시간 운영체제에서 룩업 테이블을 이용한 메모리 할당 기법 설계 및 구현", 한국차세대컴퓨팅학회 논문지, 6(4), pp.63~69 (2010), 한국차세대컴퓨팅학회
  22. 두 콩 튜안, "A New Thread Block Scheduling Technique for Improving the Performance of GPGPU Architecture", 한국차세대컴퓨팅학회 논문지, 11(4), pp.7~14 (2015), 한국차세대컴퓨팅학회

관련 논문AI추천

이 간행물의 다른 논문 (9건)