¿Es verdad que los procesadores con más núcleos son siempre los mejores?

Desde que los procesadores con más de un núcleo comenzaron a aparecer en ordenadores de sobremesa en el año 2005m esta duda viene preguntándose entre los muchos consumidores, principalmente con la explosión de nuevos lanzamientos que ha ocurrido en los últimos años. El sentido común dice que mientras más núcleos tenga un procesador, es mucho mejor. El problema de esto es que no siempre es cierto.

La teoría dice que más núcleos pueden romper el proceso en parteas más pequeñas, haciendo que cada núcleo o core se haga responsable de resolver solo una parte del proceso. Con esto, el consumo de energía, en teoría, también es menor. Ya que la CPU necesita hacer menos esfuerzo para realizar esa actividad específica.

Núcleos perezosos no ayudan en nada

Núcleos perezosos no ayudan en nada

Comencemos con un poco de teoría, un ejemplo muy simple. Para que puedas realizar una tarea en un PC, necesitas utilizar un programa. Para que este software haga lo que necesitas, es necesario que el envíe los comandos al procesador, que es quien va a realizar las tareas, uno a la vez. Por lo tanto quien decide como la CPU va a trabajar es el software que se ejecuta en ese momento.

Este software es como el administrador de una fábrica, el procesador seria la línea de producción; y los trabajadores serían los núcleos del procesador.

El primer trabajador (núcleo 1) recibió una tarea de su administrador (software). Inmediatamente, el trabajador respondió a la orden y consiguió completar el trabajo.

Ahora imaginemos que hay dos empleados que trabajan en esta misma línea: Esto sería equivalente a un procesador dual core. Si el administrador envía una tarea, pero solo se la envía para el primer trabajador, el segundo trabajador se queda sin hacer nada. Se queda sentado tomándose un cafecito, mientras que el primer trabajador se esmera por terminar la tarea encomendada.

Núcleos perezosos no ayudan en nada

Para resolver este problema, el administrador tendría que haber divido la tarea en dos partes y mandándolos a cada uno de ellos. De esta manera el proceso se completaría en menos tiempo y con mayor eficiencia.

¿Pero dónde queremos llegar con este ejemplo? Simple, un procesador con muchos core solo es eficiente si las aplicaciones o programas saben cómo utilizar estos núcleos; pero por desgracia esto no sucede en muchos casos.

¿Pero porque todas las aplicaciones no soportan múltiples núcleos?

La respuesta es sencilla; porque da más trabajo programar. Para que un programa pueda trabajar de forma eficiente con más de un núcleo, necesitan incluir muchas líneas más de código en los programas. En lugar de simplemente mandar al programa a que realice una función específica por el procesador, es necesario determinar que núcleo hará que cosa y cuando. Mientras más núcleos tenga un procesador más complicada es esta tarea.

Aunque la mayoría de los desarrolladores ya trabajan con estas características, algunos no lo hacen. Muchas veces porque es demasiado tiempo y ende muy caro, tener que estar perdiendo tiempo con la programación, solamente para optimizar los procesos y otras por motivos de compatibilidad.

Echemos un vistazo a los Smartphones Android, por ejemplo. Uno de los dispositivos más conocidos y poderosos en la actualidad es el Samsung Galaxy S3, que posee un procesador quad core. El problema es que hay cientos de terminamos móviles con el sistema Android. Ahora colócate en el lugar del desarrollador: si fueses un desarrollador de una aplicación para este sistema, ¿lo harías compatible con el mayor número de dispositivos o con solo uno o dos?

¿Pero porque todas las aplicaciones no soportan múltiples núcleos?

Es en este punto que Apple lleva la ventaja, porque tiene muy pocos modelos de dispositivos. Con esto es posible optimizar el rendimiento de una manera específica para el iPhone 5 de que para el Galaxy S3, por ejemplo.

¿Mientras más núcleos, cada vez son más rápidos?

La velocidad era el parámetro más utilizado hace algunos años atrás para medir el desempeño de los procesadores, en aquella época tenía sentido, ya que mientras más MHz tenía una CPU, era mucho mejor. Infelizmente la tecnología llego a un punto en que solo aumentar el ciclo de las operaciones por segundo dentro de las CPUs se volvió casi imposible, principalmente debido al consumo de energía y el calentamiento de los componentes.

Basándose en esto, los ingenieros desarrollaron métodos de aumentar el rendimiento de los procesadores, adaptando más recursos, mejorando la tecnología, y volviendo los equipos más eficientes. En el caso de los procesadores multinúcleo, estos se volvieron mejores en ejecutar varias tareas de forma simultánea.

¿Mientras más núcleos, cada vez son más rápidos?

En otras palabras, un procesador con múltiples núcleos es el más recomendado para quien vaya a realizar trabajos multitarea. En el caso de ejecutar una aplicación, y si esta aplicación no está optimizada para aprovechar todos los núcleos disponible en la CPU, un procesador con un solo núcleo con una velocidad de reloj alta (buena velocidad) es el más recomendado.

Muchos núcleos gastan más o menos energía

Hay otra analogía que ayuda a responder a esta pregunta: Imagínate que el procesador es el motor de un coche y cada núcleo es un cilindro. ¿Cuál motor seria más económico, el que tiene cuatro cilindros o el que tiene ocho? Salvo las proporciones, el coche de ocho cilindros es realmente el más poderoso cuando pisas el acelerador, pero para ofrecer toda esa potencia que ejerce, deberá consumir más combustible. Siguiendo este razonamiento, es fácil imaginar, que mientras más núcleos, mayor será el consumo de energía.

Cualquiera que esté en desacuerdo con esta afirmación, NVIDIA, que fabrica la línea de los procesadores TEGRA para los Smartphone. Según la compañía, los núcleos se desactivan cuando no son usadas, y vuelven a la actividad cuando alguna aplicación exige más potencia.

Tecnología Hyper Threading, un nucleo real, dos núcleos lógicos

Cuando la fabricación de un procesador con dos o más núcleos era muy cara, Intel desarrollo un sistema interesante de multiprocesamiento. Se trata de la tecnología Hyper Threading, donde el procesador tiene solo un núcleo físico, pero el sistema operativo mira dos nucleos. Es como si el mismo núcleo pudiese hacer dos cosas al mismo tiempo. Asi de este modo la ejecución de varias tareas simultáneas se hizo más eficiente.

Este sistema fue utilizado en la mayoría de los procesadores de la línea Core de Intel. Gracias a esto, contamos con procesadores con 2 núcleos físicos pero 4 núcleos lógicos, como el Core i3, y procesadores de 6 núcleos físicos y 12 lógicos, como en el caso del Intel Core i7 980X.

¿Es verdad que los procesadores con más núcleos son siempre los mejores?

Es una ventaja real tener una CPU con varios núcleos

Como se ha dicho anteriormente, en teoría, cuantos más núcleos mucho mejor. Pero para mantener esta declaración es necesario que todo el ecosistema esté preparado para ello. El número de aplicaciones que tiene soporte para varios corres aumenta cada día, por tanto es probable que en poco tiempo la diferencia de tener varios núcleos “cores” en un procesador sea una diferencia mucho mayor de lo que es hoy en día.

A pesar de que los sistemas operativos modernos como Windows 7 y el futuro Windows 8, gestionen con mayor eficiencia la distribución de los procesos entre todos los núcleos, difícilmente será tan eficiente como un software que pueda trabajar de forma nativa con múltiples cores.

Es una ventaja real tener una CPU con varios núcleos

En los ordenadores de escritorio tenemos un gran ejemplo: mientras que algunos procesadores de AMD traen ocho núcleos, su competidor de Intel solo trabajan con apenas cuatro. Sin embargo, los procesadores de Intel son más eficientes (en la actual generación). Esto ocurre por la arquitectura en su conjunto y no simplemente por la cantidad de núcleos que poseen los procesadores.

Es una ventaja real tener una CPU con varios núcleos

Recuerda: una línea de producción con muchos funcionarios, todos sin experiencia, es menos productiva que una línea con unos pocos empleados, pero con experiencia.

Así que antes de comprar un nuevo dispositivo, ya sea un PC o Smartphone, debes tener en cuenta que tu elección debe contemplar el sistema como un todo y no solo por la cantidad de núcleos que se encuentran en el procesador.

Fuentes: CNET, NVIDIA, PC Mag, World Start, ACN Newswire


Compartir esta publicacion

Escribe un comentario a esta publicación