Evaluación de implementaciones maestro-esclavo de OpenMP para aplicaciones paralelas irregulares seleccionadas
Autores: Czarnul, Pawe
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Evaluación de implementaciones maestro-esclavo de OpenMP para aplicaciones paralelas irregulares seleccionadas
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Investiga
Paradigma maestro-esclavo
API OpenMP
Rendimiento
Implementaciones
CPUs multinúcleo
Bloqueos OpenMP
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 33
Citaciones: Sin citaciones
El documento investiga varias implementaciones de un paradigma maestro-esclavo utilizando la popular API OpenMP y el rendimiento relativo de este último utilizando CPUs de estación de trabajo multi-núcleo modernas. Se asume que un maestro divide la entrada disponible en un lote de un número predefinido de fragmentos de datos que luego son procesados en paralelo por un conjunto de esclavos y el procedimiento se repite hasta que todos los datos de entrada hayan sido procesados. El documento evalúa experimentalmente el rendimiento de seis implementaciones utilizando bloqueos OpenMP, la construcción de tareas, partición dinámica para bucles, sin y con superposición de resultados de fusión y generación de datos, utilizando el compilador gcc. Se prueban dos aplicaciones paralelas distintas, cada una utilizando las seis implementaciones mencionadas anteriormente, en dos sistemas que representan entornos de escritorio y de estación de trabajo: uno con un CPU Intel i7-7700 3.60 GHz Kaby Lake y ocho procesadores lógicos y el otro con dos CPUs Intel Xeon E5-2620 v4 2.10 GHz Broadwell y 32 procesadores lógicos. Desde el punto de vista de la aplicación, se prueba la integración numérica de cuadratura adaptativa irregular, así como encontrar una región de interés dentro de una imagen irregular. Se investigan diversas intensidades de cálculo mediante la configuración de varias precisiones de cálculo por subrango y número de pases de imagen, respectivamente. Los resultados permiten a los programadores evaluar qué solución y configuración de ajustes como los números de hilos y afinidades de hilo deben ser preferidos.
Descripción
El documento investiga varias implementaciones de un paradigma maestro-esclavo utilizando la popular API OpenMP y el rendimiento relativo de este último utilizando CPUs de estación de trabajo multi-núcleo modernas. Se asume que un maestro divide la entrada disponible en un lote de un número predefinido de fragmentos de datos que luego son procesados en paralelo por un conjunto de esclavos y el procedimiento se repite hasta que todos los datos de entrada hayan sido procesados. El documento evalúa experimentalmente el rendimiento de seis implementaciones utilizando bloqueos OpenMP, la construcción de tareas, partición dinámica para bucles, sin y con superposición de resultados de fusión y generación de datos, utilizando el compilador gcc. Se prueban dos aplicaciones paralelas distintas, cada una utilizando las seis implementaciones mencionadas anteriormente, en dos sistemas que representan entornos de escritorio y de estación de trabajo: uno con un CPU Intel i7-7700 3.60 GHz Kaby Lake y ocho procesadores lógicos y el otro con dos CPUs Intel Xeon E5-2620 v4 2.10 GHz Broadwell y 32 procesadores lógicos. Desde el punto de vista de la aplicación, se prueba la integración numérica de cuadratura adaptativa irregular, así como encontrar una región de interés dentro de una imagen irregular. Se investigan diversas intensidades de cálculo mediante la configuración de varias precisiones de cálculo por subrango y número de pases de imagen, respectivamente. Los resultados permiten a los programadores evaluar qué solución y configuración de ajustes como los números de hilos y afinidades de hilo deben ser preferidos.