본 포스팅은 스위스 취리히 연방 공과 대학의 SAFARI Research Group이 주관하는 '2021 Exploring the Processing-in-Memory Paradigm for Future Computing Systems' course를 수강하고 정리한 내용입니다.
The SAFARI Research Group is led by Professor Onur Mutlu. We are part of the Department of Information Technology and Electrical Engineering (D-ITET) at ETH Zurich.
Introduction
최근 컴퓨팅 시스템에서의 프로세서와 메모리간 데이터 이동은 성능을 결정하는 중요한 지표가 되었습니다. 모바일 장치부터 대규모 서버 환경에 이르기까지 데이터 이동 Cost는 Performance와 Power consumption을 결정하는 주요한 요소가 됩니다. 실행할 데이터를 저장하는 Main memory와 연산을 담당하는 Core 사이의 데이터 이동은 전체 Application system energy의 62% 가량을 차지한다고 알려져 있습니다. 따라서 데이터 이동에서 발생하는 오버헤드는 시스템의 전체 성능을 향상시키기 위해 해결해야할 주요한 요소 중 하나입니다. 이와 같은 문제는 근본적으로 프로세서와 메모리를 분리하여 사용함으로써 발생하는 데이터 이동 병목 현상에서 기인합니다.
기계 학습, 복잡한 그래프 처리, 데이터 베이스 분석 및 실시간 영상 데이터 분석 등, 현대의 많은 Workload들은 Data 이동시 발생하는 병목 현상으로 성능 향상에 큰 어려움을 겪고 있습니다. 복잡한 Workload들은 불규칙한 메모리 엑세스, 낮은 데이터 재사용율, 낮은 캐시 라인 사용률, Main memory의 용량을 크게 초과하는 Application 실행 등으로 인해 큰 데이터 병목 현상을 겪고 있습니다. 이러한 문제점을 완화하기 위해서는 프로세서와 메모리를 분리해 처리하는 기존의 폰 노이만 구조에서 벗어나, 새로운 컴퓨팅 구조를 도입해야 합니다. 모든 데이터 처리가 프로세서에서만 이루어지는 것이 아니라 데이터가 실제 위치하는 공간과 가까운 장소에서 연산을 수행할 수 있는 데이터 중심 설계로의 패러다임 전환이 필요합니다. 위와 같은 새로운 컴퓨팅 패러다임을 Processin-In-Memory, PIM이라고 합니다.
하여 2021 Fall SAFARI Seminal를 통해
i) Data movement bottleneck 개념을 이해하고
ii) Bottleneck에 더 취약한 Key workload characteristics에 대해 이해하며
iii) 위의 문제를 해결하기 위한 전통적 방법과 새로운 연구 주제에 대해 공부합니다.
Contents
1) Processing in / near memory 개념은 새로운 것이 아니다!
오래 전부터 Memory 가까이에 연산 장치를 배치하여 Data 간의 이동시 발생하는 오버헤드를 줄이기 위한 노력이 있었습니다. IEEE학회에 1969년 발표된 'Cellular Logic-in-Memory Arrays'와 1970년 발표된 'A Logic-in-Memory Computer'라는 제목의 논문에서는 현대의 PIM과 유사한 이론을 제시하였으나, 당시에 크게 주목받지 못했습니다. 그 이유는 당시는 아직 반도체 공정 기술과 메모리 기술 등이 지금처럼 발전하지 않았기 때문에 데이터 이동에서 발생하는 병목현상보다 프로세서 자체 혹은 메모리 자체에서 발생하는 오버헤드를 줄이는 것이 성능을 더 크게 향상시킬 수 있는 요인이었기 때문으로 추측할 수 있습니다.
-작성 진행중-
Reference
processing_in_memory [SAFARI Project & Seminars Courses (Fall 2021)] (ethz.ch)
'PIM > Study' 카테고리의 다른 글
Near-Memory processing vs In-Memory processing (1) | 2022.07.11 |
---|