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
Publicar un comentario