saltar al contenido

Alto rendimiento a través del paraleismo

La ampliación del rendimiento de un sistema normalmente implica la adición de hardware informático. El objetivo, especialmente con un recurso compartido como una base de datos, es agregar piezas (tanto hardware como software) que puedan ejecutarse en paralelo. Si un sistema se divide en partes que se bloquean o interfieren entre sí, no se gana nada. El paralelismo es la clave, si las unidades paralelas no obstaculizan a otras, se puede aumentar el rendimiento total.
 

A continuación se muestra una arquitectura propuesta para una configuración de hardware y software para permitir el máximo paralelismo cuando se utiliza el motor de base de datos RDM.

Alto rendimiento

 

Hardware

La arquitectura recomendada contiene un controlador de disco independiente para cada unidad de disco. ¿Por qué? Porque incluso con múltiples núcleos de CPU que ejecutan múltiples procesos independientes en diferentes archivos de disco, un solo controlador de disco terminará serializando el acceso al disco, creando un cuello de botella. Entonces, la computadora es una computadora de múltiples núcleos con 2 núcleos para cada controlador / unidad de disco. Para este ejemplo, 8 núcleos con 4 controladores / unidades.

Software

Dada esta configuración de hardware, es necesario diseñar una configuración de software para operación en paralelo. Un ingrediente necesario para la operación del software en paralelo es una base de datos que está particionada de modo que cada partición se pueda actualizar independientemente de las otras particiones.

 

Las aplicaciones en la figura anterior abrirán 4 bases de datos diferentes dentro de 4 estructuras de “tareas” diferentes y luego decidirán, basándose en una clave primaria, a qué base de datos pertenece un registro. Lo encontrará allí o lo creará allí. Leer es diferente. Dentro de una estructura de "tarea", las 4 bases de datos deben abrirse en una llamada utilizando la función de unión de bases de datos, y la lectura debe realizarse sin bloqueos mediante transacciones de solo lectura MVCC (Control de simultaneidad de múltiples versiones).

 

Tenga en cuenta también que los núcleos de CPU se representan como si estuvieran asignados a procesos de aplicación, pero la realidad es que normalmente funcionan como SMP, por lo que se programarán para ejecutar los procesos que están disponibles. En este caso, serán potencialmente los 4 TFS y hasta 4 procesos de solicitud.

 

Con una arquitectura similar a esta RDM, los desarrolladores pueden diseñar aplicaciones para aprovechar el hardware y los sistemas operativos modernos. Al proporcionar funciones que admiten el paralelismo dentro del motor de datos, RDM permite a los desarrolladores crear aplicaciones que pueden escalar con el hardware proporcionado.

Prueba la configuración ahora