Mis últimos tiempos y mis trabajos

Me he dedicado principalmente al estudio, a la tesis, a los amigos, a la novia.

En fin, buenos tiempos.

Estos casi dos años de trabajo en el Laboratorio de Comunicaciones Digitales (lcd.efn.unc.edu.ar) han sido realmente interesantes, por un lado, aprendí mucho sobre redes y comunicaciones, tuve que administrar los servidores, ponerlos en marcha, rearmar la red.

Conocí mucha gente, pude realizar cursos de posgrado (incluso sin haber terminado todavía mi trabajo final de carrera de grado ;) )

Por otro lado, las investigaciones que llevamos a cabo fueron realmente interesantes.

Lamentablemente la primera con la que habíamos comenzado, ANDeS (Argentinian Network of Distributed e-Health Services) no llegó a buen puerto porque los fondos no salieron (bueno, eso fue luego de 8 meses de investigación y en el momento en el que yo me encontraba haciendo algunos web-services y realizando profiling con oprofile mientras cargaba los servidores montados sobre apache sobre un debian etch).

Afortunadamente, luego de ese desencuentro, mi director, el Dr Jorge Manuel Finochietto me propuso trabajar sobre un tema innovador y realmente atrapante, en el que estoy terminando ahora mi tesis de grado.

Me propuso trabajar sobre los problemas que ocurren con la virtualización en servidores. Si uno busca por ahí, hay estudios realizados en donde un servidor no es capaz de aprovechar el 100 del ancho de banda de una red 10Gb Ethernet, sino que se llega a aprovechar entre el 30 y 40%, no mucho mas. Esto es porque el procesador no da a basto con la carga a procesar.

Si se tiene en cuenta que en 1 sola máquina esto ya es una sobrecarga, al considerar servidores virtualizados el caso es aún mas fuerte. El hypervisor realiza una red virtual con un switch virtual y genera las placas virtuales a las que se conectan los distintos servidores virtuales. O sea, no solo está la sobrecarga de procesar los paquetes entrantes, sino también que deben repartirse a los destinos correspondientes.
Ahí vino el tema, buscamos que se estaba haciendo y aparentemente hay algunos start-ups que prometen tener soluciones (pero ninguno las tiene o tenía hace unos meses en el comercio todavía), entonces vimos algunas alternativas de arquitecturas y decidimos trabajar para desarrollar la lógica y arquitectura de hardware que haga de conmutador para las máquinas virtuales y que además virtualice las placas. Esto tiene la ventaja que además de descargar parte de todo el procesamiento que debe llevarse a cabo en un solo procesador se baja a uno de propósito específico, se separa el tráfico en los distintos destinos, pudiendo así los distintos procesadores asignados a cada máquina virtual, realizar el trabajo con menor sobrecarga.

La investigación está llegando a buen puerto, ya tengo desarrollado un modelo de conmutador en SystemC casi todo en RTL sobre el que estamos realizando mediciones, y además he pasado parte a Verilog HDL. Pronto tengo esperanzas de poner algo de esta lógica en una FPGA.

Me parece que esto puede llegar a buen puerto y además, espero que las mejoras en performance sobre servidores virtualizados puedan llegar a ponerse en silicio.

Submitted by leo on Tue, 2008-12-09 14:24. leo's blog | login to post comments