ScatteringAndGathering
📌 Scattering이란?
info
Scattering은 하나의 데이터 소스에서 여러 목적지로 데이터를 분산 전송하는 과정을 말한다.
분산 처리를 위해 데이터를 여러 노드에 나누어 보내는 방식으로, 네트워크 통신이나 병렬 처리에서 자주 사용된다.
📌 Gathering이란?
info
Gathering은 여러 소스에서 데이터를 수집하여 하나의 목적지로 집약하는 과정이다.
분산된 데이터를 하나로 합치는 작업으로, 데이터 병합이나 통계 수집에 활용된다.
✅ 병렬 컴퓨팅에서의 활용 (MPI 기반)
MPI (Message Passing Interface)는 병렬 컴퓨팅 환경에서 데이터를 송수신하기 위한 표준 라이브러리로, 다음과 같은 함수들을 제공한다:
MPI_Scatter
: 데이터를 여러 프로세스에 분배MPI_Gather
: 여러 프로세스에서 데이터를 수집
✳️ 예시
// Scattering 예시
MPI_Scatter(sendbuf, sendcount, MPI_INT, recvbuf, recvcount, MPI_INT, root, MPI_COMM_WORLD);
// Gathering 예시
MPI_Gather(sendbuf, sendcount, MPI_INT, recvbuf, recvcount, MPI_INT, root, MPI_COMM_WORLD);
✅ Scattering & Gathering 비교
항목 | Scattering | Gathering |
---|---|---|
목적 | 분산 처리 | 데이터 수집 |
방향 | 하나 → 여러 | 여러 → 하나 |
예시 | 웹 콘텐츠 분산 전송 | 통계 데이터 집계 |
활용 기술 | MPI, 분산 파일 시스템 | MapReduce, MPI |
✅ 실제 활용 사례
- Scattering:
- CDN(Content Delivery Network)에서 사용자 위치에 따라 서버 분산
- 병렬 계산 시 행렬의 일부를 각각의 프로세서에 분산
- Gathering:
- 다수의 IoT 센서에서 중앙 서버로 데이터 수집
- 분산 계산 결과를 하나의 마스터 노드로 집계
댓글남기기