Predicción de perfiles de comportamiento de aplicaciones científicas en nodos multicore

Con la llegada de una amplia variedad de arquitecturas multicore (NUMA, UMA), seleccionar la mejor configuración del nodo de cómputo para una cierta aplicación paralela de memoria compartida, se convierte en la actualidad en un gran reto. Nuestro trabajo hace frente a este tema caracterizando los no...

Descripción completa

Detalles Bibliográficos
Autor: Corredor Franco, John Jairo
Tipo de recurso: tesis doctoral
Fecha de publicación:2013
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:español
OAI Identifier:oai:ddd.uab.cat:113976
Acceso en línea:https://ddd.uab.cat/record/113976
Access Level:acceso abierto
Palabra clave:Ordinadors
Programari d'aplicació
Descripción
Sumario:Con la llegada de una amplia variedad de arquitecturas multicore (NUMA, UMA), seleccionar la mejor configuración del nodo de cómputo para una cierta aplicación paralela de memoria compartida, se convierte en la actualidad en un gran reto. Nuestro trabajo hace frente a este tema caracterizando los nodos de cómputo y las aplicaciones. Los nodos se caracterizan ejecutando pequeños programas (o microbenchmarks, μB), que contienen núcleos de estructuras representativas del comportamiento de programas paralelos de memoria compartida. Los μBs ejecutados en cada uno de los nodos nos proporcionan perfiles de rendimiento, o datos medidos del comportamiento, que se almacenan en una base de datos y se utilizan para estimar el comportamiento de nuevas aplicaciones. La aplicación es ejecutada sobre un nodo base para identificar sus fases representativas. Para cada fase se extrae información de rendimiento comparable con la de los μBs, con el fin de caracterizar dicha fase. En la base de datos de los perfiles de rendimiento se localizan aquellos μBs que tienen características similares en comportamiento a cada fase de la aplicación, ejecutados todos sobre el nodo base. Finalmente, se usan los perfiles seleccionados, pero ejecutados sobre los otros nodos candidatos, para comparar el rendimiento de los nodos de cómputo y seleccionar el nodo de cómputo apropiado para la aplicación.