CS/컴퓨터 구조

7장 : 고성능 컴퓨터시스템 구조 - (2) 병렬컴퓨터 분류

infobox503 2025. 1. 15. 12:12

<요약>

  • 플린의 분류
    • SISD
    • MISD
    • SIMD
    • MIMD
  • 병렬 컴퓨터-기억장치 액세스 분류
    • UMA
    • NUMA
    • NORMA
  • 병렬 컴퓨터 분류
    • 대칭적 다중 프로세서(SMP)
    • 대규모 병렬 프로세서(MPP)
    • 캐시-일관성 NUMA 시스템(CC-NUMA)
    • 분산 시스템(DS)
    • 클러스터 컴퓨터(CS)

1. 플린의 분류

  • 의미
    • 병렬 처리 방법을 분리한 것
  • 단어
    • 스트림
      • 하나의 프로세서가 순서대로 처리하는 명령어, 데이터 흐름
      • 명령어 스트림
        • 순서대로 처리되는 명령어 집합
      • 데이터 스트림
        • 명령어 스트림 수행을 위해 순서대로 나열된 데이터 집합
    • PU(프로세싱 유니트)
      • 해당 프로세스의 연산을 수행하기 위한 하드웨어 모듈 집합
        • (프로세스 수행을 위한 모든 하드웨어 집합이 아닌, 연산만을 담당하는 곳들)
        • 예시 → (ALU, …)
    • CU(제어 유니트)
    • MM(기억장치 모듈)
    • IS(명령어 스트림)
    • DS(데이터 스트림)
    • SM(공유 기억장치)
    • LSM(지역 기억장치)
      • Local Shared Memory
    • GSM(공유 기억장치)
      • Global Shared Memory
  • 분류
    • 단일 명령어 스트림 - 단일 데이터 스트림(SISD)
      • 한 번에 1개의 명령어/데이터 가져와서 처리

 

  • 단일 명령어 스트림 - 복수 데이터 스트림(SIMD)

(M : multiple)

  • (=배열 프로세서)
  • 하나의 명령어를 여러 개의 프로세싱 유니트(PU)들이 동시에 수행
    • (명령은 같지만, 해당 명령에 쓰이는 데이터는 각기 다름)

 

  • 복수 명령어 스트림 - 단일 데이터 스트림(MISD)
    • 각 프로세싱 유니트(PU)는 서로 다른 명령어 수행
    • 하지만 PU에서 쓰이는 데이터는 서로 똑같은 데이터 1개

 

  • 복수 명령어 스트림 - 복수 데이터 스트림(MIMD)
    • N개의 프로세서들이 서로 다른 명령어, 데이터 처리
    • 종류
      • 밀결합 시스템
        • 프로세서들이 물리적으로 서로 밀접하게 연결됨
        • 지연 시간 감소
        • 특징
          • 공유-기억장치 구조
          • 다중프로세서시스템
      • 소결합 시스템
        • 프로세서들이 물리적으로 거리가 멀리있음
        • 특징
          • 각 프로세서들은 지역 기억장치를 가짐
          • 메시지 전송 방식
            • 다른 지역 기억장치 조회하려면 다른 프로세서에게 메시지 보냄
          • 다중 컴퓨터 시스템

 

  • SIMD, MIMD 차이
    • 프로세서들의 독립성 차이
      • SIMD
        • 동기적 실행
        • 동일한 프로그램을 동기적 실행
      • MIMD
        • 비동기적 실행
        • 서로 다른 프로그램을 비동기적 수행

2. 병렬컴퓨터 분류

  • 분류(기억장치 액세스에 따라 분류)
    • 균일 기억장치 액세스 모델(UMA)
    • 불균일 기억장치 액세스 모델(NUMA)
    • 무-원격 기억장치 액세스 모델(NORMA)

3. 균일 기억장치 액세스 모델(UMA)

(Uniform Memory Access)

  • 의미
    • 모든 프로세서들이 상호연결망으로 주기억장치 공유
  • 장점
    • 하드웨어 간단
  • 단점
    • 공유 자원 접근에 대한 한계
      • (공유 자원에 접근할 수 있는 프로세서 개수에 한계가 있기 때문에 지연)

 

4. 불균일 기억장치 액세스 모델(NUMA)

(Non Uniform Memory Access)

  • 의미
    • 상호연결망 상위에 전역 상호연결망 존재
    • 상호연결망, 전역 상호연결망 조합으로 모든 기억장치 액세스
  • 구조

 

  • 액세스
    • 지역 기억장치 액세스
      • 자신의 모듈 안에 있는 LSM 접근
    • 전역 기억장치 액세스
      • GSM 접근
    • 원격 기억장치 액세스
      • 다른 모듈에 있는 LSM 접근

5. 무-원격 기억장치 액세스 모델(NORMA)

(No RemOte Memory Access)

  • 의미
    • 노드(프로세서 + 메모리)와 상호 연결망 존재
    • 각 노드는 상호 연결망으로 데이터 주고 받기
  • 구조

 

6. 병렬 컴퓨터 분류

  • 분류(시스템 구성 방법)
    • 대칭적 다중 프로세서(SMP)
    • 대규모 병렬프로세서(MPP)
    • 캐시-일관성 NUMA 시스템(CC-NUMA)
    • 분산 시스템(DS)
    • 클러스터 컴퓨터(CS)

7. 대칭적 다중 프로세서(SMP)

(Symmetric Multiprocessing)

Symmetric : 대칭

  • 의미
    • 완전 공유 구조
      • 모든 프로세서는 모든 자원 공유
    • 대칭적
      • 모든 프로세서는 동등한 권한이다
  • 구조

 

8. 대규모 병렬프로세서(MPP)

(Massively Parallel Processor)

Massively : 대규모

  • 의미
    • 무공유 구조
      • NORMA 구조와 같음
        • (노드들 간의 메시지 전송 방식)
        • (노드는 여러 개의 프로세서 + 기억장치로 구성)

 

9. 캐시-일관성 NUMA 시스템(CC-NUMA)

(Cache-Coherent Non-Uniform Memory Access)

  • 의미
    • 독립적인 노드들이 상호연결망으로 접속
      • 모든 노드들이 상호연결망으로 서로 데이터 교류)
    • 분산 공유-기억장치 시스템
      • 캐시, 기억장치의 값이 서로 다르지 않도록 유지하는 시스템
  • 구조

 

D : 디렉토리

  • 데이터가 수정될 시, 수정 전의 데이터를 가지고 있는 프로세서들에게 알림
  • (분산 공유 기억장치 시스템의 핵심 역할)

10. 분산 시스템(DS)

(Distributed System)

  • 의미
    • 독립적인 노드들은 네트워크로 데이터 교류
      • 각 노드는 별도의 OS를 가지는 독립적인 컴퓨터 기능
    • 노드 수 만큼 시스템 이미지 생성
      • (시스템 이미지 : 각 노드들의 정보 등)

11. 클러스터 컴퓨터(CS)

  • 의미
    • 분산 시스템
    • 하지만 시스템 이미지는 1개
  • 장점
    • 저렴한 비용으로 병럴처리시스템 구축
    • 가용성 향상
      • 클러스터 내에서 노드가 고장나도 빠르게 대체 가능
  • 구성 요소
    • 클러스터 노드
      • (노드 : 독립적인 컴퓨터)
    • 클러스터 미들웨어
      • 단일 시스템 이미지
    • 네트워크 인터페이스 하드웨어
      • 물리적으로 고속 네트워크와 연결
    • 통신 소프트웨어
      • 클러스터 노드들 간에 통신 기능
    • 워크 스테이션
      • 클러스터 노드 + 통신을 위한 장치들