답변

1

MPI는 새로운 분산 노드가 이미 시작된 그룹에 참여하기를 원할 때 현재 상황을 처리 할 수 ​​없다는 것을 알고 있습니다. 노드 중 하나가 오프라인 상태가되면 문제가 발생할 수도 있습니다.

MPI는 밑에있는 네트워크 관련 기계를 밝히지 않습니다. 그러므로 당신이 더 낮은 수준에서 뭔가를 필요로한다면 - 당신은 곤경에 처해 있습니다. 다른 한편으로는 그런 필요성을 생각하지 않으면 MPI를 사용하여 많은 시간을 절약 할 수 있습니다.

2

나는 ASIO에 대해 아무것도 모르지만 빠른 Google에서는 MPI보다 훨씬 낮은 수준으로 보입니다. 필자에게있어 MPI의 핵심은 ASIO가 제공하는 것보다 메시징에서 더 높은 수준의 추상화에 맞서 프로그램 할 수 있다는 것입니다. 당신이 시작하는 곳은 당신의 필요에 달려 있습니다. 고성능을위한 과학 코드를 병렬 처리하는 광산의 경우 확실한 대답은 MPI입니다. 필자가 사용하는 것이 확실하지 않거나 병렬 응용 프로그램과 달리 범용 분산 응용 프로그램을 작성하는 경우 최소한 내 기본 선택 항목인지 확신 할 수 없습니다. 글쎄요, 실제로 다른 접근 방식을 배우는 것을 피하는 것이 내 기본 선택 일 것입니다. 대부분은 MPI보다 덜 휴대하고 오래 가지 못하지만, 평등 한 출발점에서 시작한다면 이것이 최선의 선택이 아닐 수도 있습니다.

+0

그래서 MPI는 과학적 병렬성 및 수학에 적합하며 범용 분산 프로그래밍에는 적합하지 않습니다. 그 말은 공정한가요? – Rhubarb

+1

네, 그건 아마도 공평합니다. 이것이 MPI가 가장 많이 사용 된 도메인입니다. 또한 분산 된 것보다 병렬 계산에 더 적합합니다. 예를 들어 많은 분산 계산에 필요한 갱 (gang)에서의 프로세스 실패에 잘 대처하지 못합니다. –

관련 문제