Una de las mejores capacidades de Mac OS X es la posibilidad de utilizar múltiples núcleos de proceso para realizar sus tareas. Pese a que los NeXTcube originales sólo tenían un procesador Motorola 68030 —mainframe en un solo chip, lo llamaba Motorola—, tenían un coprocesador gráfico basado en un chip RISC de Intel bastante difícil de programar, de modo que, en realidad, los sistemas multi-chip siempre han sido parte del sistema operativo NeXTstep, y que ahora es Mac OS X.

Sin embargo, igual que programar el chip RISC de Intel en los NeXTcube era bastante problemático, y se creó una API para ello, hacer programas que realmente sean lo más paralelos posibles no es trivial. Pues bien, según Mac OS Rumors, Apple e Intel están trabajando juntos en un sistema de paralelización del código que permite, en tiempo de ejecución, el máximo aprovechamiento de los núcleos, para conseguir el máximo rendimiento posible, sin tener que cargar al programador con la tarea de paralelizar de forma explícita su aplicación.

Así que, pese a que Mac OS X es bastante eficiente en cuanto a multitarea multihilo, si uno está en una máquina de cuatro núcleos, puede ver como los dos primeros núcleos tienen bastantes tareas/hilos, mientras que los siguientes no tienen tantas. Y no es tanto problema del Mac OS X, sino de que muchas tareas de proceso, pese a que potencialmente podrían estar subdivididas, realmente no lo están, con lo cual no se pueden dividir eficientemente entre los procesadores o núcleos disponibles.

Vista la tendencia actual de la industria a pasar de un gran número de GHz a un gran número de núcleos —la hoja de ruta de Intel incluye procesadores con 4, 8, 16 y hasta 32 núcleos, en el caso de Dunnington—, el usarlos de forma eficiente debe ser uno de los objetivos. Si se puede poner una gran cantidad de proceso en manos de las comunidades de cálculo masivo de la forma más eficiente, y de forma transparente al programador, puede ser un gran punto de venta para los sucesores de los Xserve basados en Intel Core… y para los chips de Intel en configuraciones Mac OS X.

Desde el punto de vista de la implementación, se me ocurre pensar que pueda tratarse de una tecnología de Intel que implemente en software lo que el _hyperthreading_ permite en hardware… pero con mayor inteligencia. Y demuestra que, después de todo, está habiendo un nivel de compromiso con Apple que no se había visto con anterioridad en ninguno de los suministradores de la casa de la manzana… No, Apple Records no, Apple Computer 😉

Vía Mac On Intel.


Comentarios

14 respuestas a «Rumor: Leopard será capaz de mejorar la multitarea»

  1. Uhmm… Si lo hacen.. los de Apple sin duda son unos genios…

    En parte es algo de lo que intentaron hacer los programadores de BeOS obligando a que todas las aplicaciones fuesen multihilo y con soporte smp.. Solo que con esta solución sería transparente para las aplicaciones actuales, para los usuarios, y para programadores….

    ¿Y en realidad sería lo contrario a hyperthreading no? En lugar de hacer creer al software que hay 2 procesadores en lugar de 1, haría creer que solo hay 1 cuando hay 2 o más..
    Para que 1 solo hilo pudiese, por ejemplo, aprovecharse de los diversos núcleos..

    Eso mejoraría mucho el rendimiento de aplicaciones bajo rosetta en un conroe/woodcrest de 4 núcleos.. (Lo cual es muy importante para la llegada de máquinas profesionales)..
    Habrá que ver como se las ingenia Apple para que las aplicaciones bajo rosetta den un rendimiento similar a lo que lo hacen en un G5 dual cuando saquen el sustituto con procesadores de Intel del PowerMac Quad…

  2. Se me ha olvidado decir, que hay que tener en cuen, que esto procede de MacOsRumors..
    Así que no es muy fiable..

  3. Me acabo de leer el artículo original.. Había entendido mal.. no es lo que yo decía..
    Lo que conseguiría esta tecnología es “convertir” un hilo en multiples hilos, de modo que el resto de núcleos pudiesen tener también trabajo 😉
    Si es estilo hyperthreading..

    Aún así, la misma mejora.. que no quede núcleo sin trabajar (aqui funcionarios no 😛 )..
    Pero me gustaría más ver a los desarrolladores optimizar sus aplicaciones para múltiples procesadores lo máximo posible..

    Pero claro, si ya les cuesta usar nuevas tecnologías del s.o., y portar las aplicaciones..
    Pues como para pedirles que optimicen al máximo y con previsión de tecnologías futuras..

  4. Hola, coolkamio, ¡mucho gusto de leerte por aquí!

    Sí, es Mac OS Rumors, y también están insistiendo en la posibilidad de que Apple saque no sólo Cocoal, sino también Carbon para Windows… así que fiables del todo no son 😉 Pero bueno, por eso aviso, desde el mismo titular, que se trata de un rumor…

    Una cosa que no es un rumor, sino que parece un hecho, es que Leopard será la primera versión para Intel creada íntegramente con los compiladores de Intel, lo que reducirá el tamaño del código respecto a gcc —el sistema de compilación actual—, y mejorará aún más la velocidad en esas máquinas.

  5. Avatar de mac1245
    mac1245

    disculpen la ignorancia, creo saber la respuesta a mi pregunta pero quiero confirmar,porque acabo de cambiarme a mac. el leopard asi como el tiger y demas se venderan, pero son actualizaciones del sistema? o en el dvd viene todo el SO?

  6. juande, eso si que estaría bien…

    Los compiladores de Intel son casi 2 veces mejores que los de gcc..
    Pon que eso se traduce en un aumento de 25% de velocidad general…
    Y el que compare la velocidad de Leopard con Windows Vista… Se quedará perplejo..
    Si Tiger se inicia ya en menos de 30 seg.. Con binarios más pequeños en Leopard… ¿Llegará al nivel de BeOS de 10-15 seg pero conservando la complejidad de Mac Os X?
    Y si consiguen que arranque en 10-15 seg.. ¿Para que queremos robson? Uhmm..

    Lo que ya molaría, es que los de Intel se portasen (o Apple les tocase los cataplines 😛 ) y sacasen sus compiladores de forma gratuita para usarlos con xcode.. De esa forma todas las aplicaciones free/share/open se beneficiarían de las optimizaciones que permite el compilador de Intel..

    Al menos, el Quicktime como componente del sistema se verá beneficiado y las aplicaciones que lo usen, pues también…
    Sería divertido ver a Quicktime comprimir video h.264 con 2 pases en el mismo tiempo que lo hace ffmpeg/x264 con 1 solo pase.. jejejejee 😛
    Vale, vale, ya sé que el compilador de Intel no hace milagros 😛
    ¿Que tal iría rosetta compilado con el compilador de Intel?

    Respecto a lo de carbon en windows, pues que quieres que te diga, preferiría que no…
    Que ya han pasado 5 años desde que salió Mac Os X, es hora de que todos los desarrolladores utilicen cocoa y xcode en sus aplicaciones… (Que luego pasa lo que pasa, Adobe, Microsoft…)..

    Pero weno, si eso hace que más desarrolladores usen Mac Os X para programar.. Pues..
    Desde luego, lo que está claro es que después de esta transición, Apple se va a poder permitir dar clases a TODOS de como portar aplicaciones sin perder apenas rendimiento..

    De tos modos, si hablamos de rumores/especulaciones me interesa más ese de SSE4 (Que decían está en desarrollo conjunto de Intel/Apple) y sería la primera SIMD superior a Altivec..

    P.D: Ya podrías modificar el cuadro de texto para enviar comentarios, que en safari se ve muy chiquitillo y el único que tiene la funcionalidad de ampliarlos es el Omniweb (todavía no está para Intel…) y eso que está hecho en cocoa.. (Luego decimos de Adobe :P)..

  7. Acabo de ver que la web de Omnigroup no va.. ¿Habrán cerrado?
    Lo mismo es un problema de DNS de ya.com..

  8. mac1245, si te acabas de comprar un Mac nuevo, lleva Tiger —Mac OS X 10.4.x—; en concreto, si en la parte superior derecha de la pantalla tienes una especie de lupa sobre un círculo azul —eso es la búsqueda Spotlight—, es que estás utilizando Tiger.

    Y Leopard saldrá entre finales de 2006 y principios de 2007, y estará a la venta para Macs con cualquier otro Mac OS X —quizá no funcione en los G3, aunque puede que sí—, y vendrá de serie con los Macs nuevos…

  9. coolkamio: Acabo de ver que la web de Omnigroup no va.. ¿Habrán cerrado?

    Pues quizá sí, para anunciar que todas sus aplicaciones son ya universales. Yo no he tenido problema de acceso.

    Oops, todas no, OmniWeb sigue sin tener ni siquiera una beta… Aunque de todas formas, es lógico, porque OmniWeb depende de una versión propia del WebKit, de modo que deben estar enfrascados a tope con la gente del proyecto WebKit para sacar una versión que les sirva en forma universal, no como binarios independientes…

  10. Avatar de Johnny Palmera
    Johnny Palmera

    Para el que decia que el Vista iria lento por estar compilado con los compiladores de Microsoft en vez de los de Intel, me gustaría añadir, que si algo hace bien Microsoft es compiladores, ya que sus compiladores NATIVOS (no la mierda esta del .NET), desde hace mucho que estan a años luz de los de Intel. Es lógico, Intel produce chips, Microsft Sistemas Operativos….

  11. Johnny, los compiladores de Microsoft son rápidos a la hora de generar código, pero el código más compacto lo generan los compiladores de Intel… justamente porque son los que mejor conocen el chip.

    Un compilador en realidad puede implementar una misma función con un número diferente de operaciones en código máquina. La selección de qué operación es la mejor depende de qué recursos ocupe cada una, y de qué efectos secundarios se pueden tolerar… y por supuesto, de cuánto tiempo tarda en ejecutarse cada opción. Y quien mejor sabe eso es el fabricante de los chips.

    Un caso raro es Metrowerks, que salió de Motorola para crear compiladores, y después tuvo que volver a la casa madre… porque hacía los mejores compiladores para los chips de Motorola, y sigue haciéndolo. Lástima que no acertaran con el vagón…

  12. Johnny, yo no me refería a los compiladores directamente, pero como te ha dicho juan de dios, efectivamente los de Intel pueden producir código más compacto.. Lo cual quieras que no, acelera en arranque del sistema/aplicaciones…

    Yo me refería, a que la beta de febrero de Windows Vista en un P4 Dual Core 3,4Ghz con 1Gb de ram, es más lenta que la beta de Mac Os X 10.0 en un G4 400Mhz con 128mb de ram… (No comparemos ya con posteriores versiones de Mac Os X). Y eso es sin WinFS.
    Si siguen optimizando Mac Os X y haciéndolo aprovechar más recursos, Windows Vista va a parecer ridículo al lado…

    De todos modos, ¿no se supone que el .NET es la panacea y que es el lenguaje de programación ideal para programar para Windows Vista? Ó ¿No era eso lo que decía/pretendía Microsoft hace unos años? En fins, el mismo tema de siempre con Microsoft, vendiendo vaporware…

    juande, creo que mac1245 se refería si a la licencia/dvd del Mac OS X que venden en caja es solo de actualización o completa.. Habría que explicarles que en el mundo de los macs no existe eso de las “actualizaciones” todas las copias del s.o. son completas…
    No hace falta instalar el s.o. anterior para instalar el nuevo, ni meter números de serie ni nada de esas tonterías para perder el tiempo…

  13. […] Ya mencionamos en un rumor sobre el trato que Mac OS X Leopard le iba a dar a la multitarea que Apple e Intel trabajaban conjuntamente en una tecnología que permitiría el mejor aprovechamiento de los núcleos, incluso en el caso de aplicaciones con pocos hilos, al poder decidir mejor la asignación de tareas. […]

  14. […] Memoria de Acceso Aleatorio: Rumor: Leopard será capaz de mejorar la multitarea […]

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.