컴퓨터 클러스터로 전달되는 메시지
Message passing in computer clusters
메시지 전달은 모든 컴퓨터 클러스터의 고유한 요소입니다.수제 베어울프부터 세계에서 가장 빠른 슈퍼컴퓨터에 이르기까지 모든 컴퓨터 클러스터는 메시지 전달에 의존하여 여러 노드의 [1][2]작업을 조정합니다.상용 서버 및 스위치로 구축된 컴퓨터 클러스터로 전달되는 메시지는 거의 [1]모든 인터넷 서비스에서 사용됩니다.
최근에는 1,000개 이상의 노드를 가진 컴퓨터 클러스터의 사용이 확산되고 있습니다.클러스터 내의 노드 수가 증가함에 따라 통신 서브시스템의 복잡성이 급속히 증가하기 때문에 병렬 프로그램 [3]실행 시 상호 접속을 통한 메시지 전달 지연이 심각한 성능 문제가 됩니다.
특정 도구를 사용하여 컴퓨터 클러스터에 전달되는 메시지의 성능을 시뮬레이션, 시각화 및 이해할 수 있습니다.대규모 컴퓨터 클러스터가 조립되기 전에 트레이스 기반 시뮬레이터는 적은 수의 노드를 사용하여 대규모 구성으로 전달되는 메시지의 성능을 예측할 수 있습니다.소수의 노드에서 테스트 실행 후 시뮬레이터는 실행 로그 파일과 메시지 전송 로그 파일을 읽고 훨씬 많은 수의 [4][5]노드 간에 많은 메시지가 교환될 때 메시징 서브시스템의 성능을 시뮬레이션합니다.
메시지 및 계산
메시지 전달에 대한 접근법
지금까지 클러스터 노드 간의 통신에 대한 두 가지 일반적인 접근 방식은 PVM(Parallel Virtual Machine)과 MPI(Message Passing Interface)[6]였습니다.그러나, MPI는 이제 컴퓨터 [7]클러스터에 메시지를 전달하는 사실상의 표준으로 부상했다.
PVM은 MPI보다 앞서 1989년경 Oak Ridge National Laboratory에서 개발되었습니다.컴퓨팅 노드를 "병렬 가상 머신"으로 동작시킬 수 있는 일련의 소프트웨어 라이브러리를 제공합니다.메시지 전달, 작업 및 리소스 관리, 장애 통지를 위한 런타임 환경을 제공하며 모든 클러스터 노드에 직접 설치해야 합니다.PVM은 C, C++, Fortran [6][8]등으로 작성된 사용자 프로그램에서 사용할 수 있습니다.
구체적인 구현을 가진 PVM과 달리 MPI는 특정 라이브러리 세트가 아닌 사양입니다.이 규격은 1990년 초 ARPA와 미국 국립과학재단의 지원을 받아 40개 기관 간의 논의에서 나왔다.MPI의 디자인은 당시의 상업 시스템에서 이용 가능한 다양한 특징들을 끌어냈다.그 후 MPI 규격은 구체적인 구현을 야기했다.MPI 실장에서는, 통상은 TCP/IP 와 소켓 [6]접속을 사용합니다.MPI는 현재 C, Fortran, Python [8]등의 언어로 병렬 프로그램을 작성할 수 있는 널리 이용 가능한 통신 모델입니다.MPI 사양은 MPIH 및 Open MPI [8][9]등의 시스템에 구현되어 있습니다.
테스트, 평가 및 최적화
컴퓨터 클러스터는 여러 노드에 걸친 처리의 분산과 그에 따른 통신 오버헤드를 처리하기 위해 많은 전략을 사용합니다.Tianhe-I와 같은 일부 컴퓨터 클러스터는 메시지 전달에 연산 수행에 사용되는 프로세서와는 다른 프로세서를 사용합니다.Tianhe-I는 2,000개가 넘는 FeiTeng-1000 프로세서를 사용하여 자체 메시지 전달 시스템의 동작을 향상시키고, 연산은 Xeon [10][11]및 Nvidia Tesla 프로세서에서 수행합니다.
통신 오버헤드를 줄이는 방법 중 하나는 특정 태스크에 로컬네이버(로케일이라고도 함)를 사용하는 것입니다.여기서 계산 태스크는 클러스터 내의 특정 "근린"에 할당되어 서로 [3]더 가까운 프로세서를 사용하여 효율성을 높입니다.그러나 대부분의 경우 컴퓨터 클러스터 노드의 실제 토폴로지와 그 상호 접속을 애플리케이션 개발자가 알지 못할 수 있기 때문에 애플리케이션 프로그램 수준에서 성능을 미세 조정하는 것은 매우 어렵습니다.[3]
MPI가 컴퓨터 클러스터의 사실상의 표준으로 등장하고 있는 것을 감안하면 클러스터 노드 수의 증가는 MPI 라이브러리의 효율성과 확장성을 개선하기 위한 지속적인 연구로 이어졌습니다.이러한 노력에는 MPI [7]라이브러리의 메모리 용량을 줄이기 위한 연구가 포함되어 있습니다.
초기부터 MPI는 PMPI "프로파일링 시스템"[12]을 통해 성능 프로파일링 기능을 제공했습니다.PMIPI- 프레픽스를 사용하면 메시지의 시작점과 종료점을 관찰할 수 있습니다.그러나, 이 프로파일의 높은 레벨의 특성을 고려하면, 이러한 유형의 정보는 통신 시스템의 실제 동작을 일목요연하게 보여줄 뿐입니다.더 많은 정보의 필요성은 MPI-Peruse 시스템의 개발로 이어졌다.Peruse는 응용 프로그램이 MPI 라이브러리 내의 상태 변경에 액세스할 수 있도록 함으로써 보다 상세한 프로파일을 제공합니다.이를 위해서는 Peruse에 콜백을 등록한 후 메시지이벤트 [13]발생 시 트리거로서 콜백을 호출합니다.PARAVER 시각화 시스템과 함께 사용할 수 있습니다.PARAVER에는 트레이스를 분석하기 위한 트레이스 컴포넌트와 비주얼 컴포넌트, 특정 이벤트와 관련된 통계정보 등의 2개의 컴포넌트가 있습니다.PARAVER는 다른 시스템으로부터의 트레이스 포맷을 사용하거나 독자적인 트레이스를 실행할 수 있습니다.작업 수준, 스레드 수준 및 하이브리드 형식으로 작동합니다.트레이스에는 많은 정보가 포함되어 있기 때문에 많은 경우 대량의 정보가 포함되어 있습니다.따라서 PARAVER는 사용자가 [13][14][15]시각화하고 분석할 수 있도록 요약합니다.
퍼포먼스 분석
슈퍼컴퓨터 수준의 대규모 병렬 시스템을 개발할 때는 여러 구성을 실험하고 성능을 시뮬레이션할 수 있어야 합니다.이 시나리오에서는 메시지 전달 효율을 모델링하는 방법에는 분석 모델에서 트레이스 기반 시뮬레이션에 이르기까지 여러 가지 방법이 있으며, 일부 접근방식은 메시지 전달 [3]성능의 합성 테스트를 수행하기 위해 "인위 통신"에 기반한 테스트 환경을 사용하는 데 의존합니다.BIGSIM과 같은 시스템은 다양한 노드 토폴로지, 메시지 전달 및 스케줄링 [4]전략에 대한 성능 시뮬레이션을 가능하게 함으로써 이러한 기능을 제공합니다.
분석적 접근법
해석 레벨에서는, 기동 레이텐시, 점근 대역폭, 프로세서 수등의 서브 컴포넌트의 세트에 근거해 통신 시간 T를 모델화할 필요가 있다.잘 알려진 모델은 포인트 투 포인트 통신에 의존하는 Hockney의 모델이며, 여기서 M은 메시지 크기이고 L은 시작 지연 시간이고 R은 MB/[16]s 단위의 점근 대역폭입니다.
쉬와 황은 Hockney의 모델을 일반화해 프로세서 수를 포함시킴으로써 지연과 점근 대역폭 모두 프로세서 [16][17]수의 함수가 되도록 했다.그런 다음 Gunawan과 Cai는 캐시 크기를 도입함으로써 이를 더욱 일반화하였고, 그 크기에 따라 메시지를 구분하여 2개의 개별 모델을 확보하였습니다.하나는 캐시 크기 미만의 메시지용이고 다른 하나는 위의 [16]메시지용입니다.
퍼포먼스 시뮬레이션

컴퓨터 클러스터에 전달되는 메시지의 성능을 시뮬레이션하고 이해하기 위해 특정 도구를 사용할 수 있습니다.예를 들어, CLUSTSIM은 이산 이벤트 시뮬레이션에 Java 기반 시각적 환경을 사용합니다.이 접근방식에서는 계산된 노드와 네트워크 토폴로지를 시각적으로 모델링합니다.작업 및 작업 지속 시간 및 복잡성은 다양한 병렬 작업 스케줄링 알고리즘을 제안하고 실험할 수 있는 특정 확률 분포로 표현됩니다.따라서 MPI 메시지 전달에 대한 통신 오버헤드를 시뮬레이션하고 대규모 병렬 [18]작업 실행의 맥락에서 더 잘 이해할 수 있습니다.
다른 시뮬레이션 툴로는 MPI-sim과 [19]BIGSIM이 있습니다.MPI-Sim은 C 또는 C++ 프로그램이 [18][19]작동해야 하는 실행 방식의 시뮬레이터입니다.반면 ClusterSim은 프로그램 [18]실행에 사용되는 프로그래밍 언어와 독립적인 하이브리드 상위 레벨 모델링 시스템을 사용합니다.
MPI-Sim과 달리 BIGSIM은 별도의 에뮬레이터 프로그램에 [5][19]의해 파일에 저장된 실행 로그를 기반으로 시뮬레이션하는 트레이스 기반 시스템입니다.BIGSIM은 에뮬레이터와 시뮬레이터를 포함한다.에뮬레이터는 소수의 노드에서 애플리케이션을 실행하고 결과를 저장하므로 시뮬레이터는 이를 사용하여 훨씬 많은 수의 노드에서 [5]작업을 시뮬레이션할 수 있습니다.에뮬레이터는, 복수의 프로세서의 시퀀셜 실행 블록(SEB) 정보를 로그 파일에 보존합니다.각 SEB 는, 송신원 및 수신처, 의존 관계, 타이밍등을 기록합니다.시뮬레이터는 로그 파일을 읽고 시뮬레이트하며 추가 메시지를 표시할 수 있으며,[4][5] 이 메시지는 SEB로도 저장됩니다.따라서 시뮬레이터는 전체 머신을 사용하거나 구성하기 [5]전에 훨씬 적은 수의 노드에서 에뮬레이터가 제공하는 실행 트레이스를 기반으로 매우 큰 애플리케이션의 성능을 파악할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b 컴퓨터 구성 및 설계(David A). 패터슨과 존 L. 헤네시 2011 ISBN0123747503 641 페이지 [1]
- ^ Windows를 사용한 베어울프 클러스터 컴퓨팅 by Thomas Lawrence Sterling 2001 ISBN 02626759 MIT 프레스 페이지 7-9
- ^ a b c d Yiannis Cotronis, Anthony Danalis, Dimitris Nikolopoulos 및 Jack Dongara 2011 ISBN 3642244483 페이지 160-162에 의한 메시지 전달 인터페이스의 최근 진보
- ^ a b c 페타스케일 컴퓨팅: David A의 알고리즘과 응용 프로그램.Bader 2007 ISBN 1584889098 페이지435 ~ 435
- ^ a b c d e Keith Cooper, John Mellor-Crummey 및 Vivek Sarkar 2011 ISBN 3642195946 페이지202 ~ 203에 의해 편집된 병렬 컴퓨팅용 언어와 컴파일러
- ^ a b c Open을 사용한 분산 서비스AFS: Franco Milicchio, Wolfgang Alexander Gerhke 2007, 339-341페이지
- ^ a b Matti Ropo, Jan Westerholm 및 Jack Dongara 2009 ISBN 3642037690 페이지 231에 의한 병렬 가상 머신과 메시지 전달 인터페이스의 최근 진보
- ^ a b c 그리드 및 클러스터 컴퓨팅 by J. Prabhu 2008 ISBN 8120334280 109–112 페이지
- ^ Gropp, William; Lusk, Ewing; Skjellum, Anthony (1996). "A High-Performance, Portable Implementation of the MPI Message Passing Interface". Parallel Computing. doi:10.1016/0167-8191(96)00024-5.
- ^ TianHe-1A 슈퍼컴퓨터: 양서준, 랴오샹케 외, 컴퓨터 사이언스 저널 제26권 제3호, 2011년 5월 344-351페이지: CS1의 아카이브 카피 제목 (링크)
- ^ 미국, 패트릭 티보 컴퓨터월드에 의해 중국이 '완전히 토종' 슈퍼컴퓨터를 구축하고 있다고 발표, 2010년 11월 4일 [2]
- ^ PMPI가 뭐죠?
- ^ a b Bernd Mohr, Jesper Larsson Tréff, Joachim Worringen 및 Jack Dongara 2006 ISBN 354039110X에 의한 병렬 가상 머신과 메시지 전달 인터페이스의 최근 발전
- ^ a b PARAVER: Vincent Pillet 등의 병렬 코드를 시각화하고 분석하는 도구, 1995년 트랜스푸터와 Occam 개발에 관한 회의 진행, 17-31페이지
- ^ 컴퓨터 사이언스--Peter M.A. Sloot, David Abramson, Alexander V. Bogdanov 및 Jack J. Dongara ISBN 354070 183페이지에 의해 편집된 Ics 2003
- ^ a b c C에 의한 메시지 전달 오버헤드 모델링Y Chou 등 그리드 및 퍼베이시브 컴퓨팅의 진보:제1회 국제회의, GPC 2006년 Yeh-Ching Chung과 José E에 의해 편집되었습니다.모레이라 ISBN 3540338098 299~307페이지
- ^ 하이 퍼포먼스 컴퓨팅과 네트워킹 편집: Peter Sloot, Marian Bubak 및 Bob Hertzberge 1998 ISBN 3540644431 페이지935
- ^ a b c Michael K가 편집한 하이 퍼포먼스 컴퓨터 사이언스 및 엔지니어링.엔지, 안드레이 돈세스쿠, 로렌스 TYang and Tau Leng, 2005 ISBN 0387240489 59~63페이지
- ^ a b c Song Lin 및 Xiong Huang 2011 ISBN 3642233236 16페이지 편집에 의한 컴퓨터 과학, 환경, 환경, 환경 및 교육의 진보