
Recuerdo cuando escribí una entrada en la que comentábamos la existencia de unos procesadores de 100 núcleos. Por entonces pensaba que era algo que casi podríamos encajarlo en una película de ciencia-ficción, pues aquél era un producto un tanto difícil de conceptualizar.
Pero la tecnología avanza a pasos agigantados, y como tal, hoy nos gustaría hablaros de los nuevos procesadores Intel de 48 núcleos. Estos modelos, que próximamente empezarán a utilizarse en determinados centros de investigación, son prototipos funcionales construidos sobre una arquitectura totalmente nueva y experimental, que de ninguna forma va a llegar al mercado tal y como actualmente se está desarrollando. Es, más bien, un proyecto propio de Intel con el que esperan poder sacar conclusiones que posteriormente serán llevadas, estas sí, a los microprocesadores que se comercializarán en un futuro.
El chip de 48 núcleos que enviarán a determinadas instituciones está formado por pequeños Intel Atom, modificados notablemente para que puedan comunicarse los unos con los otros a través de circuitería muy compleja. Ésta es una de las grandes ventajas de este procesador, ya que está diseñado para aplicaciones desarrolladas específicamente para que puedan utilizar toda la potencia del dispositivo: es lo que más comúnmente se denomina como computación paralela o concurrente, y en donde lo que se busca es mantener un alto nivel de uso de CPU en todos sus núcleos.
Éste es un ejemplo que nos vuelve a demostrar que los fabricantes están buscando la forma de mantener la evolución en la potencia de nuestros ordenadores. Desde hace tiempo se está llegando al límite de los materiales con los que se construyen los microprocesadores, y por ello se están buscando otras formas de continuar los desarrollos. La computación en paralelo no es algo nuevo, pues la estamos viendo tanto en los micros de varios núcleos y múltiples hilos de ejecución (presentes desde hace ya muchos años) como en las últimas tecnologías, como CUDA o ATI Stream, que permiten que otros dispositivos hardware actúen de apoyo a la CPU.

Es por esto, además, por lo que la frecuencia de un microprocesador ya vale de muy poco, y en absoluto puede considerarse como el identificador único para determinar su una CPU es mejor o peor. El futuro está en la concurrencia, el paralelismo y las aplicaciones software que puedan aprovechar múltiples núcleos de proceso, ya sean éstos incluidos en la propia CPU, en otros componentes hardware o, por qué no, en la nube, en un ordenador a cientos o miles de kilómetros de distancia.
El futuro es prometedor, y se centrará en crear aplicaciones software que sean multihilo, concurrentes y que puedan aprovechar toda la potencia que brindan las últimas generaciones de componentes hardware. No obstante, desde el punto de vista del desarrollador y programador es algo que es muy complejo, y en absoluto trivial o sencillo. Sí es cierto que en el ámbito profesional se lleva varias décadas desarrollando para multiprocesadores, pero se trata de programas y aplicaciones muy específicas y que resuelven problemas sencillos, en los que lo que se busca es la ejecución de millones y millones de operaciones.
En nuestro campo, el de los usuarios domésticos, el problema es radicalmente opuesto. Nuestros ordenadores están preparados para ejecutar cualquier cosa, cualquier programa, y no se puede crear una CPU de propósito general que rinda igual a como lo hacen las CPU diseñadas para aplicaciones específicas.
En unos años ésto va a tener que cambiar, sí o sí. El microprocesador de 48 núcleos de Intel es por ahora un simple prototipo, funcional y real y que con toda seguridad sabrán aprovechar al máximo. Sin embargo de nada sirve en un hogar, pues un sistema Windows, Linux o MacOS X, con unas aplicaciones tan simples como las que todos nosotros manejamos, no le sacarían ni una centésima parte del rendimiento que es capaz de ofrecer.
Reitero, una vez más, que el futuro es prometedor, desde luego. Pero aún queda muchísimo por recorrer, y los primeros que tienen que ponerse las pilas son los desarrolladores y los programadores, empezando por los que trabajan a más bajo nivel y terminando por los últimos picacódigos.
Vía | Engadget.
Más información | NetworkWorld.
Comentarios
logica evolucion... mientras esperar aplicaciones multihilo que nos permitan explotar los nuecleos que ya tenemos... este prototipo da para fantaserun poco.... gracias WhisKiTo
interesante
tenemos 8 0 12 hilos colgados. y aplis que usan uno! fu
con 48 netbook y un poco de pegamento te monto yo uno de estos y de regalo 50 kilos de platicuchos
Y digo yo, si la tendencia es en añadir microprocesadores y estamos lejos de competir con la potencia de los que son específicos para hacer tareas... porque no añadimos procesadores específicos en vez de fabricar clones en paralelo? Porque a nivel de coste no lo veo tampoco muy excusado si el rendimiento lo vale.
Un chip con 47 procesadores específicos y uno general para gobernarlos a todos, eso si que me hace fantasear jaja (desconozco la viabilidad de los procesadores específicos)
brillante
El problema sigue siendo el mismo: que el software sepa dividir las tareas para cada núcleo.
A ojos del sistema operativo lo que ve son hilos de ejecución, le da igual que sea en uno, dos, tres o cuatro procesadores.
interesante
Lo que sucede es que o WhisKiTo está "un poquito" equivocado o realmente no supo expresar su idea. Los micros que usan en universidades y centros de investigación son de propósito general. Simplemente los cálculos que se hacen en ellos son pensados para correrse mediante paralelismo. Es decir, algoritmos altamente paralelizables.
No es que sean micros "sólo para sumar" o "sólo para factorizar", claro que no, simplemente los cálculos que se hacen en ellos son pensados para resolverse con varios núcleos.
Lo que sucede día a día en nuestros hogares es que estamos realizando tareas que o no son paralelizables o lo son difícilmente o son de difícil implementación.
Por empezar, es casi imposible predecir que tareas haremos en nuestra PCs, así que el sistema operativo no puede organizar hilos según orden de terminación, ni tiempo estimado, por ejemplo. Por el mismo principio, tampoco podemos estimar cuanto tiempo le tomará a un proceso dar el resultado que espera otro, así que no sabemos como sincronizar ambos procesos.
Ese tipo de problemas son solubles cuando lo único que tiene que hacer una computadora es mil millones de veces el mismo cálculo (por ejemplo).
Por otro lado, es seguro que cada uno de estos microprocesadores con 48 núcleos cuesten más que cualquiera de nuestras PCs. ¿Pagarías más que lo que pagaste por 48 núcleos? Yo no.
Bueno... siempre tenemos sistemas que ayudan a mejorar los hilos ejecución como el incluido en Snow Leopard Grand Central Dispatch que optimiza las tareas entre los hilos de ejecución disponibles, 16 en el caso de un Mac Pro.
interesante
Vale, entendía como específicos los que hay montado como las tarjetas gráficas: procesador encargado de manejar video, procesador para cálculos, procesador para xxxx... entendido.
Entonces básicamente el problema radica en coordinar la distribución de procesos entre núcleos; sigue saliendo más a cuenta que uno solo se encargue de hacerlo todo en previsión de la incertidumbre de cómo se dividirán los procesos, que puede resultar bastante nefasto que varios núcleos se encarguen de diferentes partes de un mismo proceso pues. Lo único que hace el tener más núcleos es tener más hilos para que trabajen paralelamente y no tengan saturado uno, así poniendo un ejemplo ruin; si tenemos 4 núcleos y dos hilos por núcleo tenemos 8 canales para ejecutar procesos al mismo tiempo sin que se vean comprometido el rendimiento general siempre y cuando uno no se vea desbordado y tenga que recurrir de más de un núcleo, no?
Siento el rollo es para verificar que me ha quedado claro! Merci por la aclaración :)
Con lo del coste me refería que fabricar procesadores clones es económico, pero que si fuera viable (cosa que ahora sé que no es) crear microprocesadores con núcleos para procesos específicos, que tampoco creo que resultase tan caro, hablando de microprocesadores doméstico, no hablando del precio de 48 núcleos o 24; que es evidente que son caros. :)
interesante
Entendiste todo la mar de bien, sólo una aclaración para estar seguros.
Los hilos son procesos (programa o parte de él). Tener dos hilos por núcleo implicaría que hay dos procesos en cada núcleo ejecutándose. Ergo, la cantidad de hilos dependen del software y como esté programada una aplicación y no es inherente al micro. Aclaro por las dudas que lo hayas entendido mal.
Para complicarlo un poquito más (perdón) te explico: antes los hilos se separaban en tiempo, el sistema operativo decía "a ti te doy 1 milisegundos de proceso, a ti 2, a ti nada...". Al tener dos núcleos o más, el sistema operativo hace lo mismo que antes, sólo que ahora puede correr un hilo por cada núcleo al mismo tiempo. Más núcleos tengas, más hilos (procesos) corres simultáneamente.
Espero no haberlo complicado mucho. Suerte.
interesante
Que va, se agradece! :) Encuentro básico entender un poco el funcionamiento de las cosas y la verdad que has aclarado muchísimas :D
interesante
Claro, lo que quería explicar era precisamente lo que indicas: que las aplicaciones más de investigación y desarrollo suelen estar optimizadas para múltiples hilos.
interesante
GCD es un calendarizador que separa hilos entre núcleos o es un framework para desarrollar aplicaciones multinúcleo.
Pregunto porque pensé que era lo segundo y no lo primero.
-- editado por última vez a las 23:52
Gracias por aclarar, WhisKito. Ravnicka, no es nada explicarle a quien quiere aprender ;) .
Saludos!
Yo tampoco pagaría tanta pasta por 48 núcleos!, jaja. Creo que si invirtieran más en mejorar los procesadores de un sólo núcleo, ganarían en consumo, rendimiento y precio (lo del precio ... lo dudo un poquito, pero bueno ...).
interesante
Yo creo que el mayor problema es si interesa de verdad que el software evolucione para que aproveche cada núcleo, lo digo más bien, porque aunque tengas un quad core o six core, si usas un software que no se adapte a cada core no notaras el avión que tienes de pc y ahí entra de lleno el consumismo y la necesidad de tener un hardware más rápido. Es como las farmaceuticas, tienen medicamentos que puede combatir enfermedades que "a día de hoy no tienen cura", pero no les interesa sacarlos, porque de esta manera ganan más dinero porque los pacientes toman más medicamentos y nunca se curan. Es así de triste, pero es así.
Es muy posible que los haya: cuando tengamos un montón de núcleos no tiene sentido que todos sean del tipo x86 poco eficiente (requiere más transistores que otras arqutecturas más modernas). Es muy probable que haya núcleos especializados en ciertas tareas: ocuparían mucho menos sitio que un x86 y serían mucho más rápidos/rentables o especializados en otras tareas. Es un tema que se ha comentado muchas veces. A nivel de PCs de consumo todavía estamos muy lejos de ello, pero llegará un día en que sea algo rentable: ¿qué sentido tiene tener 64 núcleos x86? Yo veo mucho más rentable tener por ej 16 o 32 x86 y el resto que sean núcleos especializados mucho más eficientes.
5 Comentario moderado
13¿Te refieres a "Crysis"? Bueno, mejor quéjate con nVIDIA o ATi, que tanto AMD como Intel lo estás haciendo bastante bien en el campo de los microprocesadores.
interesante
Ati hay que reconocer que su serie 5000 es una autentica joya... potente... silenciosa... no se calienta... y nVidia... un pelín mas potnete pero abusando de watts... y por no hablar del calor del chip fermi... eso vale testeado en los EEUU en invierno a bajo cero vale... pero en Andalucia a 40º esa gráfica nunca funcionaría... conclusión Ati gana el asalto
ATi pertenece a AMD aunque digan que no se meten mucho en sus asuntos y que los trabajadores son los mismos..
Aun así un micro le puede chupar la punta de la .... a una grafica ya sea Ati o Nvidia por que las VGA s ha avanzado mucho mas que las CPU s mas que nada porque no dependen mucho del resto del equipo van a su bola con su memoria su propia GPU, solo esta el pci-e que la comunica con la CPU intercambian algo de información.
Encima si al micro le putean con 1000 estandares que tiene que saber manejar que si DDR DDR2 DDR3 discos duros etc etc.. Mientras que la grafica con su super GDDR5 a 7GHz efectivos en algunos caso suya propia que utiliza cuando quiere pues claro que le da 1000 vueltas a una CPU!
interesante
nadie te ha reido el chiste y te están intentando dar una clase de hardware... a mi sí me ha hecho gracia, te ganas un poco de karma jajajajajaja
Suiz... pero las CPU se dedican a un tipo de operaciones diferentes a las GPU... es como comparar un Motor V8 de un Fórmula 1 con el motor de un tractor... uno da mas Cv y otro mas par... lo mismo con las GPU y CPU... cálculos folantes... órdenes de instrucciones... etc... lo ideal sería una convinación CPU / GPU / 1 solo sistema de memoria que se combinase para resolver las instrucciones via visual y a su vez por operaciones flotantes y dejando las integradas en el pasado.
Que use CUDA para aliviar la carga sobre la GPU no ?
interesante
A ver, a ver. Antes que nada, perdonen. Yo nunca hablé mal de nVIDIA ni de ATi, simplemente era para aclararle a nemik que actualmente, el límite gráfico esta dado por las GPUs y no por los CPUs, por una o por otra razón esto es así.
En procesadores vamos sobrados, si actualmetne el quad-core más barato cubre con mucho las necesidades de casi cualquiera. De hecho, para jugar no es ni siquiera absolutamente necesario más de dos cores.
Disculpen si produje algún malentendido.
Aclaro un poquito en el comment más arriba.
interesante
Y esto mismo se aplica a los programadores de videojuegos, por eso para sacar partida a una gtx 480 con un i7 aún les queda tiempo. La gente que mira fps en reviews de juegos antiguos es que ya me da idea de lo que saben.
38 Comentario moderado
13eso decian del doble nucleo ,,la tecnologia del futuro y ahora con 48 fijo en unos eños estan aki por que no
Ahora la pelota (en mi opinión claro) esta en el tejado de los sistemas operativos. Tienen que espabilar y hacer el sistema enterito multinucleo que es aquí donde mas partido le podrán sacar a esto, aunque claro hacerlo es muy complicado sobre todo la gestión de memoria y recursos.
Según mi profesor de arquitectura de computadores, las empresas como intel y amd no están sacando procesadores con tantos núcleos como ellos quisieran pues las aplicaciones son demasiado secuenciales, como bien se dice en el articulo.
Cierto: no deberían ser las aplicaciones las que tengan que estar diseñadas para los sistemas multinúcleo, sino el SO el que asigne tareas a los distintos núcleos para agilizar las aplicaciones.
Si no al final veremos que las aplicaciones serán todas iguales, realizadas con las mismas herramientas (ya que realizar una aplicación desde cero será casi imposible para la mayoría), y con pocas novedades de unas a otras.
interesante
Recuerdo que si bien los sistemas operativos son los encargados de equilibar la carga de distintos procesos, son lo mismos procesos los que deberían mejorar su paralelización, ya que por muy buen trabajo que haga el SO repartiendo hilos, si los hilos no se entienden entre si la velocidad de respuesta dentro del mismo programa siempre será la misma.
Saludos.
Pasos muy agigantados.
Me imagino la capacidad de los procesadores en el futuro, cuantos núcleos tendrán, cuantos hilos de procesamiento tendrán....
¿Se imaginan un procesador de 500 núcleos?, ¿Suena ridículo, no?, pues al ritmo de evolución tecnológica no lo veo tan lejano. Pero lo mas seguro es que no sean para uso domestico.
yo soy un poco esceptico con eso de multiples nucleos, evidentemente és la evolución natural, però mi Sony vaio core 2 duo 2.2 ghz és EL DOBLE de ràpido que el servidor de mi trabajo un Intel xenon 4 nucleos 2.6ghz ejecutando un algoritmo metahuerístico codificado en java.
TANTOS NUCLEOS i miras en administracion de tareas i ningun nucleo està trabajando solo al 20% parece que se pasan la pelota los 4 nucleos i ninguno haga nada.
muy desepcionado la verdad. tanto nucleoo i ya ves...
-- editado por última vez a las 21:04
Hay vida más allá de nuestros PCs domésticos. Os invito a que echéis un vistazo a cosas similares que existen hace varios años por ejemplo en servidores Sun. (Para entornos empresariales y de investigación) http://en.wikipedia.org/wiki/UltraSPARC_T2 Creo que en Solaris llegabas a ver 64 procesadores "virtuales" un un servidor que ocupa 1RU. http://www.oracle.com/us/products/servers-storage/servers/sparc-enterprise/cmt-servers/031579.htm A ver que en que dirección va Oracle en la parte Hardware de Sun...
Hay vida más allá de nuestros PCs domésticos. Os invito a que echéis un vistazo a cosas similares que existen hace varios años por ejemplo en servidores Sun. (Para entornos empresariales y de investigación) Creo que en Solaris llegabas a ver 64 procesadores "virtuales" un un servidor que ocupa 1RU. (T5120) A ver que en que dirección va Oracle en la parte Hardware de Sun...
Bueno no es lo mismo, pero esta claro que hay cosas que impresionan mas que esto, lo que pasa es que hay cosas destinadas a produccion en serie y necesita unos costes mas "bajos" que algo unico que por el que pagas un dineral para que funcione bien.
Esta claro que esto es solo es el futuro de los pc de uso domestico, hay cosas mas interesantes fuera, como los procesadores cuanticos (suena a ciencia ficcion pero no lo es xD) la primera vez que lei acerca del "qubit" no me lo creia.
me da que no vamos a ver el cuantico
En casa no veremos nunca probablemente, pero al menos, verlo, lo puedes ver porque existe.
¿para cuando otros materiales? silicio hay tanto que aburre, xD
http://www.madboxpc.com/tilera-lanza-un-procesador-de-100-nucleos/
ahy tienen procesadores de 100 nucleos y no son tan nuevos como dice intel que intel diga algo no significa que sea el primero es como el eye infinity de ati hay compañias que tiene eso desde mas tiempo ejemplo matrox entonces por que intel o amd se acreditan algo que ya existe si ya hay compañias que lo tiene hacen mas tiempo ? mejor busquemos un poquito mas y no digamos que intel piensa diseñar o sacar o vender algo que ya existe por otras compañias :D
Los núcleos no lo son todo, es más, Intel ya tiene procesadores de 80 núcleos funcionando. La diferencia de este nuevo multicore respecto de los ya existentes anteriormente es la "calidad" de los procesadores. En este se emplean por así decirlo 24 Atoms de doble núcleo (en total 48 cores) que además incluyen un buffer especial que permite la comunicación entre cores mediante paso de mensajes (MPI) directamente.
La gran venta de los sistemas de muchísimos cores para un usario medio en estos momentos es ninguna, para un usuario normal es mejor disponer de unidades de proceso especializadas (Aceleración 3D, Aceleración de físicas, Reproducción de Vídeo, etc...).
[bye]
Consigue ir debidamente fluido el Crysis a 1920x1200 y todos los efectos al maximo? :D
40 Comentario moderado
-17mi opinion es que tendrian k poner mas dinero para la investigacion i la mejora para el futuro de la tecnologia esto es lo que nos ara avanzar