Grid is an attractive environment that provides numerous available resources by high speed network, and its utilization can be a solution of grand challenge problems. There are several implementations that provide Grid environment. Globus is such a middleware, which solves Grid problem defined as controlled and coordinated resource sharing and resource use in dynamic and scalable virtual organization. In order to perform parallel jobs in Grid a useful interface is needed. MPI(Message Passing Interface) is standard of parallel mechanism used for a long time. MPICH-G2 is a grid-enabled MPI based on the MPICH library, and it makes an efficient use of underlying Grid. Many application using MPICH-G2 are developed in Grid. A communication performance is one of major issues in Grid environment connected to hetero-geneous network. Collective communication operations provide a useful interface of group communication and consist of point-to-point operations of MPICH-G2. Scheduling collective communication primitives of MPICH-G2 underlying Grid is a main factor affecting the communication performance of MPICH-G2.
In this thesis, we propose a packet-level parallel data transfer and a two-phase scheduling algorithm for collective communication primitives in order to improve the performance of MPICH-G2.
그리드 환경은 고속 네트워크를 바탕으로 분산된 자원들을 연결하여 대용량 컴퓨팅 능력 및 대용량 저장공간을 제공한다. Globus는 그리드 환경을 구현한 대표적인 미들웨어 중의 하나로, 여러 곳에 산재된 리소스를 공유하기 위해 필요한 컨트롤과 통합에 필요한 기능을 제공한다. MPICH-G2는 병렬프로그래밍 인터페이스의 표준인 MPI(Message Passing Interface)의 규약을 따르는 한 구현 인 MPICH의 globus를 디바이스로 동작하도록 구현된 버전이다.
본 논문에서는 그리드 환경에서 병렬 컴퓨팅 환경을 제공하는 MPICH-G2의 성능향상을 다루었다. MPICH-G2의 성능향상에 가장 큰 영향을 미치는 것 중의 하나인 집합 통신의 성능을 개선함으로써 MPICH-G2의 통신 성능향상을 도모한다. 집합통신은 그룹통신의 효과적인 인터페이스로 집합통신을 구성하는 point-to-point 함수들의 스케쥴링 방법에 따라 전체 성능이 달라지게 된다. 본 연구에서 다룰 집합통신의 대표함수 중 하나인 MPI_Bcast는 하나의 송신자로부터 통신에 참가하고 있는 나머지 모든 노드들에게 데이터 전송이 완료되면 MPI_Bcast는 완료된다.
브로드캐스트함수의 성능향상을 위해 패킷단위 병렬 데이터 전송과 WAN에 연결된 노드들의 스케쥴링 방법으로 Two-Phase Scheduling(TPS) 알고리즘을 제안한다. 패킷단위 병렬 데이터 전송 방법은 데이터 크기가 커질수록 성능저하를 초래하는 현재의 방법을 극복하는 해결책으로 제시되고, TPS는 통신트리의 metric으로 지연(latency)뿐만 아니라 메시지크기, 대역폭(bandwidth)을 고려한 완료시간을 이용하여 보다 정확한 통신스케쥴링을 하고, 병목현상이 발생할 노드들을 고려함으로써 부하가 걸린 노드로 인한 성능저하를 줄이게 된다.