¿El marco MapReduce es un tipo de BSP?

11

¿Es correcto llamar al framework mapReduce un tipo de framework de programación paralela síncrona masiva sin retención de memoria local dentro de los procesadores entre sincronizaciones? Si no, ¿qué modelo de programación paralela encapsula con mayor precisión el marco mapReduce?

Jeff Kubina
fuente
1
esa es una buena pregunta!
Suresh Venkat
gracias Suresh, ¿qué opinas, de acuerdo?
Jeff Kubina
elección difícil al seleccionar la mejor respuesta ya que creo que todos me ayudaron a obtener más conocimiento sobre mapreduce y cómo otros lo ven. Elegí la respuesta de Sasho, ya que me llevó a un documento que aborda mi pregunta como la mejor. gracias a todos.
Jeff Kubina

Respuestas:

11

En la sección 2 de http://arxiv.org/abs/1101.1902 , los autores definen un modelo de MapReduce que está estructurado intencionalmente como BSP. También prueban teoremas de simulación. Puede ser un buen lugar para comenzar.

Sasho Nikolov
fuente
5

Sí, mi opinión es que MapReduce clásico es un modelo BSP (y por lo tanto tiene sus limitaciones inherentes en el máximo rendimiento paralelo posible que se puede lograr). Sin embargo, el trabajo más reciente en MapReduce parece centrarse en nociones más flexibles de sincronización, lo que sacaría este "MapReduce generalizado" del estricto marco BSP. En particular, si uno replica algunos de los datos, entonces la estructura de sincronización se puede relajar, produciendo ganancias de rendimiento.

Véase, por ejemplo, el trabajo de Foto Afrati y Jeff Ullman: Optimización de uniones en un entorno de reducción de mapas, EDBT 2010. ( preimpresión )

András Salamon
fuente
2

Dado que en MapReduce hay un gráfico simple y estructurado subyacente al cálculo, esto puede clasificarse en mi humilde opinión como un modelo de flujo de datos.

Massimo Cafaro
fuente
Estoy de acuerdo, MapReduce tiene la misma estrategia de cálculo que una máquina de flujo de datos etiquetados. El lenguaje Pig de Yahoo incluso construye un lenguaje de flujo de datos sobre MapReduce.
Carne de res