¿Qué es el procesamiento masivamente paralelo?

El procesamiento masivamente paralelo (MPP) es un paradigma de procesamiento en el que cientos o miles de nodos de procesamiento trabajan en partes de una tarea informática en paralelo. Cada uno de estos nodos ejecuta instancias individuales de un sistema operativo. Tienen sus propios dispositivos de entrada y salida y no comparten memoria. Logran una tarea informática común comunicándose entre sí a través de una interconexión de alta velocidad.

Diagrama de procesamiento masivamente paralelo

Las organizaciones que manejan grandes volúmenes de datos en constante expansión utilizan un procesamiento masivamente paralelo para su procesamiento de datos. Por ejemplo, imagine una conocida empresa de seguros con millones de clientes. A medida que aumenta el número de clientes, también aumentan los datos de los clientes. Incluso si la empresa utiliza el procesamiento paralelo, es posible que experimente un retraso en el procesamiento de los datos del cliente. Suponga que un analista de datos ejecuta una consulta en 100 millones de filas de una base de datos. Si la organización utiliza un sistema de procesamiento masivamente paralelo con 1000 nodos, cada nodo deberá soportar solo 1/1000 de carga computacional.

Modernice su arquitectura de datos y análisis
Modernice su arquitectura de datos y análisis
Consulte estos 13 casos de uso para aprender cómo respaldar el complejo panorama actual de datos y análisis.

¿Cuáles son los principales componentes de hardware del procesamiento masivamente paralelo?

Es esencial comprender los componentes de hardware de un sistema de procesamiento masivamente paralelo para comprender varias arquitecturas.

Nodos de procesamiento

Los nodos de procesamiento son los componentes básicos del procesamiento masivamente paralelo. Estos nodos son núcleos de procesamiento simples y homogéneos con una o más unidades centrales de procesamiento. Los nodos se pueden visualizar como simples PC de escritorio.

Interconexión de alta velocidad

Los nodos en un sistema de procesamiento masivamente paralelo trabajan en forma paralela en partes de un solo problema de computación. Aunque su procesamiento es independiente entre sí, necesitan comunicarse regularmente entre sí mientras intentan resolver un problema común. Se requiere una conexión de baja latencia y alto ancho de banda entre los nodos, lo cual se denomina interconexión de alta velocidad o bus. Puede ser una conexión ethernet, una interfaz de datos distribuidos por fibra o cualquier método de conexión patentado.

Administrador de bloqueo distribuido (DLM)

En aquellas arquitecturas de procesamiento masivamente paralelo donde la memoria externa o el espacio en disco se comparte entre los nodos, un administrador de bloqueo distribuido (DLM) coordina este intercambio de recursos. El administrador de bloqueo distribuido toma una solicitud de recursos de varios nodos y conecta los nodos cuando los recursos están disponibles. En algunos sistemas, el administrador de bloqueo distribuido garantiza la consistencia de los datos y la recuperación de cualquier nodo fallido.

Arquitectura(s) de procesamiento masivamente paralelo

Las arquitecturas de procesamiento masivamente paralelo pertenecen a dos grandes grupos dependiendo de cómo los nodos comparten sus recursos.

Sistemas de disco compartido

Cada nodo de procesamiento en el sistema de disco compartido tendrá una o más unidades centrales de procesamiento (CPU) y una memoria de acceso aleatorio (RAM) independiente. Estos nodos, sin embargo, comparten un espacio de disco externo para el almacenamiento de archivos. Estos nodos de procesamiento están conectados con un bus de alta velocidad. La escalabilidad de los sistemas de discos compartidos depende del ancho de banda de la interconexión de alta velocidad y de las restricciones de hardware del administrador de bloqueo distribuido.

¿Cuáles son las ventajas de los sistemas de disco compartido?

Como todos los nodos comparten una única base de datos externa, el sistema de procesamiento masivamente paralelo se vuelve altamente disponible. Ningún dato se pierde permanentemente, incluso si un nodo está dañado. Los sistemas de disco compartido son más sencillos ya que no tienen que usar una base de datos distribuida. En efecto, es fácil agregar nuevos nodos en los sistemas de disco compartido.

¿Cuáles son las desventajas de los sistemas de disco compartido?

Dado que los nodos de procesamiento comparten un disco común, la coordinación del acceso a los datos es compleja. El sistema necesita confiar en un administrador de bloqueo distribuido. Estas comunicaciones entre nodos ocupan parte del ancho de banda de la interconexión de alta velocidad. El disco compartido necesita un sistema operativo para controlarlo, lo cual agregará una sobrecarga adicional.

Sistemas Shared Nothing (SN)

Una arquitectura más conocida de sistemas de procesamiento masivamente paralelo es la arquitectura Shared Nothing (SN). Los nodos de procesamiento tienen una memoria de acceso aleatorio independiente y un disco que almacena los archivos y bases de datos necesarios. Los datos que deberán procesarse se comparten entre los nodos utilizando varias técnicas.

Base de datos replicada: en este método, cada nodo de procesamiento posee una copia completa de los datos. En este modelo, el riesgo de pérdida de datos es bajo, incluso si fallan algunos nodos. Este modelo tiene la sobrecarga de espacio de almacenamiento adicional.

Base de datos distribuida: en este modelo, la base de datos se divide en varios segmentos. Cada nodo de procesamiento posee una porción particular de la base de datos y trabaja en ella. Este método ahorra una gran cantidad de almacenamiento en disco ya que no existe redundancia. Sin embargo, este método es más complejo que una base de datos replicada. Aquí, muchos datos se mueven entre los nodos para completar el procesamiento, lo cual aumentará el tráfico en el bus de interconexión. Este modelo también podría provocar la pérdida de datos, ya que no existe redundancia.

Diez cosas que necesita saber sobre la virtualización de datos
Diez cosas que necesita saber sobre la virtualización de datos
Conozca las verdades fundamentales sobre la virtualización de datos para que pueda superar los obstáculos para los datos y así obtener mejores resultados.

¿Cuáles son las ventajas de los sistemas Shared Nothing (SN)?

Los sistemas Shared Nothing pueden escalar horizontalmente para incluir una gran cantidad de nodos. Como los nodos de procesamiento son relativamente independientes entre sí, es más fácil agregar un nuevo nodo de procesamiento. Si la base de datos es de solo lectura, los sistemas Shared Nothing funcionan muy bien. La falla de un nodo no afectará a los otros nodos ya que son casi independientes. Las posibilidades de corrupción de la base de datos son mínimas en el caso de los sistemas Shared Nothing.

¿Cuáles son las desventajas de los sistemas Shared Nothing?

Los sistemas Shared Nothing con bases de datos distribuidas necesitan mucha coordinación para completar una tarea común. Cada nodo posee segmentos de la base de datos. Administrar esta base de datos podría ser muy difícil. Los sistemas Shared Nothing con la base de datos replicada no son adecuados para aplicaciones con grandes requisitos de datos. Si el cálculo necesita muchas operaciones de modificación de datos, como la inserción y unión de datos, entonces la arquitectura Shared Nothing podría no ser viable.

Procesamiento masivamente paralelo (MPP) vs Multiprocesamiento simétrico (SMP)

El procesamiento masivamente paralelo es un sistema débilmente acoplado donde los nodos no comparten memoria o espacio en disco en algunos casos. El procesamiento masivamente paralelo se puede considerar como una matriz de nodos de procesamiento independientes que se comunican a través de un bus de interconexión de alta velocidad.

El multiprocesamiento simétrico es un sistema único con múltiples procesadores estrechamente acoplados. Estos procesadores comparten el sistema operativo, los dispositivos de E/S y la memoria. Los sistemas de procesamiento múltiple simétrico suelen ser más económicos que el procesamiento masivamente paralelo. Sin embargo, el multiprocesamiento simétrico está limitado respecto a cuánto puede escalar. Todos los nodos de procesamiento en el multiprocesamiento simétrico comparten un solo bus de memoria, por lo que a medida que aumenta la cantidad de procesadores, podrían ocurrir obstáculos en la memoria y eventualmente ralentizará el sistema. Los sistemas de procesamiento masivamente paralelo son costosos y complejos, pero pueden crecer infinitamente. El procesamiento masivamente paralelo funciona mejor cuando las tareas de procesamiento se pueden distribuir perfectamente y se requiere una comunicación mínima entre los nodos.