Windows: Cuando más núcleos no son suficientes

Windows: Cuando más núcleos no son suficientes

por

Windows XP no aprovecha mi Phenom X4

Actualmente los microprocesadores con 6 núcleos nos seducen con su capacidad para ejecutar múltiples procesos, pero quizá muy pocos se pregunten ¿Qué ventajas me dan los núcleos extra?. Para despejarnos esa duda desde TweakTown llega un interesante artículo enfocado a los sistemas operativos Windows de Microsoft.

Desde tiempos de Windows NT los sistemas operativos de Microsoft soportaban múltiples microprocesadores, pero su scheduler (asignador de tareas) era muy básico. Luego con la aparición de Windows 2000 y XP este soporte mejoró añadiendo un soporte rudimentario para sistemas SMP (MultiProcesamiento Simétrico) y  SMT (MultiHilo Simultáneo) pero nuevamente este soporte no era muy maduro o eficiente; inicialmente Windows XP soportaba únicamente 2 microprocesadores, cuando hicieron su aparición los microprocesadores de 4 núcleos de Intel y AMD, el OS no podía manejarlos eficazmente. Tema que fue remediado en el kernel del Windows XP x64.

Windows Vista introdujo un scheduler mucho más eficiente el cual se acercaba al de los OS para servidor, pero gracias a decisiones desacertadas de Microsoft como el fragmentar demasiado las ediciones de este OS, sumadas a la mala prensa, dañó la adopción de este sistema operativo y su mejor implementación de SMT y SMP.

Es sólo desde inicios de este año que tenemos en Windows 7 un sistema operativo orientado al consumidor ampliamente adoptado, con un sólido y eficiente Scheduler multi-hilo y multi-CPU. Windows 7 posee un buen asignador de tareas y muy eficiente en la gestión de solicitudes y asignación de tiempo del CPU basado en la demanda y necesidad de la aplicación, no es perfecto pero si mejor a lo previamente existente.

Concluyen en que la falta de apoyo en los sistemas operativos a SMT y SMP ha sido la causa de que casi no existan aplicaciones enfocadas al consumidor que soporten múltiples núcleos. Los puntos para dicha conclusión se apoyan en los lanzamientos de software en tiempos cuando Windows XP estaba vigente apoyaban el uso de un solo núcleo y sus recursos, se tenía que recurrir al mediocre scheduler de XP con la esperanza de abrir una nueva instancia de aplicación en alguno de los núcleos libres, hecho que no sucedía siempre; ello se extiende también a los juegos muchos de los cuales a pesar de que los microprocesadores de doble núcleo son bastante extendidos en la actualidad no los aprovechan.

Justamente hace una semana salió una noticia de un ingeniero de Microsoft comentando las falencias de los actuales sistemas operativos con los microprocesadores multinúcleos, y la necesidad de rediseñar el kernel.

Link: When more cores are just not enough (TweakTown)