¿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?
dc.parallel-comp
machine-models
Jeff Kubina
fuente
fuente
Respuestas:
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.
fuente
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 )
fuente
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.
fuente