Ist es richtig, das mapReduce- Framework als eine Art synchrones paralleles Massenprogrammierungsframework ohne lokale Speichererhaltung innerhalb von Prozessoren zwischen Synchronisierungen zu bezeichnen? Wenn nicht, welches parallele Programmiermodell kapselt das mapReduce-Framework am genauesten?
dc.parallel-comp
machine-models
Jeff Kubina
quelle
quelle
Antworten:
In Abschnitt 2 von http://arxiv.org/abs/1101.1902 definieren die Autoren ein MapReduce-Modell, das absichtlich wie BSP strukturiert ist. Sie beweisen auch Simulationssätze. Kann ein guter Anfang sein.
quelle
Ja, meiner Meinung nach ist das klassische MapReduce ein BSP-Modell (und hat daher seine inhärenten Einschränkungen hinsichtlich der maximal möglichen parallelen Leistung, die erreicht werden kann). Neuere Arbeiten an MapReduce scheinen sich jedoch auf lockerere Begriffe der Synchronisation zu konzentrieren, die dieses "verallgemeinerte MapReduce" aus dem strengen BSP-Framework herausnehmen würden. Insbesondere wenn man einige der Daten repliziert, kann die Synchronisationsstruktur gelockert werden, was zu Leistungssteigerungen führt.
Siehe zum Beispiel Arbeiten von Foto Afrati und Jeff Ullman: Optimierung von Joins in einer kartenreduzierten Umgebung , EDBT 2010. ( Preprint )
quelle
Da in MapReduce der Berechnung ein einfaches und strukturiertes Diagramm zugrunde liegt, kann dies IMHO als Datenflussmodell klassifiziert werden.
quelle