Abstract

연결 리스트, 트리, 해시 테이블 같은 기본적인 자료구조는 포인터를 사용하여 인접 노드를 연결하는 선형 구조를 가지고 있다. 포인터 기반 데이터 구조 및 링크 순회 알고리즘은 프로그래밍의 필수 구성 요소이며 노드 데이터의 메모리 주소에 상관없이 노드를 동적으로 추가 또는 삭제할 수 있다. 리스트 노드는 순차적인 탐색만이 가능하여 연속으로 노드를 액세스할 때 CPU의 병렬처리 능력을 제한한다. 본 논문에서는 이를 해결하기 위해 인-메모리 가속기를 추가하여 연결 리스트의 데이터 탐색을 메모리 근접 로직에서 병렬적으로 진행할 수 있는 가속기 구조를 제안한다. Gem5 시뮬레이터를 사용하여 가속기 구조를 모델링하고, Memcached와 Graph500 벤치마크로 성능을 평가하였다. 벤치마크의 실행 시간은 baseline CPU에서 실행한 시간보다 평균 13.8% 단축되었고, 메모리 액세스 빈도 수 또한 평균 17.85% 감소하였다. TSMC 28nm 공정 라이브러리를 사용하여 게이트 수준에서 합성된 가속기 면적은 총 16172개 게이트수를 가지며, baseline CPU에서 사용한 Cortex-A53 면적대비 약 10% 정도의 추가 오버헤드가 있다.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call