트랜스포머 응용에 대한 수요가 급격히 증가함에 따라, 메모리 병목을 해결하기 위한 기술들이 주목받고 있다. 그중 하나가 DRAM 내부에서 연산을 수행하는 인-DRAM Processing-In-Memory(PIM) 아키텍처이다. 주요 DRAM 제조사들은 PIM 샘플을 도입하면서, 모든 뱅크의 연산을 동시에 수행하여 내부 DRAM 대역폭을 최대화함으로써 최고 성능을 달성하고자 한다. 그러나 상용 제품으로의 구현은 문제가 있는데, PIM 메모리에서 PIM 실행 중에는 모든 뱅크의 실행이 PIM이 아닌 애플리케이션과 동시에 수행되지 않으므로 메모리 공간이 분리되기 때문이다. 본 논문은 뱅크 내부에서 메모리 요청의 버스트 길이(BL)를 증가시켜 내부 대역폭을 최대화하고, 뱅크 간 연산을 중첩함으로써 모든 뱅크 성능을 달성하는 BL-PIM 아키텍처를 제안한다. 한편 뱅크 외부에서는 BL을 증가시키지 않는 것으로 보이므로, 메모리 계층에서 데이터 일관성을 보존하면서 PIM 메모리와 함께 PIM이 아닌 애플리케이션과 PIM 애플리케이션을 동시에 실행할 수 있다. 또한 더 큰 BL을 사용하는 메모리 집약적인 PIM 연산은 메모리 요청의 수를 크게 감소시켜, 다른 애플리케이션과의 성능 간섭을 최소화한다. 우리는 DRAM 타이밍 다이어그램을 면밀히 확장하고, 메모리 컨트롤러와 PIM 장치 간의 협력 메커니즘을 개발하였다. FPGA에서 BL-PIM 아키텍처를 구현하고, 네 가지 트랜스포머 모델과 여덟 개의 연산/메모리-대역폭 병목 SPEC 벤치마크를 사용하여 실제 기계에서의 성능과 비교하였다. 그 결과, BL-PIM은 트랜스포머 모델에서 CPU 단일 스레드 및 다중 스레드 실행 대비 최대 28.9배 및 12.0배 더 빠른 성능을 달성하였다. 또한 최대치로 버스트 길이를 16배 증가시켰을 때, BL-PIM은 이상적인 모든 뱅크 PIM 실행 대비 1.2배 더 빠르다. 아울러 SPEC 벤치마크를 사용한 다중 워크로드 실행을 실험하였으며, 본 아키텍처가 성능 간섭을 최소화할 수 있음을 보여주었다. 우리가 아는 한, PIM의 다중 워크로드 실행에 대한 연구는 공개된 범위에서 이번이 최초이다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.