Microsoft Barrelfish, OS Multikernel Open Source

por

20017 posts

El mundo difícilmente podría volverse más loco.

Microsoft Research, en conjunto con ETH Zurich (una universidad tech suiza) han desarrollado el sistema operativo Barrelfish, un esfuerzo que no está destinado a continuar o reemplazar la línea de sistemas operativos de servidores (léase: no es el próximo Windows Server) sino que es un proyecto paralelo y, lo que es más impresionante, de caracter gratuito y código abierto, algo que se explica porque toma y reutiliza varios componentes de BSD.

La idea detrás de Barrelfish es prepararse para un entorno multinúcleo -cada vez más común en la computación de escritorio y los servidores- en donde se resuelva el creciente problema de escalabilidad. Verán, el uso compartido de memoria y la interconexión entre núcleos obliga actualmente a desarrollar cachés exclusivos, cachés compartidos con protocolos de coherencia y drivers que intentan traducir las instrucciones entre el software y los componentes del sistema. Es una mezcla que no está escalando bien, y que se hace más y más ineficiente mientras más componentes añades al sistema: en el límite, un CPU adicional no aporta rendimiento o incluso perjudica la eficiencia de todos los restantes.

La idea de Barrelfish es un enfoque multikernel en donde los distintos núcleos del sistema hablan entre sí a través del sistema operativo, el cual monta un bus más parecido a una red, y trata el hardware disponible como un conjunto de nodos administrados con la estructura de una base de datos.

En el planteamiento de Barrelfish los núcleos no son necesariamente núcleos de CPU: el GPU también es un núcleo. Los componentes ARM de una controladora, por ejemplo, otro núcleo, el northbridge, el southbridge, lo mismo.

multikernel

Me da la idea que en plataformas sencillas Barrelfish no puede competir contra el enfoque actual, en donde la comunicación se maneja via hardware y punto a punto, pero a medida que añadimos más y más componentes y núcleos la ventaja sí podría pasar al enfoque Barrelfish.

Pensemos que hoy en día nada impide construir un servidor de 8 sockets, cada uno con un procesador six-core, más dos tarjetas gráficas dual GPU… sólo ahí tenemos ya 52 procesadores que manejar.

El primer snapshot del sistema operativo puede encontrarse en Barrelfish.org y el paper con su justificación técnica está en este PDF.

Link: Microsoft, researchers release new operating system project: Barrelfish (NetworkWorld)