in

Project Angstrom: Un sistema operativo con “latidos”

Hoy en día tenemos acceso a varias opciones en materia de sistemas operativos. Cada uno tiene sus puntos a favor y en contra, pero seguir el ritmo del hardware e intentar utilizarlo a pleno es un desafío que todos los programadores y desarrolladores deben enfrentar, especialmente en esta época de múltiples núcleos por cada procesador. Sin embargo, la gente del MIT está desarrollando el llamado proyecto “Angstrom”, un sistema operativo que puede optimizar procesos administrando el hardware de la misma forma que un cuerpo humano requiere más energía o precisión para determinadas tareas.

Desde un simple núcleo hasta los más recientes ejemplares de ocho por chip, los procesadores han avanzado de forma considerable. Con la carrera por la velocidad de reloj muerta y enterrada, los fabricantes continúan aumentando el poder de los procesadores a través de la adición de núcleos. Pero este beneficio tiene sus límites, y el primero de ellos es el software. En términos simples, está tomando mucho trabajo encontrar formas de desarrollar y optimizar código para hacer uso de todos los núcleos disponibles en un sistema. Y cuando el problema no es la falta de optimización para los núcleos, es su “no utilización”. Un sistema operativo actual no utiliza a todos sus núcleos constantemente ni tiene una gran idea sobre cómo administrarlos, y en muchos casos, el hardware incluso desactiva núcleos porque no se encuentran en uso. Algo parecido sucedía en Windows XP con gigabytes de RAM enteros que no estaban siendo ocupados. Windows Vista y Windows 7 aplicaron otra perspectiva, pero el inconveniente de fondo sigue presente: El software no sabe cómo ser más eficiente con el hardware.

Para solucionar esto, la gente del MIT tiene una idea con su “Proyecto Angstrom”. Básicamente, de la misma forma en la que el cuerpo humano da indicaciones de sus necesidades para un correcto funcionamiento (hambre, sed, sudor, sueño, etc.), Angstrom permite a los desarrolladores que creen aplicaciones para el sistema operativo asignar “cuotas de rendimiento”, administradas por un sistema de medición al que han bautizado como “latidos”. Por ejemplo, si un programa multimedia necesita reproducir un vídeo a 30 cuadros por segundo, Angstrom detecta su “cuota de rendimiento” para alcanzar esa cantidad de cuadros, y asigna “latidos” a dicho proceso para garantizar su correcto funcionamiento. Esta administración de recursos se extenderá a los cientos de núcleos que se esperan en los procesadores futuros, pero si bien el software hoy representa al factor limitante, también necesitará de ayuda.

Los procesadores que utilizamos en estos días pueden parecer muy poderosos, pero lo cierto es que la velocidad de comunicación entre los núcleos sigue siendo mucho más lenta que la comunicación “dentro” de un núcleo. A medida que se aumenta la cantidad de núcleos, la velocidad de comunicación entre ellos deberá incrementarse de forma considerable, por lo que el método de trabajo de Angstrom también requerirá de importantes cambios en la forma en que se fabrican los procesadores. Por ahora, la alternativa sigue siendo la misma de siempre: La optimización de código, y los dolores de cabeza asociados para los desarrolladores. Pero hay mucho potencial en Angstrom, y lo más importante, algunos billetes provenientes de DARPA que le dan un gran respaldo.

Reportar

¿Qué te pareció?

Escrito por Lisandro Pardo

16 Comments

Leave a Reply
  1. Espero que éste sistema operativo y sus componentes sean tan libres como GNU/Linux o que al menos liberen un fork al estilo Redhat/Novell SUSE y Fedora/OpenSuSE, para los civiles 😉

  2. Hola… por si alguien sabe… conocen algún sistema operativo con el cual pueda simplemente navegar y ver videos……? quiero decir que no me interesa que pueda hacer nada más, siquiera guardar archivos…… solo navegar y ver videos por internet…..
    Saludos y gracias!

  3. si alguien suelta un poco de mas informacion de esta tecnologia de los altidos en linux seria bueno o un link donde se pueda hallar la informacion.

    • #6
      Pues son tan poco específicos con esto de "los latidos", que es difícil decirlo. Sin embargo GNU/Linux, FreeBSD y seguramente también OSX tienen un componente llamado CPU Governor que lo que hace es, una vez configurado, disminuir y aumentar el voltaje ("throttling") suministrado a cada procesador o núcleo, según la actividad del sistema. En Windows XP/Vista/7 también es posible instalar algo llamado "Granola" que actúa justamente como el CPU Governor de GNU/Linux.

      Sobre lo de "no saber administrar los procesadores" me parece una estupidez esa afirmación, GNU/Linux se usa en computadoras con miles de procesadores/núcleos y terabytes de memoria para investigación. Obviamente que sí los puede administrar, en realidad los únicos que no lo administraban bien eran los sistemas operativos de Microsoft, pre-Windows 2000. Sin embargo si parece que Angstrom los podría administrar mejor, pero suena a ciencia ficción tener un nivel tan fino de control a menos que el software tenga alguna manera de ser más explícito con el sistema operativo respecto a lo que necesita hacer.

  4. Donde puedo hallar información de linux con respecto a esto de los latidos? me interesa este tema pero he buscado y he conseguido poca informacion..

  5. pense que eso ya pasaba en cada sistema operativo, al ocupar mas recursos el sistema asignaba mas memoria, bueno eso pensaba de entornos linux…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Guerra nuclear contra el calentamiento global

Gmail: ¿Cómo respaldar tus correos de Gmail?