메시지 전달 인터페이스

메시지 전달 인터페이스(Message Passing Interface, MPI)는 분산 및 병렬 처리에서 정보의 교환에 대해 기술하는 표준이다. 병렬 처리에서 정보를 교환할 때 필요한 기본적인 기능들과 문법, 그리고 프로그래밍 API에 대해 기술하고 있지만 구체적인 프로토콜이나 각각의 구현에 대한 것에 대해서는 기술하지 않는, 하나의 거시적인 테두리를 정해주는 표준으로 이해할 수 있다.

실제적인 MPI 애플리케이션은 서로 정보를 주고받는 여러개의 프로세스들로 이루어져 있는데, 이 각각의 프로세스들은 MPI 애플리케이션이 구동될 때에 모두 병렬적으로 시작된다. 이 각각의 프로세스들은 모두 하나의 문제를 풀기위해 한 프로세스에서 다른 프로세스로 데이터와 정보들을 필요에 따라 서로 주고 받게 된다. 이러한 원리의 장점은 하드웨어적으로 분산되어있는 컴퓨터들 간에도 이런 데이터와 정보들을 주고 받을 수 있다는 점이다. 그래서 특별히 병렬처리를 위해 만들어진 병렬 컴퓨터(공유 메모리를 지녔다거나, 인피니밴드 혹은 Myrinet 등을 통해 고속으로 정보를 주고받는 것이 가능하게 만들어진) 뿐만 아니라, (TCP를 통해 정보들이 교환되는) PC들로 이루어진 PC 클러스터(PC-Cluster)에서도 이런 병렬 MPI 프로그램들은 잘 돌아간다.

종류

편집

같이 보기

편집