Los sistemas operativos paralelos son un tipo de plataforma de procesamiento informático que divide las tareas grandes en partes más pequeñas que se realizan al mismo tiempo en diferentes lugares y mediante diferentes mecanismos. A veces también se describen como procesadores «multinúcleo». Este tipo de sistema suele ser muy eficaz para manejar archivos muy grandes y códigos numéricos complejos. Se ve más comúnmente en entornos de investigación donde los sistemas de servidor central manejan muchos trabajos diferentes a la vez, pero puede ser útil en cualquier momento en que varias computadoras estén haciendo trabajos similares y se conecten a infraestructuras compartidas simultáneamente. Pueden ser difíciles de configurar al principio y pueden requerir un poco de experiencia, pero la mayoría de los expertos en tecnología están de acuerdo en que, a largo plazo, son mucho más rentables y eficientes que sus contrapartes de una sola computadora.
Los fundamentos de la computación paralela
Un sistema operativo paralelo funciona dividiendo conjuntos de cálculos en partes más pequeñas y distribuyéndolos entre las máquinas en una red. Para facilitar la comunicación entre los núcleos del procesador y las matrices de memoria, el software de enrutamiento tiene que compartir su memoria asignando el mismo espacio de direcciones a todas las computadoras en red, o distribuir su memoria asignando un espacio de direcciones diferente a cada núcleo de procesamiento. Compartir memoria permite que el sistema operativo se ejecute muy rápidamente, pero por lo general no es tan poderoso. Cuando se utiliza memoria compartida distribuida, los procesadores tienen acceso tanto a su propia memoria local como a la memoria de otros procesadores; esta distribución puede ralentizar el sistema operativo, pero a menudo es más flexible y eficiente.
La arquitectura del software generalmente se construye alrededor de una plataforma basada en UNIX, lo que le permite coordinar cargas distribuidas entre múltiples computadoras en una red. Los sistemas paralelos pueden usar software para administrar todos los diferentes recursos de las computadoras que se ejecutan en paralelo, como la memoria, las cachés, el espacio de almacenamiento y la potencia de procesamiento. Estos sistemas también permiten que un usuario interactúe directamente con todas las computadoras de la red.
Orígenes y primeros usos
En 1967, Gene Amdahl, un informático estadounidense que trabajaba para IBM, conceptualizó la idea de utilizar software para coordinar la computación paralela. Publicó sus hallazgos en un documento llamado Ley de Amdahl, que describía el aumento teórico en la potencia de procesamiento que uno podría esperar al ejecutar una red con un sistema operativo paralelo. Su investigación condujo al desarrollo de la conmutación de paquetes y, por lo tanto, al moderno sistema operativo paralelo. Este desarrollo de la conmutación de paquetes se considera ampliamente como el avance que más tarde inició el «Proyecto Arpanet», que es responsable de la base básica de Internet, la red informática paralela más grande del mundo.
Aplicaciones modernas
La mayoría de los campos de la ciencia utilizan este tipo de sistema operativo, incluida la biotecnología, la cosmología, la física teórica, la astrofísica y la informática. La complejidad y la capacidad de estos sistemas también pueden ayudar a generar eficiencia en industrias como la consultoría, las finanzas, la defensa, las telecomunicaciones y la previsión meteorológica. De hecho, la computación paralela se ha vuelto tan robusta que muchos de los principales cosmólogos la han utilizado para responder preguntas sobre el origen del universo. Los científicos pudieron ejecutar simulaciones de grandes secciones del espacio a la vez. Solo les tomó un mes a los científicos compilar una simulación de la formación de la Vía Láctea usando este tipo de sistema operativo, por ejemplo, una hazaña que antes se pensaba que era imposible debido a lo complejo y engorroso que es.
Consideraciones de costo
Los científicos, investigadores y líderes de la industria a menudo optan por utilizar este tipo de sistemas operativos principalmente debido a su eficiencia, pero el costo también suele ser un factor. En general, cuesta mucho menos montar una red informática paralela de lo que costaría desarrollar y construir una supercomputadora para la investigación, o invertir en numerosas computadoras más pequeñas y dividir el trabajo. Los sistemas paralelos también son completamente modulares, lo que en la mayoría de los casos permite reparaciones y actualizaciones económicas.