기계 학습과 같은 응용에서 GPU 메모리에 대한 수요가 기하급수적으로 계속 증가함에 따라, GPU 메모리 용량을 최대화하는 일이 점점 더 중요해지고 있다. 호스트 메모리와 GPU 메모리를 하나의 주소 공간으로 통합하는 통합 가상 메모리(Unified Virtual Memory, UVM)는, 물리적 용량을 초과하는 더 많은 메모리를 GPU가 활용할 수 있게 해준다. 그러나 이러한 이점은 호스트 메모리에 접근할 때 상당한 오버헤드가 발생한다는 대가를 동반한다. 기존의 프리패칭(prefetching) 기법들은 이러한 오버헤드를 완화하는 데 도움이 되지만, 불규칙한 작업과 동적 혼합 작업을 다룰 때는 여전히 어려움에 직면한다. 본 논문에서는 작업의 규칙성이 GPU의 스트리밍 멀티프로세서(Streaming Multiprocessors, SMs) 간에 UVM 메모리 블록이 공유되는 상태와 강하게 상관관계가 있으며, 이는 곧 프리패칭의 효과에 영향을 미친다는 점을 입증한다. 또한, 접근한 메모리 블록의 공유 상태에 따라 프리패칭 전략을 동적으로 조정하는 Sharing Aware preFEtching 기법인 SAFE를 제안한다. SAFE는 통합 TLB(unified TLB, uTLB)를 활용하여 메모리 블록의 공유 상태를 효율적으로 추적하고, 각 블록에 대해 맞춤형 프리패칭 설정을 적용한다. 이 접근법은 하드웨어 수정이 필요 없으며 성능 오버헤드는 미미하다. 평가 결과, SAFE는 주로 불규칙한 메모리 접근 패턴을 갖는 작업에서 UVM 기본 프리패처 대비 최대 6.5배의 성능 향상을 달성했으며, 평균 향상은 3.6배였다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.