제19강 병렬처리시스템 1
강의내용 병렬처리의 개념 병렬처리시스템의 분류
병렬처리시스템 개 요 컴퓨터시스템의 성능향상을 위한 방안으로 병렬처리 필요 병렬처리(parallel processing) 개 요 컴퓨터시스템의 성능향상을 위한 방안으로 병렬처리 필요 병렬처리(parallel processing) 하나 이상의 연산을 동시에 수행함으로써, 연산속도를 증가시키려는 처리방법 순차처리기(sequential processor) 한 번에 단지 하나의 CPU 명령을 수행하는 기존의 컴퓨터 병렬처리기(parallel processor) 하나 이상의 CPU 명령을 병렬로 처리하도록 설계한 컴퓨터
병렬처리시스템 컴퓨터시스템의 성능 성능척도 MIPS(Million Instructions Per Second) 특정기계의 명령어의 실행속도를 표시 MFLOPS(Million Floating-point Operations Per Second) 프로그램 상의 연산(부동소수점 연산)에 기초를 둔 것 벤치마크(benchmark) 사용자의 실제 작업부하에 대한 성능을 잘 반영할 것으로 생각되는 프로그램들로 구성된 작업부하
병렬처리시스템의 분류 분류방법 병렬처리기의 분류 분류 방법 플린(Flynn)의 분류 팽(feng)의 분류 구조에 의한 분류 동시에 처리할 수 있는 명령어나 데이터의 수, 처리기의 내부조직, 처리기 사이의 연결구조, 또는 시스템을 통하는 명령어와 데이터의 흐름을 제어하는 방법 등에 따라 분류 분류 방법 플린(Flynn)의 분류 팽(feng)의 분류 구조에 의한 분류
병렬처리시스템의 분류 플린의 분류 컴퓨터 구조를 명령어 스트림과 데이터 스트림이 컴퓨터 내에서 각각 하나 뿐인가 혹은 여러 개인가를 기준으로 분류 스트림(stream): 하나의 처리기에 의하여 수행되거나 처리되는 연속적인 일련의 명령어들이나 데이터들을 의미 단일 명령어 스트림- 하나의 처리기 내에서 처리되는 일련의 연속적인 명령어들을 의미 단일 데이터 스트림- 하나의 명령어 스트림에서 요구되는 일련의 연속적인 데이터나 중간 결과를 의미
병렬처리시스템의 분류 플린의 분류에 의한 컴퓨터구조 ① 단일 명령어 스트림 - 단일 데이터 스트림 컴퓨터 (SISD : Single Instruction stream-Single Data stream) ② 단일 명령어 스트림 - 복수 데이터 스트림 컴퓨터 (SIMD : Single Instruction stream-Multiple Data stream) ③ 복수 명령어 스트림 - 단일 데이터 스트림 컴퓨터 (MISD : Multiple Instruction stream-Single Data stream) ④ 복수 명령어 스트림 - 복수 데이터 스트림 컴퓨터 (MIMD : Multiple Instruction stream-Multiple Data stream)
플린의 분류에 의한 컴퓨터구조 SISD 컴퓨터 구조 개 요 구 조 현재의 컴퓨터 구조 명령어가 순차적으로 하나씩 수행된다. 개 요 구 조 현재의 컴퓨터 구조 명령어가 순차적으로 하나씩 수행된다. 즉 하나의 처리장치가 하나의 기억장치에 저장 되어있는 데이터들을 처리하기 위해 하나의 명 령어 흐름을 순차적으로 실행한다. 제어장치는 지역기억장치로부터 명령어 스트 림을 가져와서 이를 실행하기 위해 처리기에게 보내고, 처리장치는 명령어가 수행되는 과정에 서 지역기억장치로부터 데이터 스트림을 읽어 처리한 후 그 결과를 다시 지역기억장치에 저장한다.
플린의 분류에 의한 컴퓨터구조 SIMD 컴퓨터 구조 개 요 구 조 여러 개의 처리기가 하나의 제어처리기에 의해 제어되는 구조 개 요 구 조 배열처리기 구조라고도 한다. 여러 개의 처리기가 하나의 제어처리기에 의해 제어되는 구조 모든 처리기는 제어장치로부터 같은 명령 어를 수행하도록 제어되지만, 처리기들은 각각 다른 데이터에 대하여 처리 배열 컴퓨터
플린의 분류에 의한 컴퓨터구조 MISD 컴퓨터 구조 개 요 구 조 전체적으로 하나의 데이터 스트림을 가지고 있는 형태 개 요 구 조 이론상의 병렬처리구조 전체적으로 하나의 데이터 스트림을 가지고 있는 형태 즉, 여러 개의 처리기에서 수행되는 명령 어는 서로 다르지만 전체적으로 하나의 데이터 스트림을 가지고 있다. 이러한 구조의 컴퓨터는 없다.
플린의 분류에 의한 컴퓨터구조 MIMD 컴퓨터 구조 개 요 구 조 다중 컴퓨터 시스템이 해당 여러 개의 처리기는 각각 다른 개 요 구 조 다중 처리기 컴퓨터 시스템이나 다중 컴퓨터 시스템이 해당 여러 개의 처리기는 각각 다른 데이터 스트림에 대하여 다른 명령어 스트림을 수행한다.
병렬처리시스템의 분류 팽의 분류 컴퓨터 구조를 병렬수행 정도에 따라 분류 분류에 따른 컴퓨터의 종류 ① 단어별 순차, 비트별 순차처리(WSBS:word-serial, bit-serial) - 한 번에 한 비트씩 처리하는 방식, 초기의 컴퓨터 ② 단어별 병렬, 비트별 순차처리(WPBS:word-parallel, bit-serial) - m개의 단어를 묶어서 그 중에서 한 개의 비트 슬라이스 단위를 순차적으로 처리하는 방식 ③ 단어별 순차, 비트별 병렬처리(WSBP:word-serial, bit-parallel) - 한 번에 한 단어씩 처리하는 방식, 가장 많이 사용 ④ 단어별 병렬, 비트별 병렬처리(WPBP:word-parallel, bit-parallel) - 병렬 처리의 가능성을 최대로 높인 처리 방식
병렬처리시스템의 분류 구조에 의한 분류 병렬처리시스템 - 독립적인 많은 처리기들이 하나의 컴퓨터 시스템을 구성 다중 처리기 - 독립적인 많은 처리기들이 하나의 컴퓨터 시스템을 구성 - 오직 하나의 운영체계를 가지면서 기억장치 공간의 입출력 자원을 공유 다중 컴퓨터 - 자신만의 처리기, 기억장치, 입출력, 운영체제를 가진 여러 개의 컴퓨터로 구성
병렬처리시스템의 분류 구조에 의한 분류 다중처리기 구조 처리기의 수가 증가함에 따라서 상호연결망은 전체 성능에 더 큰 영향을 미치게 된다. 가장 어려운 문제 중의 하나는 소프트웨어 부분 - 병렬성을 명시적으로 표현하는 병렬 언어가 부족하기 때문에 컴파일러의 설계에 큰 부담이 따른다. - 대규모 다중처리기에 대한 운영체제도 설계하기가 어렵다. MIMD 컴퓨터에 해당 - 공유 기억장치(shared memory)방식 - 메시지 전달(message passing)방식
병렬처리시스템의 분류 구조에 의한 분류 다중처리기 구조 공유 기억장치(shared memory)방식 - 전역적으로 공유 가능한 물리적 주소 공간을 제공하여 프로그래밍의 편리함을 제공한다. - 그러나 많은 처리기들이 공유 기억장치를 동시에 접근하게 되면 시스템의 설계가 복잡해진다. 메시지 전달(message passing)방식 - 설계는 쉽지만, 프로그램이 어렵다.
병렬처리시스템의 분류(다중처리기) 공유 기억장치 시스템 개 요 구 조 처리기와 기억장치 모듈 사이에 개 요 구 조 처리기와 기억장치 모듈 사이에 완전한 연결성이 있는 강 결합 시스템 n개의 처리기와 m개의 기억장치 모듈들이 상호 연결망으로 연결 되어 있는 구조 소규모에서 중규모의 다중처리기 시스템에서는 효과적
병렬처리시스템의 분류(다중처리기) 메시지 전달 시스템 개 요 구 조 여러 개의 컴퓨터 모듈들과 상호 연결망으로 구성 개 요 구 조 여러 개의 컴퓨터 모듈들과 상호 연결망으로 구성 각 컴퓨터 모듈은 처리기, 기억 장치, 입출력 인터페이스를 가진다. 데이터 통신은 공유변수가 아니 라 메시지를 통하여 이루어진다. 대규모의 시스템에서도 좋은 성능을 발휘할 수 있다.
병렬처리시스템의 분류(다중처리기) 다중 프로세서에서의 고려사항 병렬성에 관한 고려사항 기억장치에 관한 고려 사항 - 기억장치 충돌 문제 - 기억장치 접근의 효율성 문제 - 캐쉬 일관성의 문제 그 밖의 고려 사항 - 스케줄링 - 동기화 - 시스템의 균형
다음 강의 <제20강 병렬처리시스템 2> 수고하셨습니다. 다음 강의 <제20강 병렬처리시스템 2>