Abstract
이기종시스템 구조(HSA)는 두 유닛의 각각에 메모리 폴(pools)이 가상메모리를 통해 공유할 수 있게 됨에 따라 CPU와 GPU 아키텍처의 오랜 문제를 해결하였다. 그러나 물리적 실제 시스템에서는 가상메모리 처리를 위해 GPU와 GPU 사이의 빈번한 메모리 이동으로 병목현상(Bottleneck)과 일관성 요청(Coherence request)의 오버헤드를 갖게 된다. 본 연구는 CPU와 GPU간의 효율적인 메인 메모리 접근방안으로 퓨전프로세서 알고리즘을 제안하였다. CPU가 요청한 처리할 메모리 영역을 GPU의 코어에 맞게 분배 제어해주는 기능으로 작업관리자(Job Manager)와 Re-mapper, Pre-fetcher를 제안하였다. 이를 통해 CPU와 GPU간의 빈번한 메시지도 감소되고 CPU의 메모리주소에 없는 Page-Table 요청이 낮아져 두 매체간의 효율성이 증대되었다. 제안한 알고리즘의 검증 방안으로 QEMU(:short for Quick EMUlator)기반의 에뮬레이터를 개발하고 CUDA(:Compute Unified Device. Architecture), OpenMP, OpenCL 등의 알고리즘과 비교평가를 하였다. 성능평가 결과, 본 연구에서 제안한 융합 프로세서 구조를 기존과 비교했을 때 최대 198%이상 빠르게 처리되면서 메모리 복사, 캐시미스 등의 오버헤드를 최소화하였다. The HSA resolves an old problem with existing CPU and GPU architectures by allowing both units to directly access each other's memory pools via unified virtual memory. In a physically realized system, however, frequent data exchanges between CPU and GPU for a virtual memory block result bottlenecks and coherence request overheads. In this paper, we propose Fusion Processor Architecture for efficient access of main memory from both CPU and GPU. It consists of Job Manager, Re-mapper, and Pre-fetcher to control, organize, and distribute work loads and working areas for GPU cores. These components help on reducing memory exchanges between the two processors and improving overall efficiency by eliminating faulty page table requests. To verify proposed algorithm architectures, we develop an emulator based on QEMU, and compare several architectures such as CUDA(Compute Unified Device Architecture), OpenMP, OpenCL. As a result, Proposed fusion processor architectures show 198% faster than others by removing unnecessary memory copies and cache-miss overheads.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have