CPU y GPU pueden colaborar para mejorar el rendimiento de nuestro ordenador

20 comentarios

Intel Core i5

Las actuales dos grandes arquitecturas de procesadores se basan en combinar GPU y CPU bajo el mismo chip. Tanto AMD Fusion como la familia Intel Core integran dos chips: el procesador central y el procesador gráfico. En la actualidad se están consiguiendo unos rendimientos más que aceptables, pero esto no quita para que se siga avanzando y desarrollando un campo cuyo límite es desconocido.

Investigadores de la North Carolina State University están trabajando en una evolución basada en las actuales arquitecturas de procesadores. Por ahora es un trabajo científico denominado CPU-Assisted GPGPU on Fused CPU-GPU Architectures, que será presentado próximamente en un congreso especializado. Lo más representativo de este estudio es que sus autores afirman poder incrementar un 21.4% el rendimiento de los actuales procesadores domésticos.

¿Dónde está la clave? Las arquitecturas actuales se componen de dos grandes partes, la CPU y GPU. Los dos son los “cerebros” capaces de procesar información, pero trabajan de forma diferente: mientras la GPU está orientada a tratar con información en punto flotante, la CPU realiza muchas más tareas (denominadas “de propósito general”). Sin embargo, es esta última la que suele realizar prácticamente todo el trabajo normal.

La clave, decíamos, está en que la CPU sea la gestora de la información, y la GPU la que realmente trabaja y opera con los datos. Es algo más o menos parecido a la arquitectura de NVidia Tegra 3 con su Companion Core, pero orientado a procesadores de los ordenadores más tradicionales.

Gestión, el futuro del hardware

Desde hace años el crecimiento del hardware en términos de potencia está siendo extraordinario. Lo común es duplicar el rendimiento ofrecido cada pocos años, mejorando además otros importantes factores como el consumo o la disipación de calor. La clave en esta evolución ha sido hacer procesadores que realizan el trabajo mucho más rápido.

Los procesadores, sean del tipo que sean, son dispositivos muy complejos en los que intervienen decenas de unidades de operación, cachés de memoria, circuitos de transmisión de datos y mucho más. A partir de ahora existe un camino muy interesante a tener en cuenta: la optimización del hardware y los recursos de los que disponemos.

NVidia Tegra 3

Uno de los mejores ejemplos de esto es Tegra 3: tenemos cinco núcleos que pueden realizar operaciones. Dada la ingente cantidad de información que hay que ejecutar (hablamos de millones de operaciones por segundo), es necesario designar un coordinador cuya única tarea será asignar el trabajo a realizar al resto de núcleos. Un símil de esta situación en el mundo real es un equipo de trabajo: cada trabajador puede realizar sus tareas de forma individual, pero si ponemos un encargado con experiencia al mando del conjunto el resultado será mucho más satisfactorio.

La cuestión del número de núcleos

Desde hace años vengo comentando la importancia del paralelismo en el mundo del hardware. Si bien es cierto que existen ciertas operaciones que no pueden realizarse simultáneamente con varios núcleos de proceso, tanto los sistemas operativos como la mayoría del software exigente deberán ir adaptándose a este nuevo contexto.

Esta situación no implica que los componentes físicos no deban evolucionar. Es evidente que el hardware también tendrán que cambiar y adaptarse, tomando medidas como la de Tegra 3 o la propuesta de los investigadores de la Universidad de Carolina del Norte. Bajo mi punto de vista es un interesante primer paso a adoptar aprovechando el reducido precio de los procesadores de varios núcleos.

Un punto importante a tener en cuenta de cara al futuro es que estas medidas de coordinación de múltiples núcleos serán más visibles cuantos más núcleos tenga el procesador. Afortunadamente, refiriéndonos a las CPU, estamos ante un campo que no para de crecer: ya hay modelos de hasta 8 núcleos y los fabricantes están preparando la evolución hacia los 12, y luego a los 16, quizá después 24… etc.

CPU-Assisted GPGPU on Fused CPU-GPU Architectures

El estudio CPU-Assisted GPGPU on Fused CPU-GPU Architectures por ahora no es más que eso: un estudio científico. No obstante, será presentado públicamente el próximo 27 de febrero, y seguramente tanto Intel como AMD tomen buena nota. Precisamente, AMD es una de las empresas que ha promovido la elaboración de la tesis.

Si nos ponemos en el mejor caso y en un futuro este estudio sienta las bases de las arquitecturas de los próximos tiempos, esto no lo veremos hasta dentro de unos cuantos años. Una nueva arquitectura es algo que se realiza a medio-largo plazo, con unos tres, cuatro o cinco años de adelanto en la mayoría de los casos. Vamos, que no es para la próxima generación, así que tomémoslo con calma.

Vía | TechSpot.
Más información | NCSU.

¿Quieres saber más?

Artículos

Artículos relacionados que probablemente también te interesen

Ver más

Respuestas

Preguntas sobre este tema que ha contestado la comunidad

+ Deja tu comentario

Comentarios

  • 1

    Avatar de afsoons !

    La idea de mejorar el rendimiento es muy buena creo que se debería de pensar ya la mejora de gestión en vez de meter tanto núcleos. Por cierto, el nombre de CPU-Assisted GPGPU on Fused CPU-GPU Architectures tiene su tela aprenderselo, como me apetezca buscarlo en un futuro es que no me acordare ni de la segunda palabra.

  • 2 Comentario moderado

  • 3

    interesante

    Avatar de cebado !
    cebado | 3 estrellas

    La idea es básicamente la misma que la del procesador Cell, que lleva un núcleo de propósito general (PPE) y 8 de coprocesadores (SPEs) muy eficientes en operaciones en coma flotante.

    Seguro que estudios como Guerrilla Games y Naugthy Dog (entre otras) podrían aportar mucha ayuda a la universidad que está haciendo la investigación, pues son líderes en la optimización de código para este tipo de arquitecturas.

  • Respondiendo a #3:
  • 13

    Avatar de DarkDudae !

    El problema de arquitecturas tan "complejas" es que si su optimización recae en la mano del software y esta es compleja, será difícil que termine de cuajar en el mundo del desarrollo.

    Confío en que este extra de potencia recaiga principalmente en el hardware, porque los desarrolladores actuales, cada vez tienen plazos de entrega más ajustados y la optimización queda siempre en un quincuagésimo plano (por desgracia).

  • Respondiendo a #3:
  • 15

    !

    Precisamente, el problema no es mas potencia, ademas un 21% me parece un % bastante fácil de conseguir en un periodo de tiempo pequeño(tecnológicamente hablando).El punto es que por mucho que mejoren los procesadores, el software que utilizamos actualmente no aprovecha para nada la potencia real de nuestros procesadores. Y ya son muchos años en que la industria se mueve así, mejoran mucho el hardware, pero lego no crean software capaz de sacarle partido. En cambio, en dispositivos como videoconsolas, se les saca un rendimiento muy grande al hardware, simplemente mediante evolución del software.

  • Respondiendo a #13:
  • 16

    Avatar de bloodstar !

    Mi proyecto de fin de carrera va de programa CUDA y de cosas de estas y tienes razón. No existe teconología que haga transparente el uso de este tipo de procesador (CPU+GPU). Hay que programar específicamente las tareas, lo cual es un trabajo de chinos. Hasta que no se consigua hacer más transparente, relegarlo al SO o al hardware (cosa imposible por ahora) no triunfará fuera de plataformas como investigación y consolas.

    El CELL es así, como dice cebado. Y precisamente por ser así es tan complejo la programación en la PS3 y al final el resultado es similar en XBox cuando en teoría la PS3 tiene mayor potencia teórica.

  • 4

    interesante

    Avatar de asturtorque !

    Hay que obviar que una GPU es mucho, muchísimo más potente que cualquier CPU, el problema es que solo ejecuta operaciones de coma flotante, y no es todoterreno como la CPU



    ¿Para cuando un Weblogs específico  de Hardware al igual que Genbeta que tiene uno de software?

    -- editado por última vez a las 19:52

  • Respondiendo a #4:
  • 6

    !

    Xataka es el blog que se especializa en Hardware, eso incluye a gadgets y procesadores :D, lastimosamente si fuera un blog de "solo procesadores" tendría muy pocas entradas, y sería mas una carga que algo útil (como por ejemplo si estuvieran genbeta y xataka juntos sería muy molesto de leer).

  • Respondiendo a #6:
  • 7

    interesante

    Avatar de asturtorque !

    Pero Xataca se centra mucho más en dispositivos electrónicos que en hardware en sí...

    Por ejemplo, en CHW o noticias 3d hay muchas entradas que no tiene xataca, por eso decía lo de un blog especializado en hardware, ya que practicamente noticias de HW hay tantas como de software...o más..

  • 5

    Avatar de Guille !

    Placas con 2 procesadores... 24 núcleos por procesador... 96 hilos de ejecución en total.... más gráficas con tecnología tipo CUDA o OpenCL..... renders en cuetión de segundos (o menos)... qué escalofrío más placentero....

  • 8

    !

    A la industria le interesa vender nuevos micros, no optimizar los existentes, muchos hilos de ejecucion, muchos gigas, pero no se demuestra en programas reales un salto cualitativo, van mejorando poco a poco para sacarnos todas las perras.

  • Respondiendo a #8:
  • 14

    Avatar de DarkDudae !

    No tiene toda la culpa la industria. El desarrollo de sistemas/programas informáticos cada día se paga peor debido a la amplísima oferta existente (lo cual es un arma de doble filo).

    Yo me dedico al desarrollo. En mi empresa, desarrollabamos un software para TPVs con una fuerte carga gráfica (relativamente hablando) con animaciones, efectos gráficos de todo tipo, etc. Al ir a probar el software en TPVs antiguillos (Celerons a 800Mhz con pantallas de 800x600) el programa funcionaba bastante lento. Empezamos a usar la GPU para optimizar algunas tareas, así como dividir procesos pesados en varios hilos de ejecución. Al final, todo esto fue inviable porque simplemente, los tiempos de desarrollo se multiplicaban.

    ¿La solución? Que el cliente adquiera un TPV más actual. Es triste, pero a la mayoría de equipos de desarrollo medios/pequeños, no nos queda otro remedio.

  • Respondiendo a #14:
  • 17

    !

    Te ha faltado decir que cuanto más avanzado es un desarrollo, más dinero y más tiempo cuesta. De esta forma se llega a un punto en el que sale más barato adquirir un nuevo ordenador que optimizar una cierta aplicación a una plataforma concreta.

    Por lo demás, totalmente de acuerdo.

  • 9

    !
    | 2 estrellas

    El dia que Intel haga una grafica decente los cerdos vuelan, la prueba de que no han conseguido nada en mas de cinco años esta en la futura ps4, de la que sono mucho y bastante de que podria llevar un procesador intel con grafica integrada, y a dia de hoy los resultados fueron tan malos, que ya es Vox populi que por lo menos la grafica sera nvidia (del procesador todavia no se sabe)

  • Respondiendo a #9:
  • 20

    Avatar de Juan !

    Porque están prácticamente comenzando. Dales tiempo.

  • 10

    !
    kesi | 1 estrellas

    Hola !

    Leyendo acao de encontrar dos siglas que no se que significan (PPE) y (SPEs) . Perdonen mi desconicimiento. Saludos

  • Respondiendo a #10:
  • 11

    !
    | 1 estrellas

    El PPE es el procesador principal, cuyo objetivo es administrar las operaciones de los SPEs, que son los procesadores sinergísticos , palabro que viene a significar que dos cosas iguales hacen su trabajo mejor cuando funcionan de manera conjunta que cuando se distribuyen el trabajo.

    Dependiendo de la bonanza del programador al realizar el software, cada SPE tomará una parte de hilo de ejecución necesario que sumado al hilo de ejecución principal permitirá que se realice la tarea. Por ejemplo, en una televisión un SPE podría dedicarse a decodificar la mitad de la imágen, otro la otra mitad, y otro parte del sonido. Otro manejaría el sistema operativo de la tele, otro actuaría a eventos y el último se encargaría de planificar y manejar las entradas y salidas de los buses para que fueran óptimas.

    Otro dato a destacar es que los SPEs son siempre procesadores muy dedicados, es decir, el tipo de operaciones para la que están diseñados las hacen increiblemente rápido, pero sin embargo son inútiles haciendo cualquier otro tipo de procesamiento.

    Ésto puede sonar ventajoso, pero nada más lejos de la realidad. Un procesador de éstas características suele ser perfecto para realizar propósitos muy dedicados, pero sin embargo dudo que aporten nada a nuestros ordenadores, ya que estos trabajan con propósitos muy generalistas.

    Espero haberte aclarado algunas de tus dudas

  • Respondiendo a #11:
  • 18

    !
    kesi | 1 estrellas

    Hola ! Muchas gracias por la respuesta , la dudas estan muy bien aclaradas . Lo que no se es domde puedo adquirir este tipo de conocimientos . Mil gracias

  • 12

    Avatar de meteoro_u !
  • 19

    !

     Si el CPU se encargase solo del direccionamiento de los datos, porque habría que llamarlo por las siglas CPU, si el que va hacer todo el trabajo de proceso va hacer el GPU? Entonces ,con lógica, tendrían que renombrarlo CRU (Central Routing Unit) Y AL GPU con otro nombre que asigne su verdadera nueva labor

    -- editado por última vez a las 20:18