{"id":50,"date":"2009-03-04T10:06:38","date_gmt":"2009-03-04T14:06:38","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/xallam\/?p=50"},"modified":"2009-03-04T10:06:38","modified_gmt":"2009-03-04T14:06:38","slug":"collaborative-map-reduce","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/xallam\/2009\/03\/04\/collaborative-map-reduce\/","title":{"rendered":"Collaborative Map-Reduce in the Browser"},"content":{"rendered":"<p>Luego de hacer zapping horizontal por la web, me encontr\u00e9 con esto:<\/p>\n<blockquote>\n<p>After immersing yourself into the field of distributed computing and large data sets you inevitably come to appreciate the elegance of <a href=\"http:\/\/en.wikipedia.org\/wiki\/MapReduce\">Google's Map-Reduce framework<\/a>. Both the generality and the simplicity of its <em>map<\/em>, <em>emit<\/em>, and <em>reduce<\/em> phases is what makes it such a powerful tool. However, while Google has made the theory public, the underlying software implementation remains closed source and is arguably one of their biggest competitive advantages (<a href=\"http:\/\/labs.google.com\/papers\/gfs.html\">GFS<\/a>, <a href=\"http:\/\/labs.google.com\/papers\/bigtable.html\">BigTable<\/a>, etc). Of course, there is a multitude of the open source variants (<a href=\"http:\/\/hadoop.apache.org\/core\/\">Apache Hadoop<\/a>, <a href=\"http:\/\/discoproject.org\/\">Disco<\/a>, <a href=\"http:\/\/skynet.rubyforge.org\/\">Skynet<\/a>, amongst many others), but one can't help but to notice the disconnect between the elegance and simplicity of the theory and the painful implementation: custom protocols, custom servers, file systems, redundancy, and the list goes on! Which begs the question, how do we lower the barrier...<\/p>\n<p style=\"text-align: right\">Cito de: <a title=\"Collaborative Map-Reduce\" href=\"http:\/\/www.igvita.com\/2009\/03\/03\/collaborative-map-reduce-in-the-browser\/\" target=\"_blank\">Collaborative Map-Reduce in the Browser<\/a><\/p>\n<\/blockquote>\n<p style=\"text-align: left\">Plantea la excelente idea de contar con nodos \"gratuitos\" en la web para procesar dataset solo con contar con el navegador de un usuario, simplemente al colocar el URL de un sitio!<\/p>\n<p style=\"text-align: left\">Funcionar\u00eda de la siguiente manera:<\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/blog.espol.edu.ec\/xallam\/files\/2009\/03\/browser-mr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-51 aligncenter\" src=\"http:\/\/blog.espol.edu.ec\/xallam\/files\/2009\/03\/browser-mr-300x118.png\" alt=\"\" width=\"388\" height=\"151\" \/><\/a><\/p>\n<p style=\"text-align: left\">El proceso consiste en cuatro pasos:<\/p>\n<ol>\n<li>El Cliente se une al cluster al hacer un requerimiento al <strong>Servidor de Trabajos <\/strong>(server-job, que controla el proceso del trabajo).<\/li>\n<li>El trabajo es asignado al cliente, el cual consiste en un URL (<strong>Servidor de Datos<\/strong>) que contiene el dato a procesar y las funciones de map\/reduce.<\/li>\n<li>El trabajo es procesado en el cliente.<\/li>\n<li>Una vez terminado el trabajo, el cliente env\u00eda el resultado al servidor.<\/li>\n<\/ol>\n<p>Y que tiene de bueno?<\/p>\n<p>Pues, conseguir nodos que procesen trabajos de map-reduce es costo (financieramente y proceso), por lo que, al proponer un modelo como este, permitir\u00e1 plantear soluciones livianas y menos costosas.<\/p>\n<p>En <a title=\"Collaborative Map-Reduce\" href=\"http:\/\/www.igvita.com\/2009\/03\/03\/collaborative-map-reduce-in-the-browser\/\" target=\"_blank\"><strong>Collaborative map-reduce<\/strong><\/a> esboza el c\u00f3digo para el cliente y el servidor, para un proceso simple de <em>contar palabras.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Luego de hacer zapping horizontal por la web, me encontr\u00e9 con esto: After immersing yourself into the field of distributed computing and large data sets you inevitably come to appreciate the elegance of Google's Map-Reduce framework. Both the generality and &hellip; <a href=\"https:\/\/blog.espol.edu.ec\/xallam\/2009\/03\/04\/collaborative-map-reduce\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[4925,4923,4924],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-collaborative","tag-distribuidos","tag-map-reduce"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":2,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":53,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/posts\/50\/revisions\/53"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/xallam\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}