Modeling performance degradation in OpenMP memory bound applications on multicore multisocket systems

L'evolució dels processadors multicore ha canviat completament l'evolució dels actuals sistemes de HPC. Les arquitectures multicore han estat dissenyades principalment per evitar tres barreres de disseny: el paral·lelisme a escala d'instrucció, el consum energètic i la contenció a mem...

Descripción completa

Detalles Bibliográficos
Autor: Allande Álvarez, César
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2015
País:España
Institución:CBUC, CESCA
Repositorio:TDR. Tesis Doctorales en Red
OAI Identifier:oai:www.tdx.cat:10803/371463
Acceso en línea:http://hdl.handle.net/10803/371463
Access Level:acceso abierto
Palabra clave:Computació d'altes prestacions
Computación de alto rendimiento
High performance computing
Model de rendiment
Modelo de rendimiento
Performance model
Processadors multicore
Procesadores multicore
Multicore processors
Tecnologies
004
Descripción
Sumario:L'evolució dels processadors multicore ha canviat completament l'evolució dels actuals sistemes de HPC. Les arquitectures multicore han estat dissenyades principalment per evitar tres barreres de disseny: el paral·lelisme a escala d'instrucció, el consum energètic i la contenció a memòria. La darrera és deguda a la creixent diferència de velocitat entre el processador i la memòria. Les prestacions de les aplicacions intensives a memòria executades en entorns multicore multisocket estan directament relacionades a la utilització dels recursos compartits a la jerarquia de memòria. La utilització dels recursos compartits pot portar a una degradació de les prestacions significativa. L'exploració de diferents configuracions d'afinitat de threads permet la selecció de configuracions que poden arribar a equilibrar la millora de prestacions obtinguda deguda a l'increment del paral·lelisme amb la degradació deguda a la contenció a memòria. Les principals contribucions d'aquesta tesi és la definició d'una metodologia pel desenvolupament d'estratègies de sintonització en entorns multicore multisocket que ha proporcionat la definició de dos models de rendiment per aplicacions intensives a memòria. El primer model de rendiment, basat en una caracterització en temps d'execució, estima el temps d'execució per diferents configuracions de número i distribució de threads en entorns multicore multisocket. Per aquesta finalitat, el model requereix una caracterització exhaustiva en temps d'execució en un únic processador amb l'objectiu de determinar la contenció a memòria. El segon model de rendiment, basat en la pre-caracterització de l'aplicació, estima el temps d'execució i l'impacte de la contenció a memòria per execucions concurrents basat en el perfil del memory footprint extret de traces de la mateixa aplicació executada amb petites càrregues de treball.