Le framework MapReduce est-il un type de BSP?

11

Est-il exact d'appeler le framework mapReduce un type de framework de programmation parallèle synchrone en bloc sans rétention de mémoire locale dans les processeurs entre les synchronisations? Sinon, quel modèle de programmation parallèle encapsule le plus précisément le framework mapReduce?

Jeff Kubina
la source
1
c'est une bonne question!
Suresh Venkat
merci Suresh, ce que vous pensez, d'accord?
Jeff Kubina
choix difficile sur la sélection de la meilleure réponse, car je pense qu'ils m'ont tous aidé à acquérir plus de connaissances sur le mapreduce et la façon dont les autres le voient. J'ai choisi la réponse de Sasho car elle m'a conduit à un papier qui répond le mieux à ma question. Merci tout le monde.
Jeff Kubina

Réponses:

11

Dans la section 2 de http://arxiv.org/abs/1101.1902 , les auteurs définissent un modèle de MapReduce qui est intentionnellement structuré comme BSP. Ils prouvent également les théorèmes de simulation. Peut être un bon point de départ.

Sasho Nikolov
la source
5

Oui, mon avis est que MapReduce classique est un modèle BSP (et a donc ses limites inhérentes sur les performances parallèles maximales possibles qui peuvent être atteintes). Cependant, des travaux plus récents sur MapReduce semblent se concentrer sur des notions plus lâches de synchronisation, ce qui retirerait ce "MapReduce généralisé" du cadre strict du BSP. En particulier, si l'on réplique certaines des données, la structure de synchronisation peut être assouplie, ce qui entraîne des gains de performances.

Voir, par exemple, les travaux de Foto Afrati et Jeff Ullman: Optimiser les jointures dans un environnement de réduction de carte , EDBT 2010. ( préimpression )

András Salamon
la source
2

Étant donné que dans MapReduce, il existe un graphique simple et structuré sous-jacent au calcul, cela peut à mon humble avis être classé comme un modèle de flux de données.

Massimo Cafaro
la source
Je suis d'accord, MapReduce a la même stratégie de calcul qu'une machine à flux de données balisé. Le langage Pig de Yahoo crée même un langage de flux de données au-dessus de MapReduce.
Boeuf