1. 정의
- PNM (Processing Near Memory):
- 메모리 근처에서 연산을 수행하는 아키텍처로, 프로세싱 유닛(예: CPU, GPU)이 메모리 모듈과 매우 가까운 위치(예: 같은 칩 패키지 또는 메모리 컨트롤러 근처)에 배치되어 데이터 이동 거리를 줄입니다.
- 메모리와 프로세서가 물리적으로 분리되어 있지만, 높은 대역폭 연결(예: HBM, GDDR)을 통해 데이터 병목현상을 완화합니다.
- 예: HBM(High Bandwidth Memory)을 사용하는 GPU 설계.
- PIM (Processing-In-Memory):
- 메모리 자체 내에서 연산을 수행하는 아키텍처로, 메모리 셀 또는 메모리 어레이 내부에 연산 로직(예: 간단한 ALU)을 통합하여 데이터 이동을 최소화합니다.
- 메모리와 연산이 동일한 칩 내에서 이루어져 데이터 전송 오버헤드를 크게 줄입니다.
- 예: Samsung HBM-PIM, UPMEM의 PIM 기반 DRAM.
2. 주요 차이점
항목PNM (Processing Near Memory)PIM (Processing-In-Memory)
연산 위치 | 메모리 근처(별도의 프로세싱 유닛에서 연산) | 메모리 내부(메모리 칩 자체에서 연산) |
데이터 이동 | 메모리와 프로세서 간 데이터 이동이 필요하지만 최적화됨 | 데이터 이동 최소화(연산이 메모리 내에서 수행) |
구현 복잡도 | 기존 아키텍처(예: CPU+DRAM)와 호환 가능, 구현 간단 | 메모리 칩 설계 변경 필요, 구현 복잡도 높음 |
성능 | 높은 대역폭으로 병목현상 완화, but 데이터 이동 비용 존재 | 데이터 이동 거의 없어 초고효율, 특히 대규모 데이터 처리에 유리 |
적용 사례 | GPU, TPU, 고대역폭 메모리(HBM) 시스템 | AI 워크로드, 빅데이터 분석, 신경망 가속 |
에너지 효율 | 메모리와 프로세서 간 전송으로 에너지 소비 상대적으로 높음 | 데이터 이동 감소로 에너지 효율 높음 |
예시 기술 | AMD의 HBM 기반 GPU, NVIDIA A100 | Samsung HBM-PIM, UPMEM PIM DRAM |
3. 장단점 요약
- PNM 장점:
- 기존 메모리 및 프로세서 설계와 호환성이 높아 구현이 용이.
- 고대역폭 메모리(HBM, GDDR)로 높은 성능 제공.
- PNM 단점:
- 메모리와 프로세서 간 데이터 이동으로 인한 지연과 전력 소모가 여전히 존재.
- PIM에 비해 데이터 병목현상이 더 두드러질 수 있음.
- PIM 장점:
- 데이터 이동을 거의 제거하여 에너지 효율과 성능 극대화.
- 대규모 병렬 연산(예: AI, 빅데이터)에 최적화.
- PIM 단점:
- 메모리 칩 설계가 복잡하고 비용이 높음.
- 기존 소프트웨어 및 하드웨어 생태계와의 호환성 문제 가능.
4. 사용 사례
- PNM:
- 고성능 컴퓨팅(HPC), 그래픽 처리(GPU), 데이터센터 워크로드.
- 예: AMD Instinct MI250(메모리 근처에서 고대역폭 연산), NVIDIA H100.
- PIM:
- AI/딥러닝 가속, 빅데이터 분석, 데이터베이스 처리.
- 예: Samsung의 HBM-PIM은 AI 모델 학습에서 메모리 대역폭 병목현상을 줄임.
결론
- PNM은 메모리와 프로세서를 물리적으로 가깝게 배치해 데이터 전송 효율을 높이는 방식으로, 기존 시스템과의 호환성이 높고 구현이 쉬운 반면, 데이터 이동 비용이 남아 있습니다.
- PIM은 메모리 내부에서 연산을 수행해 데이터 이동을 최소화하며, 에너지 효율과 대규모 병렬 처리에 강점이 있지만 설계 복잡도가 높습니다.
- 선택 기준: PNM은 기존 시스템 업그레이드나 고성능 컴퓨팅에 적합하고, PIM은 AI, 빅데이터와 같이 데이터 집약적 워크로드에 더 적합합니다.