Jakie są scenariusze, dla których MPI jest lepiej dopasowane niż MapReduce?

O ile mi wiadomo, MPI daje mi znacznie większą kontrolę nad tym, jak dokładnie będą komunikować się różne węzły w klastrze.

W MapReduce / Hadoop każdy węzeł wykonuje pewne obliczenia, wymienia dane z innymi węzłami, a następnie zestawia jego podział wyników. Wydaje się proste, ale ponieważ można iterować proces, nawet algorytmy takie jak K-mean lub PageRank pasują do modelu całkiem dobrze. W rozproszonym systemie plików z lokalnością planowania wydajność jest najwyraźniej dobra. Dla porównania, MPI daje mi wyraźną kontrolę nad tym, jak węzły wysyłają do siebie wiadomości.

Czy każdy może opisać scenariusz programowania klastrowego, w którym bardziej ogólny model MPI jest oczywistą przewagą nad prostszym modelem MapReduce?

questionAnswers(5)

yourAnswerToTheQuestion