그래프 처리는 불규칙하고 세밀한 수준의 랜덤 접근 패턴을 요구하는데, 이는 현행 오프칩 메모리 아키텍처와 양립하기 어렵기 때문에 비효율적인 데이터 접근이 발생한다. 이러한 비효율성 때문에 그래프 처리는 극도로 메모리 대역폭에 제약받는 응용이 된다. 그 결과, 기존 그래프 처리 가속기들은 대개 메모리 병목을 완화하기 위해 그래프 타일링 기반 또는 처리-메모리(in-memory, PIM) 접근 방식을 사용한다. 타일링 기반 접근에서는 그래프를 온칩 캐시에 들어갈 수 있는 크기의 청크로 분할하여 데이터 재사용을 극대화한다. PIM 접근에서는 감산 또는 원자적 덧셈과 같은 연산을 수행하기 위해 메모리 내에 산술 연산 유닛을 배치한다. 그러나 두 접근 방식 모두 현재의 메모리 표준(즉, DDR)에서 구현할 때 여러 한계가 있다. DDR이 제공하는 접근 단위(입자성)는 그래프 정점 속성 데이터의 그것보다 훨씬 크기 때문에, 대역폭과 캐시 용량의 상당 부분이 낭비된다. PIM은 이러한 문제를 완화하기 위한 것이지만, 타일링 기반 접근과 함께 사용하기가 어렵기 때문에 큰 불리함으로 이어진다. 또한 메모리 칩 내부에 산술 연산 유닛을 배치하는 일은 비용이 많이 들기 때문에, 다양한 유형의 연산을 지원하는 것은 비현실적일 것으로 여겨진다. 위의 한계를 해결하기 위해, 우리는 미세한 수준의 in-memory 랜덤 scatter-gather를 갖춘 종단 간(end-to-end) 효율적인 그래프 처리 가속기인 Piccolo를 제시한다. 오프칩 메모리에 값비싼 산술 연산 유닛을 배치하는 대신, Piccolo는 랜덤 scatter-gather의 비(非)산술 function-in-memory를 통해 오프칩 트래픽을 감소시키는 데 초점을 둔다. in-memory scatter-gather의 이점을 최대한 활용하기 위해, Piccolo는 가속기의 캐시 및 미스-핸들링 아키텍처(MHA)를 재설계하여 타일링의 장점과 메모리 내 연산의 장점을 모두 누릴 수 있도록 한다. Piccolo는 최대 3.28×의 속도 향상과 1.62×의 기하 평균 속도 향상을 달성했으며, 다양한 광범위한 벤치마크에서 에너지 소비를 최대 59.7%까지 감소시킨다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.