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

Author

Allande Álvarez, César

Director

César Galobardes, Eduardo

Jorba Esteve, Josep

Date of defense

2015-12-18

ISBN

9788449061318

Pages

150 p.



Department/Institute

Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius

Abstract

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.


La evolución de los procesadores multicore ha cambiado completamente la evolución de los actuales sistemas de HPC. Las arquitecturas multicore han sido diseñadas principalmente para evitar tres barreras de diseño, el paralelismo a nivel de instrucción, el consumo energético y la contención de memoria. La última debido a la creciente diferencia de velocidad entre el procesador y la memoria. El rendimiento de aplicaciones intensivas en memoria ejecutadas en entornos multicore multisocket está relacionado directamente a la utilización de los recursos compartidos en la jerarquía de memoria. La utilización de recursos compartidos puede llevar a una degradación de rendimiento significativa. La exploración de diferentes configuraciones de afinidad de threads permite la selección de configuraciones que pueden llegar a equilibrar la mejora de rendimiento obtenido por el incremento de paralelismo con la degradación debida a la contención de memoria. La principales contribuciones de esta tesis es la definición de una metodología para el desarrollo de estrategias de sintonización en entornos multicore multisocket que ha proporcionado la definición de dos modelos de rendimiento para aplicaciones intensivas en memoria.El primer modelo de rendimiento, basado en una caracterización en tiempo de ejecución, estima el tiempo de ejecución para diferentes configuraciones de numero y distribución de threads para entornos multicore multisocket. Para ello, el modelo requiere de una caracterización exhaustiva en tiempo de ejecución sobre un solo procesador con el objetivo de determinar la contención de memoria. El segundo modelo de rendimiento, basado en la pre-caracterización de la aplicación, estima en tiempo de ejecución el impacto de la contención de memoria para ejecuciones concurrentes basado en un perfil del memory footprint extraído de trazas de la aplicación ejecutada con pequeñas cargas de trabajo.


The evolution of multicore processors has completely changed the evolution of current HPC systems. The multicore architectures were mainly designed to avoid three design walls, instruction level parallelism, power wall, and finally the memory wall. The last because of the increasingly gap between processor and memory speeds. Performance of memory intensive applications executed on multi-core multi-socket environments is closely related to the utilization of shared resources in the memory hierarchy. The shared resources utilization can lead to a significant performance degradation. The exploration of different thread affinity configurations allows the selection of a proper configuration that balances the performance improvement obtained by increasing parallelism with the performance degradation due to memory contention. The main contributions of this thesis is the definition of a methodology for developing dynamic tuning strategies in multicore multisocket environment which has provided the definition of two performance models for memory intensive applications. The first performance model, based on runtime characterization, estimates the execution time for different configurations of threads and thread distributions in a multicore multisocket system. To do that, the model requires a runtime characterization from the exhaustive execution on a single socket to determine the memory contention. The second performance model, based on pre-characterization of the application, estimates at runtime the impact of the memory contention for concurrent executions based on profiling the memory footprint from traces of the application using small workloads.

Keywords

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

Subjects

004 - Computer science and technology. Computing. Data processing

Knowledge Area

Tecnologies

Documents

caa1de1.pdf

2.867Mb

 

Rights

L'accés als continguts d'aquesta tesi queda condicionat a l'acceptació de les condicions d'ús establertes per la següent llicència Creative Commons: http://creativecommons.org/licenses/by-nc-nd/3.0/es/
L'accés als continguts d'aquesta tesi queda condicionat a l'acceptació de les condicions d'ús establertes per la següent llicència Creative Commons: http://creativecommons.org/licenses/by-nc-nd/3.0/es/

This item appears in the following Collection(s)