다음 이전 차례

9. 통신꾸러미들

다음에 제시하는 목록보다 많은 꾸러미가 있으나 여기에서 언급 되는 꾸러미들은 가장 일반적인 것들이다. 클러스터는 지역 저장 머신(local memory machine)의 모임이다. 따라서 A 노드에서 B 노드로 통신을 하려면 네트웍을 통해서 이루어진다. 이러한 노드들간의 메세지 전달의 구조 위에 소프트웨어가 형성된다. 메세지 전달 코드는 개념적으로는 단순하지만, 그것의 작동과 디버깅은 매우 복잡할 수 있다.

여기서는 두가지의 메세지 전달 라이브러리를 소개한다:

9.1 PVM VS MPI

PVM과 MPI 모두 메세지 전달을 도와주는 적용이 간편한 소프트웨어이다. 역사적으로 볼 때 PVM이 먼저 개발 되었고 워크스테이션의 네트웍에 맞게 설계되었다.(Parallel Virtual Machine) 이는 분산 저장을 하거나 하지 않거나에 관계없이 많은 병렬 수퍼컴퓨터에 적용되어져 왔다. PVM의 여러제반 사항에 관해서는 그것을 만든이들이 주로 관여하고 있다.

MPI는 그와는 달리 많은 하드웨어 판매자에 의해 지원되고 있으며 PVM보다 더 많은 기능을 제공한다. 클러스터를 위한 버젼이 있다. MPI에 관계된 사항은 표준위원회에서 결정한다.

많은 경우 PVM과 MPI 둘 중 어느하나를 써야한다는 규칙은 없다. MPI의 경우 표준이 정해져 있기 때문에 맣은 사람들이 MPI를 선호한다. 하지만 PVM도 사용되고 있다. 이 문서는 각 소스에 관한 정보를 포함하고 있다.

MPI:

자유롭게 사용할 수 있는 두가지의 MPI 버젼이 있다. (역자주: 그 이외에도 여러가지가 있으며 http://kluster.kaist.ac.kr 등에서 확인할 수 있다.)

MPICH(역자주: MPI Chameleon의 약자):

Source: http://www-unix.mcs.anl.gov/mpi/mpich/ Version: mpich.tar.gz (역자주: 최근 1.2 버젼까지 나왔음.) Notes: 우리를 포함한 사람들이 리눅스 버젼에 관해 몇가지 문제점들을 제시하고 있음.

LAM-MPI:

Source: http://www.mpi.nd.edu/lam/ Version: lam61.tar.gz (역자주: 최근 6.4버젼까지 나왔음.) Notes: 패치(lam61-patch.tar)을 설치한다. LAM의 경우 -c2c 모드를 사용할 경우 좋은 결과를 나타냄. (역자주: -c2c는 옵션임)

PVM:

Version: pvm3/pvm3.4.beta7.tgz Source: http://www.epm.ornl.gov/pvm/ Notes: 많은 PVM 코드와 예제들이 나와있음.


다음 이전 차례