GPU 프로그램의 수행 중에 원자성위배를 자율적으로 수리하는 도구
A Tool for On-the-fly Repairing of Atomicity Violation in GPU Program Execution

초록

본 논문은 GPU 프로그램의 메모리의 상태 및 접근사건과 배리어 위치 정보를 감시하고, 실제 메모리쓰기를 배리어 영역 종료 직전에 발생시키거나 배리어 영역을 재수행시켜 원자성 위배를 수행 중에수리하는 도구인 ARCAV (Atomatic Recovery of CUDA Atomicity violation)를 제시한다. 기존의 연구들은Lock과 Sleep 명령어를 사용하여 원자성 위배를 진단 및 수리하도록 구현되었기 때문에 지원되는 명령어와 동기화 기법이 CPU (Central Processing Unit) 프로그램과 다른 GPU (Graphics Processing Unit) 프로그램에는 적용될 수 없었고, GPU 프로그램에서는 원자성 위배의 탐지에 대한 연구만 수행되었다. 제안하는ARCAV는 GPU 프로그램의 실행모델에서 수행될 수 있도록 설계되어 스레드 구성과 메모리 계층에무관하게 실세계에서 발생한 원자성 위배를 대표하는 네 가지 패턴의 원자성 위배를 실시간으로 탐지하고 수리할 수 있다. 실험 결과 동시에 실행되는 스레드 개수와 구성에 무관하게 일정한 오버헤드를보였다. 원자성 위배를 프로그램 수행 중에 실시간으로 탐지하고 수리하기 위해 소요되는 오버헤드는네 개의 실세계 GPU 커널에서 실험되었고, 원본 프로그램 대비 평균 2.1배의 수행시간으로 동작하였다.

키워드

병행 프로그램GPU 프로그램동시성 오류원자성 위배자율수리Concurrent programGPU programConcurrency errorAtomicity violationOn-the-fly repairing
제목
GPU 프로그램의 수행 중에 원자성위배를 자율적으로 수리하는 도구
제목 (타언어)
A Tool for On-the-fly Repairing of Atomicity Violation in GPU Program Execution
저자
이건표이성진전용기
DOI
10.9708/jksci.2021.26.09.001
발행일
2021-09
저널명
한국컴퓨터정보학회논문지
26
9
페이지
1 ~ 12