Topic

SMP vs MPP (Shared Memory vs Massively Parallel Processing)

JackerLab 2025. 4. 11. 16:56
728x90
반응형

개요

SMP(Shared Memory Processing)와 MPP(Massively Parallel Processing)는 고성능 컴퓨팅 시스템의 대표적인 병렬 아키텍처 모델입니다. 둘 다 병렬 처리 성능을 극대화하기 위한 구조지만, 메모리 접근 방식, 확장성, 처리 효율성 등에서 큰 차이를 보이며, 각각의 특성에 따라 적합한 사용 사례가 달라집니다. 본 글에서는 SMP와 MPP의 개념, 구성, 차이점 및 실제 활용 분야를 비교 분석합니다.


1. 개념 및 정의

  • SMP (Shared Memory Processing): 여러 CPU가 하나의 공유 메모리 공간을 이용하여 데이터를 동시에 접근하고 처리하는 방식
  • MPP (Massively Parallel Processing): 각 프로세서가 독립된 메모리를 가지며, 네트워크를 통해 메시지를 주고받으며 병렬 처리를 수행하는 구조

2. 특징 비교

항목 SMP (공유 메모리) MPP (대규모 병렬 처리)
메모리 구조 하나의 공유 메모리 사용 노드별 독립된 로컬 메모리 보유
노드 간 통신 메모리 접근을 통한 통신 네트워크 메시지 전달 기반
확장성 수십 개 수준의 프로세서까지 유효 수천~수만 개 프로세서까지 확장 가능
개발 난이도 프로그래밍 간편, 디버깅 용이 통신 코드 추가, 개발 복잡도 높음
예시 시스템 대형 워크스테이션, 멀티코어 서버 슈퍼컴퓨터, 분산 DBMS, Hadoop 클러스터

SMP는 소규모 고속 연산에, MPP는 대규모 데이터 처리에 강점을 보입니다.


3. 구성 요소

구성 요소 SMP 시스템 MPP 시스템
프로세서 다중 CPU 또는 멀티코어 CPU 다수의 독립 CPU 또는 서버 노드
메모리 공유 DRAM, L3 캐시 중심 노드별 독립 RAM 및 디스크
통신 구조 버스, 스위치 기반 메모리 공유 고속 네트워크(InfiniBand, Ethernet)
운영 체제 단일 OS 인스턴스 각 노드별 독립 OS 인스턴스 가능

SMP는 단일 머신 내 병렬화, MPP는 클러스터 기반 병렬화에 초점을 둡니다.


4. 기술 요소

기술 요소 설명 적용 방식
멀티스레딩 SMP에서 각 코어에 병렬 스레드 배정 Java, pthread, OpenMP
메시지 패싱 MPP 노드 간 통신 기반 병렬 처리 MPI, Apache Spark RDD Shuffle
캐시 일관성 관리 공유 메모리에서 동기화 보장 필요 MESI, MOESI 프로토콜
로드 밸런싱 프로세서 간 작업 분배 최적화 Job Scheduler, Resource Manager

SMP는 동기화 이슈, MPP는 네트워크 병목이 주요 기술 과제입니다.


5. 장점 및 단점

항목 SMP MPP
장점 구조 간단, 메모리 공유로 빠른 통신 무한 확장성, 대규모 데이터에 유리
단점 확장 한계, 동시 접근 시 성능 저하 복잡한 통신 구조, 개발 부담 큼

선택은 시스템 목적과 데이터 규모에 따라 달라집니다.


6. 주요 활용 사례 및 고려사항

분야 SMP 적용 사례 MPP 적용 사례
실시간 처리 금융 거래 분석, 고속 센서 분석 대규모 실시간 로그 분석 (Kafka + Spark)
과학 연산 시뮬레이션, 3D 렌더링 기후 모델링, 유전체 분석, AI 학습
데이터베이스 중소형 OLTP 시스템 분산 OLAP, Google BigQuery, Snowflake
머신러닝 단일 GPU 기반 모델 학습 대규모 분산 학습 시스템 (TensorFlow MultiNode)

데이터 규모, 처리 지연 허용 범위, 비용 등을 고려한 아키텍처 선택이 중요합니다.


7. 결론

SMP와 MPP는 각각의 장단점을 지닌 병렬 처리 방식으로, 특정 업무와 워크로드에 따라 전략적으로 선택되어야 합니다. 특히 빅데이터 시대에는 MPP 기반 아키텍처가 더 많은 확장성과 유연성을 제공하며, 반면 실시간성과 일관성이 중요한 작업에는 SMP 기반 구조가 유리합니다. 최신 환경에서는 하이브리드 구조도 점차 주목받고 있습니다.

728x90
반응형