집중 충돌 병렬 처리를 위한 효율적인 다중 코어 트랜잭셔널 메모리

다중 코어 프로세서의 보급과 더불어 이를 효율적으로 활용하기 위한 병렬 프로그래밍의 중요성은 나날이 강조되고 있다. 트랜잭셔널 메모리는 병렬 프로그래밍의 핵심적인 요소인 동기화(Synchronization)를 위해 제안된 구조로서 lock을 사용한 동기화로 인해 발생하는 병렬성 저하, deadlock 등의 문제를 극복할 수 있다. 본 논문은 높은 수준의 contention 상황에 따른 효율적인 트랜잭셔널 메모리의 구조에 대한 이론적인 분석을 제시하며 시뮬레이션을 통해 분석의 타당성을 확인한다. 시뮬레이션 환경은 하드웨어 트랜잭셔널 메모리(Hardware Transactional Memory) 시스템으로 구성되었으며 이론의 검증을 위해 STAMP 벤치마크와 높은 contention을 유발하는 프로그램을 시뮬레이션 하였다. 또한 트랜잭셔널 메모리를 적용한 dining philosopher problem의 모델링을 통해 효율적인 자원 할당 방안에 있어 lazy 데이터 관리 정책이 유리함을 보였다.