토픽 75 / 111·병렬 처리 (Parallel Processing)
병렬 처리 (Parallel Processing)
병렬 처리 (Parallel Processing)
여러 프로세서나 코어가 동시에 작업을 수행하여 전체 처리 시간을 단축하고 성능을 향상시키는 컴퓨팅 기법
목적: 성능 향상, 처리량 증대, 대규모 문제 해결, 실시간 처리
특징: 동시 실행, 데이터/작업 분할, 동기화, 확장성
병렬성 수준
- •비트 수준: 8비트→16비트→32비트→64비트
- •명령어 수준(ILP): 파이프라인, 슈퍼스칼라, VLIW
- •스레드 수준(TLP): SMT, 멀티코어
- •태스크 수준: 분산 컴퓨팅, 클러스터
메모리 구조
- •공유 메모리(SMP): 단일 주소공간, 캐시 일관성, 8-64 코어
- •분산 메모리(MPP): 독립 메모리, 메시지 패싱, 확장성 우수
- •NUMA: Non-Uniform Memory Access, 지역/원격 메모리, 대규모 SMP
장점: 높은 성능, 처리량 증대, 대규모 데이터 처리
단점: 프로그래밍 복잡도, 동기화 오버헤드, 암달의 법칙 제약
적용사례: 멀티코어 CPU, GPU(CUDA/OpenCL), HPC, 빅데이터
비교: SIMD(데이터병렬/GPU) vs MIMD(태스크병렬/멀티코어)
연관: Flynn's Taxonomy, 멀티코어, GPU, SIMD, 동기화, 암달의 법칙