¿Qué es la computación paralela?

La computación paralela ocurre cuando una computadora realiza más de una tarea simultáneamente. Esta técnica puede permitir que las computadoras funcionen más rápido que hacer una sola cosa a la vez, al igual que una persona con dos manos libres puede llevar más de una persona con una mano libre. Tradicionalmente, los programas de computadora se diseñan de manera que no necesariamente permiten la computación en paralelo, sino que deben llevarse a cabo paso a paso. Para que un programa se calcule de esta manera, debe diseñarse de manera que se pueda dividir en tareas más pequeñas que se puedan realizar individualmente. Como ejemplo de cómo la computación paralela se relaciona con la persona promedio, muchas computadoras personales tienen múltiples núcleos de procesamiento que les permiten procesar múltiples tareas al mismo tiempo, en lugar de una tarea tras otra como con una computadora con un solo procesador.

Escribir un programa de computadora para que pueda dividirse en tareas separadas para ejecutarlas por separado es a menudo más difícil que escribir una a la vez, utilizando la ejecución lineal. Con los programas de computadora que se ejecutarán secuencialmente, la primera tarea generalmente determina la información que es parte integral de la segunda tarea en la secuencia. Sin ese primer bit de información que resulta de llevar a cabo la primera tarea, la segunda tarea podría ser inútil. Al escribir un programa para que pueda dividirse en diferentes partes, programar las cosas para que las diferentes partes del programa tengan la información que necesitan cuando la necesitan y no toman decisiones basadas en información obsoleta puede ser un desafío único. Esta preocupación suele estar asociada con los tipos más comunes de errores informáticos a los que se enfrentan los programas informáticos en paralelo.

La principal ventaja de la computación paralela es que los programas pueden ejecutarse más rápido. Si el hardware de la computadora que está ejecutando un programa que usa computación en paralelo tiene la arquitectura, como más de una unidad central de procesamiento (CPU), la computación en paralelo puede ser una técnica eficiente. Como analogía, si un hombre puede llevar una caja a la vez y que una CPU es un hombre, un programa que se ejecute secuencialmente solo podría llevar una caja a la vez. Cuando se ejecuta en paralelo, ese mismo programa podría dividirse en dos tareas separadas, y si hay dos CPU para aprovecharlo, lleve ambas cajas al mismo tiempo. Al hacer esto, el hombre lleva ambas cajas y completa su tarea más rápido.