Ist das MapReduce-Framework eine Art BSP?


11

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?


1
das ist eine schöne frage!
Suresh Venkat

danke Suresh, was denkst du, stimmst du zu?
Jeff Kubina

Eine schwierige Entscheidung bei der Auswahl der besten Antwort, da ich denke, dass sie mir alle geholfen haben, mehr über Mapreduce und die Sichtweise anderer zu erfahren. Ich entschied mich für Sashos Antwort, da sie mich zu einem Artikel führte, in dem meine Frage am besten beantwortet wurde. Danke an alle.
Jeff Kubina

Antworten:



5

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 )


2

Da in MapReduce der Berechnung ein einfaches und strukturiertes Diagramm zugrunde liegt, kann dies IMHO als Datenflussmodell klassifiziert werden.


Ich bin damit einverstanden, dass MapReduce dieselbe Berechnungsstrategie hat wie eine Tagged-Dataflow-Maschine. Die Pig-Sprache von Yahoo baut sogar eine Datenflusssprache auf MapReduce auf.
Rindfleisch
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.