MapReduce


El modelo de MapReduce tal como su nombre lo indica es bastante sencillo de usar, solo se tienen que utilizar los métodos de Map junto con el de Reduce para crear los programas.

Funcionan escribiendo la función Map que recibe valores y con ellos crea igual valores intermedios para que luego con la función Reduce que recibe los valores intermedios, se junten y produzcan un resultado, todo esto utilizando llaves para saber el orden correcto de la información que se está procesando.

Concuerdo bastante con la conclusión de que el MapReduce es un modelo sencillo de entender y usar, incluso para las personas que no cuentan con experiencia en eso de crear programas paralelos y concurrentes, ya que “oculta” varias de las implicaciones que conllevaría el usar algún otro modelo con las funciones de Map y Reduce.

La utilidad de este tipo de modelo de paralelismo se ve en el gran uso que se le da, ya que compañías como Google lo utilizan bastante en varias cosas, ya sea en su manejo de datos como en clusters para manejar una gran cantidad de data y dudo que solo ellos lo utilicen, es seguro que igual Amazon podría estar implementándolo en algunas de sus cosas, pero eso solo son especulaciones mías, ya que de igual forma podrían estar utilizando modelos más avanzados para su solución de programas paralelos y concurrentes.

Siento que la utilidad y eficacia de usar este modelo radica en su gran sencillez, por lo tanto, se podría empezar con esto junto con el OpenMP y llegar a ser complementarios en la enseñanza del paralelismo y concurrencia, ya que estos son fáciles de entender y usar solo que igual no estoy del todo seguro si cada uno cubre las deficiencias del otro, para eso tendría que investigar poco más.

Comentarios

Entradas populares