Parallel Computing   병렬 컴퓨팅, 병렬 처리

(2020-03-17)

SISD, SIMD, MISD, MIMD

1. 병렬 컴퓨팅 이란?프로세서 관점에서, 
     - 동시에 2 이상의 프로세서들이, 나뉘어진 문제(또는 프로그램)를 각각 협력하며 수행

  ㅇ 프로그램 실행 관점에서,
     - `여러 프로그램들` 또는 `한 프로그램의 여러 분할된 부분들`을 분담시켜 동시에 협력 처리

  ㅇ 구현 형태 例)
     - 하나의 주기억장치에 여러 프로세서들이 연결되고,
     - 공통의 주기억장치를 통해 서로에게 메세지를 전달(남김)으로써 작업/활동/태스크가 조정되며,
     - 큰 작업 중 일부를 또다른 유형의 타 프로세서에게 요청하는 등에 의해,
     - 여러 밀접한 테스크들이 협력할 수 있게 함


2. 병렬 컴퓨팅의 구분

  ㅇ 구현 구분
     - 소규모 : 멀티코어 프로세서 등
        . 한 칩 또는 한 장치 내에 다수의 프로세서(코어)를 집적한 마이크로 프로세서를 통해 구현
     - 대규모 : 클러스터, 그리드 컴퓨팅 등
        . 다수의 CPU 또는 컴퓨터 등을 연결해서 분산처리 구현

  ㅇ 병렬화 구분
     - 태스크 병렬화
     - 데이터 병렬화 

  ㅇ 병렬성 수준 구분
     - 작업 수준 병렬성 (Job Lebel)
     - 태스크 수준 병렬성 (Task Lebel) 또는 프로세스 수준 병렬성 
        . 병렬 수행되는 태스크 하나하나가 독립적인 응용 프로그램이지만, 서로 협력함
     - 스레드 수준 병렬성 (Thread Level)
        . 멀티 스레드
     - 명령어 수준 병렬성 (Instruction Level)

  ㅇ 컴퓨터 조직상의 구분 (제어 방법에 따른 Flynn의 분류)
     - 단일 명령어 스트림 - 단일 데이터 스트림 (SISD)
        . (SISD, Single Instruction Stream - Single Data Stream)
        . SISD의 병렬처리 구현 예 : 파이프라인 구조
     - 단일 명령어 스트림 - 복수 데이터 스트림 (SIMD)
        . (Single Instruction Stream, Multiple Data Stream)
        . 그 각각이 지역 메모리를 갖는 n개의 동일 프로세서(프로세싱 유니트,PU)로 구성되나,
          동작은 하나의 제어 유니트(CU)에 의해 통제됨
        . 즉, 모든 PU들은 각 단계 마다 동일 연산을 수행하지만,
              각각 서로다른 데이터들을 처리하는,
              데이터 관점의 병렬성(data-level parallelism) 구현
     - 복수 명령어 스트림 - 단일 데이터 스트림 (MISD)
        . (Multiple Instruction Stream, Single Data Stream)
        . 병렬처리 구현 예 : 실제 구현 불가하여 이론적으로 만 제시됨
     - 복수 명령어 스트림 - 복수 데이터 스트림 (MIMD)
        . (Multiple Instruction Stream, Multiple Data Stream)


[병렬처리] 1. 병렬 컴퓨팅 2. 대칭형 다중 프로세싱 3. 클러스터링 4. 병행 프로세스
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
          1. 컴퓨터
          2. 컴퓨터 구조
      1.   중앙처리장치 (CPU)
      2.   기억장치 (메모리)
      3.   버스구조
      4.   대용량 저장장치
      5.   I/O 장치 (주변장치)
      6.   병렬처리
        1.   1. 병렬 컴퓨팅
            2. 대칭형 다중 프로세싱
            3. 클러스터링
            4. 병행 프로세스
    3.   프로그래밍
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌