Hace algunos días atrás Apple liberó Grand Central Dispatch, una de las implementaciones más importantes en el flamante Mac OS X 10.6 Snow Leopard, una noticia que causó mucho revuelo y sorpresa para todos.
Para los que no lo saben, Grand Central Dispatch es la respuesta de Apple al problema de la programación paralela. En pocas palabras es una tecnología que optimiza el soporte de aplicaciones para procesadores con varios núcleos, haciendo más eficiente el proceso de lanzar hilos de ejecución mediante la administración de su propia ejecución en los diferentes núcleos del procesador. De cierta forma podemos decir que permite que los procesos y subprocesos de un programa se añadan a una lista para ser ejecutados dependiendo de la disponibilidad de recursos de procesamiento, para luego ser corridos en tantos núcleos haya disponibles, lo que aumenta considerablemente el rendimiento y explota las características de los procesadores de tenemos hoy. Además le da la posibilidad al desarrollador de programar una aplicación de forma más sencilla y sin dejar de aprovechar la potencia de los sistemas multinúcleo.
Pero… ¿Por qué Apple ha abierto Gran Central?
Esta es sin lugar a dudas una gran pregunta y la respuesta temo que sólo la tiene Apple. Sin embargo eso no quita que podamos intentar adivinar, ya que no se necesita trabajar en Cupertino para hacernos una idea.
El desarrollo de software que aprovechará esta tecnología va a ser claramente empleado por distintas distribuciones de Linux, nada que tenga que ver con Microsoft. Y es que OS X es tan distinto a Windows que no habría formar de portar el software al sistema operativo de las ventanas. Eso no quita que los ingenieros de Microsoft le echen un ojo para ver si encuentran alguna que otra solución para mejorar la perfomance de su código. Pero la cuestión es que Apple no tiene ninguna amenaza a la vista y probablemente muchas personas con la capacidad necesaria puedan explotar y mejorar aun más esta tecnología.
¿No son entonces las distros de Linux una amenaza para Apple? No son una amenaza directa para su cuota de mercado en lo que respecta a ordenadores convencionales. Sería poco probable que se creen aplicaciones de escritorio para Linux que aprovechan esta tecnología, pero si es de esperar que aparezcan para la línea de comandos.
La opción de paralelizar código en distintos núcleos usando Grand Central Dispatch si será bienvenida por los desarrolladores científicos de forma que el código no solo se ejecute sobre un Mac, sino también en Clusters de súper-computadoras.
Por supuesto que no todo podría ser perfecto, dado que aunque se haya producido la liberación del código de las APIS de Grand Central Dispatch, las extensiones del Kernel de las que depende han de crearse para cada una de las plataformas, lo cual requiere un trabajo adicional importante. Los compiladores que soporten Blocks son muy pocos, pero se presume que la empresa de la manzanita liberará sus cambios a GCC dentro de poco tiempo, como lo requiere la GPL, licencia actual en la que se encuentra Grand Central en este momentos.
Sea como sea todavía falto un largo camino para que esta liberación pueda aportar rendimiento en otros sistemas operativos. Pero es un paso importante que habla bien de Apple, la cual viene hace muchos años liberando hasta el el kernel de su sistema operativo, de Darwin y demás.
Un video-preview de Windows 8 hecho por Engadget
Copiar y Pegar en Mac OS X Lion
Construyen un cerebro humano artificial
Yo creo que Apple lo hace pensando en que, en cierta forma liberando el código, te estas ahorrando un trabajo. Te ahorras plata, ganas en innovación, ya que al ser libre, todos pueden ver de q se trata, corregir errores y hasta mejorar el codigo.
Una estrategia sensata, que todas las grandes compañías están llevando a cabo y Apple, no podía ser menos. La competencia con otros UNIXs dudo que le interese. Trabajan juntos en varios proyectos, Cupsys por citar un ejemplo (servidor de impresión). En realidad hasta a veces creo q ni le importa la competencia con Microsoft. Ellos hacen su camino solo, viven en su mundo aparte y hacen todo muy bien