대규모 병렬 컴퓨터

대규모 병렬 컴퓨터(Massively Parallel Computer,MPP)는 많은 독립적인 노드들이 고속의 네트워크로 서로 연결이 된 하나의 매우 커다란 분산 메모리 컴퓨터 시스템이다. 각각의 독립적인 노드는 최소 하나의 프로세서와 자체 메모리로 구성되어 독립적인 운영체제로 운영된다. 이러한 컴퓨터 시스템은 병렬적으로 동작을 하는 여러개의 독립적인 산술 논리 장치나 완전한 마이크로프로세서들을 가지고 있다. 프로세서가 메모리나 디스크를 공유하지 않는다. 노드들은 MPI(Message Passing Interface)와 같은 표준을 사용하여 메시지를 전달함으로써 통신을 한다. 모든 프로세싱 부품들이 연결되어 하나의 매우 커다란 컴퓨터가 되는데 이것은 독립적인 여러 컴퓨터들이 하나의 문제를 풀려고 하는 분산 컴퓨팅과 반대이다.

SMP 와 MPP의 비교

MPP는 한개 이상의 프로세서와 운영체제, 메모리, 디스크로 구성된 독립적으로 운영되는 시스템을 여러 개 연결하여 만든 대형 컴퓨터 시스템이다. 반면 SMP는 두개 이상의 프로세서가 메모리를 공유하여 사용하는 다중 프로세서 컴퓨터 또는 아키텍처를 말한다. SMP는 하나의 OS가 있고 모든 프로세서가 메모리를 공유하고 있기 때문에 프로그램이 쉽다. 그렇지만 프로세서가 많은 시스템을 만들 경우 메모리를 공유하기 때문에 병목현상이 발생한다. 따라서 하이퍼큐브 네트워크나 메시 상호연결 네트워크의 방법을 이용해야 한다. MPP는 다른 메모리에 있는 데이터를 사용하기 위해서는 MPI와 같은 메시지를 통해서 주고 받아야 하는 복잡함이 있다. 또한 병렬화라는 특수한 개념의 프로그램 기법을 습득하여야 하기 때문에 프로그램이 어려운 단점이 있다.

같이 보기