Software de procesamiento paralelo

El software de procesamiento paralelo gestiona la ejecución de un programa sobre hardware de procesamiento paralelo con los objetivos de obtener una escalabilidad ilimitada (pudiendo manejar un número creciente de interacciones al mismo tiempo) y reducir el tiempo de ejecución. Las aplicaciones que se benefician del procesamiento paralelo se dividen aproximadamente en procesamiento de datos comerciales y procesamiento técnico / científico.

Las aplicaciones de procesamiento de datos comerciales se caracterizan por el procesamiento de registros, y el tamaño de los datos generalmente crea importantes problemas de rendimiento de E / S, así como la necesidad de un cálculo rápido. El software de procesamiento paralelo ayuda a las aplicaciones comerciales de dos maneras importantes:

Marcos - Los marcos de flujo de datos brindan el mayor rendimiento y el método más simple para expresar aplicaciones de procesamiento de registros para que puedan lograr una alta escalabilidad y un rendimiento total. Los marcos de flujo de datos son la base de los componentes internos de la mayoría de los sistemas de gestión de bases de datos relacionales (RDBMS), además de estar disponibles para su uso directo en la construcción de aplicaciones de almacenamiento de datos, inteligencia empresarial y CRM (gestión de relaciones con el cliente) analíticas. Los marcos ocultan la mayoría o todos los detalles de las comunicaciones entre procesos y entre procesadores de los desarrolladores de aplicaciones, lo que simplifica la creación de estas aplicaciones de lo que sería usar el paso de mensajes de bajo nivel.

RDBMS - Como los repositorios más comunes para datos comerciales orientados a registros, los sistemas RDBMS han evolucionado para que el lenguaje de consulta estructurado (SQL) que se utiliza para acceder a ellos se ejecute en paralelo. La naturaleza del lenguaje SQL se presta a un procesamiento más rápido utilizando técnicas paralelas.

Las aplicaciones técnicas y científicas tienden a estar "limitadas a la computación" (requieren mucha computación del procesador) y han tendido a estar asociadas con la supercomputadora. Hay dos técnicas principales que se utilizan en la creación de la mayoría de estas aplicaciones: el paso de mensajes y los compiladores en paralelo.

Paso de mensajes - Los programas de aplicación se pueden construir usando mecanismos de comunicación entre un procesador que opera simultáneamente con otros. Este es el mecanismo de nivel más bajo disponible y puede conducir al mayor rendimiento posible con el mayor costo de implementación y complejidad. (Tenga en cuenta que el paso de mensajes para el cálculo paralelo no debe confundirse con el término mensajería, que también se utiliza para describir los sistemas de comunicación transaccional para aplicaciones comerciales distribuidas de cliente a servidor y entre servidores).

Paralelizar compiladores - Para aplicaciones técnicas y matemáticas dominadas por el álgebra matricial, existen compiladores que pueden crear una ejecución paralela a partir del código fuente del programa aparentemente secuencial. Estos compiladores pueden descomponer un programa e insertar automáticamente las estructuras de paso de mensajes necesarias y otras construcciones paralelas.