Síntesis de la xerrada de Google a la UPC
November 14, 2007 – 10:01 pmAvui he anat a una xerrada de Google a la meva facultat, des de l'última a la que vaig assistir per allà al 2001, ha plogut molt. Valia la pena escoltar les novetats de la companyia més "friendly" per part d'un grup d'enginyers.
La xerrada s'ha dividit en quatre parts diferenciades, una primera per trencar el gel i que introduïa els canvis que ha tingut la companyia al llarg dels últims 4 o 5 anys, on el número d'aplicacions que ha tret al mercat han augmentat considerablement. Google s'havia convertit en alguna cosa més que un cercador. Exemples com els que coneixem tots, gmail i altres, són en definitiva productes que han vist la llum ara fara relativament poc temps.
Aquesta primera part ha donat pas a una segona part força més interessant, que tenia com a finalitat explicar quina és l'arquitectura actual de software per a poder encabir aquesta multitud de productes. On tots ells es recolzen en la quantitat ingent de computadores que formen els diferents centres de càlcul, i que per tant totes elles utilitzen mecanismes/programari semblant per poder-ne fer us.
Aquesta segona part ha sigut presentada per un tal Roger, dels pocs enginyers catalans que actualment estan treballant per Google. Tot i no estar molt versat en l'ús de la paraula en públic, la seva part ha sigut de llarg de les més interessants.
En Roger ha fet esment de tres de les eines que actualment està utilizant Google per intentar abstraure al programador de la complexitat del sistema de hardware i fer-li la vida més fàcil per a programar. Ha parlat de Google File System, de Map Reduce i del desconegut fins ara Global Work Queue.
S'ha escrit ja molta literatura sobre GFS, i a la xarxa es poden trobar força papers que n'expliquen la seva arquitectura. Però pels neòfits en el tema comentar que l'objectiu final és intentar veure els milers de discs durs que formen els clusters de maquinari de Google com una sola partició. Cal prendre aquesta frase amb molta cautela.
De MapReduce en tinc pocs coneixements i la veritat es que l'explicació del Roger tampoc no ha sigut molt aclaridora, però una idea general si que la tinc. MapReduce s'utilitza per paral.lelitzar de forma automàtica el tractament grans quantitats de dades. En certa mesura ens proporciona un read sobre gfs que automáticament paral.lelizar la lectura en centenars d'ordinadors. Existeix si no tinc entès malament alguna implementació lliure feta en Java, i s'anomena Hadoop i que és part del projecte Apahce. Tot i no saber-ne gaire cosa tècnicament sembla força obvi, un cop llegida l'especificació de gfs, que aquest és un complement necessari per a l'estructura actual de Google.
De Global Work Queue era la primera vegada que en sentia a parlar en l'àmbit de l'arquitectura de Google. I parlo de l'ambit de Google perque aquesta eina la tinc gairebé cada dia rondant pel meu cap. Global Work Queue es una implementació molt semblant al meu PFC, i la idea bàsica és tenir un Job scheduling Queue per a distribuir de forma automàtica treballs al llarg dels diferents nodes que conformen la seva xarxa de computadores.
Aquesta segona part s'ha acabat aquí, no espereu explicacions sobre com funciona Page Rank, com funcionen els sistemes de cache interns, com s'ordenen els resultats. El tema d'algorítmica és ara per ara un secret professional.
La tercera part també ha sigut força interessant, aquesta l'han dedicat a parlar sobre el consum energètic i les mesures que s'estan prenent per reduïr-ne el consum o les formes per acostar el factor treball/energia a 1. Han fet un repàs força interessant sobre les principals causes de pèrdua d'energia - transformació per dissipació - als milers de computadores que tenen, i com construïnt per exemple les seves pròpies fonts d'alimentacíó han aconseguit reduir entre un 20 i un 30 % la pèrdua d'energia.
En aquesta part també s'ha fet esment a la problemàtica de les fallades de hardware i en certa mesura com han tingut que evolucionar al llarg d'aquest anys en mesures preventives.
La última part de la xerrada l'han dedicat exclusivament a fer propaganda del bon rotllo que hi ha a l'empresa, les formes de treball i les avantatges que aquesta et subministra - beques per seguir estudiant, formes de treball poc jerarquitzades, etc.
La part de preguntes ha estat quasi totalment monopolizada amb el tema de la privacitat de les dades, cosa que ja està bé. En el meu cas he intentat fer alguna pregunta una mica més tècnica i enfocada a descobrir quelcom més de GFS i dels llenguatges de programació que actualment estan fent servir, la resposta a la segona pregunta - la dels llenguatges - m'ha sorprès força al comentar-me que s'utilitza Java de forma indiscriminada a la capa de serveis i C++ en les tasques internes, deixant Python per a l'experimentació.
En definitiva, una xerrada força light a nivell tècnic però interessant.