마하데이터
병렬처리 시스템의 개념과 분류 방법 본문
카테고리 없음

병렬처리 시스템의 개념과 분류 방법

마하데이터 2025. 4. 9.

병렬처리 시스템의 개념과 분류 방법에 관하여

병렬처리 시스템의 개념과 분류 방법에 관하여 살펴보도록 하겠습니다. 컴퓨터의 응용 분야가 인공지능이나 로보틱스, 우주과학 등으로 다양해짐에 따라 컴퓨터 속도는 계속 향상되고 있습니다. 그러나 아직도 최고의 시스템 성능 면에서는 부족합니다. 이러한 상황에서 시스템의 높은 처리율을 얻는 기술이 바로 병렬처리입니다. 또한 병렬처리는 여러 개의 프로세서가 여러 개의 프로그램이나 한 개의 프로그램을 분할하여 각 프로세서가 분담하여 동시에 처리하는 방식입니다. 이 방식에 필요한 하드웨어와 소프트웨어를 모두 갖춘 컴퓨터를 바로 병렬컴퓨터라고 칭합니다. 최근 대부분의 고성능 컴퓨터 시스템의 설계에는 성능 향상을 위한 방법으로 병렬처리 시스템을 널리 사용하고 있습니다. 바로 내부에 연산장치를 여러 개 배치해 높은 연산 성능을 갖게 하여 동시에 동작하는 복수의 마이크로세서를 사용하는 것입니다. 즉 다수의 중앙처리장치를 결합하여 단일 중앙처리장치 성능의 한계를 극복하기 위한 구조를 말합니다. 이렇게 병렬처리 시스템으로 설계한다면 작업을 동시에 처리하는 복수의 처리장치에 골고루 분담시킴으로써 처리 속도가 대폭 빨라지고 단위 시간당 작업량을 증가시킬 수 있습니다. 여기서 더욱 발전시켜 수천 개 규모의 마이크로프로세서를 사용하는 컴퓨터 시스템을 초병렬컴퓨터라고 합니다. 앞으로 병렬 컴퓨터시스템을 개발하기 위해서는 하드웨어의 구조, 운영체제, 알고리즘, 프로그래밍 언어, 컴파일러 등 거의 모든 기술이 통합되어야 합니다. 이러한 병렬처리 시스템을 분류하는 데에는 여러 가지 방법이 있습니다. 병렬처리 시스템의 분류 방법에는 동시에 처리할 수 있는 명령어나 데이터의 수, 처리기의 내부 조직, 처리장치 간의 연결구조 또는 시스템을 통하는 명령어, 데이터의 흐름을 제어하는 방법 등 무척 다양합니다. 특히 플린의 분류에 대해서 소개해 드리겠습니다. 플린은 컴퓨터 구조를 명령어 스트림과 데이터 스트림이 컴퓨터 내에서 각각 하나인지 여러 개인지를 기준으로 분류하는 방법입니다. 이때 스트림이란 하나의 프로세서에 의해 순서대로 처리되는 명령어들과 데이터들의 흐름을 말하며, 명령어 스트림이란 명령어 코드들의 집합을 의미하고 데이터 스트림이란 데이터 집합을 말합니다. 명령어 스트림과 데이터 스트림을 처리하기 위한 하드웨어의 구조에 따른 플린의 분류는 가장 널리 사용하는 4가지 방식이 존재합니다. 바로 SISD, SIMD, MISD, MIMD입니다. 먼저 SISD 컴퓨터 구조는 명령어가 하나씩 순차적으로 수행되는 구조입니다. 하나의 처리장치가 하나의 기억장치에 저장되어 있는 데이터를 처리하기 위해서 하나의 명령어 흐름을 순차적으로 실행하며, 명령어를 수행할 때 제어장치는 기억장치에서 명령어를 읽어와서 처리장치에 보내고 실행한 다음에 명령어가 수행되는 과정에서 기억장치에서 데이터를 읽어 온 다음에 그 결과를 다시 기억장치에 저장합니다. 이러한 실행 과정을 여러 개의 단계로 나누어 중첩함으로써 실행 속도를 높이도록 파이프라이닝이 되어 있으며, 현재 우리가 가장 많이 사용하고 있는 컴퓨터 구조입니다. 다음은 SIMD 컴퓨터 구조입니다. 이 시스템은 여러 개의 처리기로 구성되며, 배열처리기라고도 불립니다. 모든 처리기의 동작은 하나의 제어장치의 지시를 받으며, 제어장치로부터 동일한 명령을 수행하도록 제어되지만 명령어 수행 과정에서는 서로 다른 데이터를 사용한다는 것이 특징입니다. 또한 모든 처리장치들이 기억장치를 독립적으로 가지는 분산 기억장치 구조도 가능합니다. 한편 이러한 SIMD 컴퓨터 구조와는 반대로 여러 개의 처리기에서 수행되는 명령어들은 각각 다르지만 전체적으로 하나의 데이터 스트림을 가지고 있는 형태가 바로 MISD 컴퓨터 구조입니다. 이 시스템은 하나의 처리기에서 처리된 결과는 다른 처리기에 입력되는 구조이며, 실제로 이러한 처리방식이 이용되기는 어렵기 때문에 사용되지는 않습니다. 마지막으로 MIMD 컴퓨터 구조입니다. 대부분의 다중 프로세서 시스템과 다중 컴퓨터시스템이 이 분류에 속합니다. 이 시스템에서는 여러 개의 처리기가 서로 다른 명령어와 데이터들을 처리합니다. 또한 처리기 간의 상호작용 정도에 따라 2가지로 나누어지는데 상호작용 정도가 높은 구조를 밀결합 시스템이라고 말하고, 상호작용 정도가 낮은 구조를 소결합 시스템이라고 합니다. 더욱 자세히 살펴보자면 밀결합 시스템의 전형적인 구조는 기억장치가 모든 처리기에 공통으로 사용되는 공유기억장치 구조이며, 소결합 시스템은 각 처리기가 자신의 지역기억장치를 가진 독립적인 컴퓨터 모듈로 구성됩니다. 또한 처리기 간의 통신은 메시지 패싱 방식에 의하여 이루어지는 구조입니다. 다음으로 팽의 분류에 대해서 간략히 설명해 드리자면 플린의 분류와 마찬가지로 총 4가지 분류 방법이 존재합니다. 바로 WSBS, WPBS, WSBP, WPBP입니다. 먼저 WSBS 처리는 한 번에 1비트씩 처리하는 방식이며 초기 컴퓨터의 수행 방식입니다. 그리고 WPBS 처리는 여러 개의 워드를 묶어서 그중에서 한 개의 비트 슬라이스 단위를 순차적으로 처리하는 방식이며, WSBP 처리는 가장 많이 사용하는 방식으로 한 번에 한 워드씩 처리합니다. 마지막으로 WPBP 처리는 병렬처리의 가능성을 최대한 높인 처리방식입니다. 지금까지 병렬처리 시스템의 개념과 분류 방법에 관하여 살펴봤습니다.

Comments