Posts Tagged ‘Berkeley’

BOOM y Datalog: Nuevas alternativas para programación en las nubes

lunes, diciembre 21st, 2009

Según el MIT Review, un grupo de investigadores de la Universidad de California, Berkeley está trababajdo en un proyecto llamado BOOM que facilitará la creación de programas que corran en las nubes. La meta del proyecto BOOM (Berkeley Orders Of Magnitude) es facilitar la construcción de sistemas distribuidos que sean mucho más escalables, usando mucho menos código. La idea es que el desarrollador se pueda preocupar del flujo de datos del sistema, y no de las complejidades del sistema distribuido como tal.

Las «nuevas» técnicas de BOOM están basadas en técnicas de bases de datos originalmente desarrolladas en los 80s; específicamente, en un lenguaje llamado Datalog. Para ser precisos, el ambiente de desarrollo de alto nivel de BOOM se llama Bloom, y está basado en el lenguaje Dedalus. Los creadores de Dedalus lo han descrito como Datalog en tiempo y espacio; es una adaptación de Datalog que permite expresar sistemas distribuidos como un conjunto de invariantes lógicas. A su vez, Datalog es un lenguaje de consultas y reglas para bases de datos que se deriva de Prolog.

Nubes virtuales

miércoles, julio 22nd, 2009

En una entrada anterior mencionaba lo caro que puede ser mantener un data center. Una alternativa para los usuarios finales serían las nubes virtuales, creadas a través de la donación de ciclos no utilizados de computadores personales. La idea no es nueva, y de hecho tuvo mediano éxito con la plataforma BOINC, usada por proyectos como SETI@home.

La verdad no me queda claro cuál sería la diferencia entre una nube virtual y un servicio de Internet computing (como BOINC), excepto—tal vez—la interfaz proporcionada al usuario final.

Y hablando de BOINC y MapReduce, MapReduce es uno de los 13 enanos identificados por investigadores de Berkeley. Estos «enanos» representan diferentes métodos algorítmicos que capturan patrones computacionales y de comunicaciones. La idea es que estos patrones puedan ser usados para evaluar modelos y arquitecturas de programación paralela. En la página que describe el «enano» MapReduce hay un comentario que indica que BOINC puede ser visto como un «specification framework» para problemas MapReduce (que indica es básicamente una generalización del enano antes llamado Monte Carlo).