2010-06-01 3 views
4

필자는 MPI (Message Passing Interface)를 한번도 사용해 본 적이 없지만 가장 최근에는 Windows HPC Server에 대해 그 이름에 대해 들었습니다. 나는 아마존에 관한 책을 보았습니다. 그러나 책은 7 년 또는 그 이상이었습니다. MPI는 여전히 새로운 애플리케이션을위한 유효한 기술 선택입니까 아니면 다른 분산 프로그래밍 대안 (예 : DataSynapse GridServer)에 의해 대체되어 보입니까?MPI에 관한 최근의 책이 없습니다. 죽어 가고 있습니까?

실제로 구현이 아니고 오히려 표준이기 때문에 학습을 통해 분산 프로그래밍 시스템을보다 효율적으로 설계 할 수있는 가능성은 무엇입니까? 그 대신에 내가보고 있어야하는 다른 것이 있습니까?

답변

11

어떤 MPI가 좋은지는 여전히 좋은 선택입니다. 기존 주제가 충분하고 MPI를 사용하는 대부분의 사람들이 더 많은 것을 필요로하지 않기 때문에 주제에 대한 최근의 책이 없을 수도 있습니다.

저는 MPI를 분산 프로그래밍 표준으로 규정하지 않습니다. MPI는 분산 메모리 컴퓨터에서 병렬 프로그래밍의 표준으로 자리 잡고 있습니다. 이는 현재 세계에서 가장 큰 컴퓨터 대부분을 다루고 있습니다.

나는 그것이 내가 Chapel, X10, 또는 가능성을보고 할 것 교체에 베팅한다면, 포트란 2008

그들이 높은 포함하면 당신이 당신의 요구 사항에 따라 달라집니다보고되어야하지만 과학 및 공학 코드에 대한 성능 - 번호 계산, Fortran 또는 C/C++와 MPI가 있어야합니다. 필자는 DataSynapse GridServer에 대해 들어 보지 못했습니다. Google은 완전히 다른 종류의 계산 문제를 목표로한다고 제안합니다.

편집 : 방금 Amazon에 'MPI'책이 있는지 확인했습니다. Gropp 외의 책은 지금은 조금 오래되었지만 여전히 MPI를 (사용하는) 많은 책이 출판되고 있습니다. 이것은 부분적으로 MPI의 사용을 반영한 것입니다. 컴퓨터 과학자들에게는 대단히 흥미롭지는 않습니다. 그래서 'MPI를위한 MPI'에 대한 책이 많지 않지만 많은 컴퓨터 과학자들에게는 흥미로 웠습니다. 그래서 'MPI가있는 물리학'과 'MPI 공학을 이용한 공학'의 꾸준한 흐름이 있습니다 . 관심 분야 밖에 있다면 MPI도 가능할 것입니다.

+0

저는 연구의 관점에서 흥미 롭습니다. 도메인 특유의 물리학이나 공학 서적을 집어 들게하는 즉각적인 응용 프로그램을 염두에두고 있지 않습니다. 그리고 나는 어쨌든 그들을 이해하지 못할 것입니다. 당신의 대답은 매우 유익한 것이므로 제 질문은 아마도 "MPI는 어떤 특수한 문제가 있습니까?" – Jono

+0

다른 질문입니다. 그것을 물어보고 답장을 얻으십시오. –

+0

또한 표준이 ~ 600 페이지 길이가되어 MPI를 상당히 잘 커버하는 경우도 있습니다. – Quantumboredom

3

2016 업데이트. MPI는 신뢰할 수있는 컴퓨팅 노드의 낮은 대기 시간 네트워크에서 분산 메모리 프로그래밍의 핵심입니다. MPI는 내결함성이 발생해야하는 프로토콜 계층이 아닐 수 있다는 점에서 질문의 자세가 옳다고 생각합니다. 2006 년경 우리는 SunGridEngine보다 MPI를 사용했습니다. 최근 Mesos의 MPI가 인기를 얻고 있습니다.


는 MPI 표준은 적극적인 개발에 있습니다 http://meetings.mpi-forum.org/MPI_3.0_main_page.php

주요 문제는 지금 우리는 10,000 개 이상의 프로세서가 장착 된 일부 시스템을 가지고 있으며, MPI 자체 그의 갖는 어려움 스케일링. 많은 열린 연구 문제. http://www.springerlink.com/content/q11r042317g88230/

+0

저는 3 백만 프로세스에서 MPI 응용 프로그램을 실행했습니다. 스케일링 한도는 런타임이 아닌 알고리즘입니다. – Jeff

+0

안녕하세요 이것은 2010 년경이었습니다. 3 백만 개의 값을 수집/분산/모두 투사 할 때 버퍼를 폭발시키지 않기 위해 게으른 스트림 처리가 필요합니다. 수집/분산/alltoall을 여러 개의 조합 파티션으로 분할하는 것도 한 가지 방법이지만 추악합니다. –

1

왜 책이 필요합니까? API는 잘 문서화되어 있습니다.

분산 시스템에서는 MPI 외에 다른 옵션이 없습니다.

Cray 및 G95의 Fortran 컴파일러와 같은 일부 컴파일러는 코어 어레이를 지원합니다. 그렇다면 당신은 UPC를 가지고 있지만 그것을 사용하는 사람은 본 적이 없습니다.

0

별도의 서적을 지원하기 위해 API 설명과 몇 가지 예를 '충분할만큼'(또는 사용자 기반이 너무 작거나 너무 똑똑하기 때문에) 아마 그렇지 않을 수도 있습니다. 병렬 프로그래밍에 관한 많은 책들이 여러 병렬 방법 중 하나로 다루고 있습니다. 최근 한 가지는 (2010 년 2 월) : "병렬 프로그래밍 : 멀티 코어 및 클러스터 시스템 용"Thomas Rauber, Gudula Rünger. 나는 그것을 읽지 않고있다. 왜냐하면 그것이 최근이고, 현장의 실제 전문가들 (둘 다 => MPI가 죽지 않았기 때문에)을 언급하기 때문이다. MPI 사용법에 대한 귀하의 머리를 감싸는 데 도움이되는 최고의 책에 관해서는 아마존에 대한 사람들의 리뷰 만 참조 할 수 있습니다. 그러나 제목에서 '평행'을 찾으십시오.

관련 문제