Procesador paralelo frente a serie
El procesamiento paralelo y en serie describe si un sistema informático puede dividir las tareas informáticas para usar varios procesadores o núcleos simultáneamente o si depende de completar tareas con un solo núcleo de procesador. Todos los procesadores de computadoras de consumo individuales eran procesadores en serie antes de mediados de 2005, cuando Intel presentó el primer procesador de doble núcleo para el consumidor. Varios procesadores de un solo núcleo pueden trabajar juntos para manejar el procesamiento en serie a través de clústeres de computadoras paralelas en red o ejecutando varios procesadores en una placa base.
Las computadoras son máquinas multitarea
Una computadora moderna típica ejecuta de docenas a cientos de tareas en un momento dado; sin embargo, cada núcleo solo está trabajando en un proceso a la vez. El procesador salta constantemente entre los diferentes "hilos" o "flujos de instrucciones" de procesamiento para ejecutar varios programas concurrentes bajo una ilusión en tiempo real llamada concurrencia. La computadora termina desperdiciando ciclos de procesador al cambiar entre trabajos y no funciona con una eficiencia óptima cuando realiza múltiples tareas.
Ejecutando Tareas en Paralelo
Un entorno de procesamiento paralelo puede procesar tareas más rápido cuando los programas están diseñados para usar el procesamiento paralelo. Los programas en serie alinean todas las instrucciones en disposición en serie e interactúan con el procesador usando un solo hilo. Los programas paralelos funcionan dividiendo las tareas en partes individuales que se pueden dividir entre varios núcleos de procesador y volver a ensamblar como tareas completadas. Los procesadores en paralelo pueden multiplicar la potencia de procesamiento de los procesadores en serie de frecuencia similar con un código escrito correctamente. Sin embargo, un procesador en serie con una velocidad de reloj más alta puede superar a los procesadores en paralelo cuando se trabaja con un solo subproceso.
Procesamiento en serie en acción
Los programas escritos para el procesamiento en serie solo usan un núcleo a la vez y procesan las tareas en orden secuencial. Un procesador en serie funciona de manera muy similar a tener una docena de líneas de pago abiertas en una tienda de comestibles con un cajero corriendo entre las diferentes líneas, revisando a todos al mismo tiempo. El cajero, o CPU, salta de un carril a otro revisando algunos artículos a la vez antes de pasar al siguiente con el objetivo de terminar todos los pedidos al mismo tiempo.
Procesamiento paralelo en acción
La idea detrás de los procesadores paralelos es que más núcleos que trabajen juntos conducirán a un mejor rendimiento. Un procesador paralelo se comporta como tener más de un cajero operando una docena de líneas de pago. Si se configura un programa para aprovechar el procesamiento paralelo, el "cliente" podría dividir su pedido en grupos más pequeños y usar varias líneas de pago a la vez.
Posibilidades de expansión de procesadores paralelos
En 2007, Nvidia utilizó por primera vez el procesamiento paralelo para avanzar en la tecnología gráfica. Las unidades de procesamiento de gráficos utilizan el procesamiento en paralelo a un nivel que supera el rendimiento del procesamiento en serie cuando se realizan cálculos pequeños. Mientras que las CPU tienden a tener una cantidad de núcleos fácilmente contable, las GPU pueden tener miles de núcleos de menor potencia que son más adecuados para ejecutar cálculos simultáneos más simples. Las GPU se usan comúnmente para gráficos, pero pueden hacer otros cálculos para cosas como clasificación y álgebra matricial.