ED Mathématiques et Informatique
Understanding and managing performance and energy consumption of applications with design space exploration
by Lana SCRAVAGLIERI (LaBRI - Laboratoire Bordelais de Recherche en Informatique)
The defense will take place at 14h00 - Amphithéâtre LaBRI, Bâtiment A30, Université de Bordeaux, 351 cours de la Libération, 33400 Talence
in front of the jury composed of
- Olivier AUMAGE - Chargé de recherche - Université de Bordeaux - Directeur de these
- Gaël THOMAS - Directeur de recherche - Inria de Saclay - Rapporteur
- Camille COTI - Professeure - École de Technologie Supérieure - Rapporteur
- Cédric BASTOUL - Professeur des universités - Université de Strasbourg - Examinateur
- Marc PERACHE - Directeur de recherche - CEA,DAM Île-de-France - Examinateur
- Jean-Baptiste BESNARD - Ingénieur de recherche - DDN - Examinateur
- Mihail POPOV - ISFP - Centre de recherche Inria de l'université de Bordeaux - CoDirecteur de these
Many architecture-related parameters affect the execution of an application: number of threads, thread placement, data placement, prefetchers, core and memory frequency, SIMD, use of different levels of parallelism, precision... They can help improve performance and reduce energy consumption, but poor parameter choices can also have the opposite effect. Listing and evaluating all possible combinations of these parameters quickly becomes unfeasible. For example, recent hardware developments have favored SIMD (Single Instruction Multiple Data) computing units, which can drastically increase the number of floating-point operations per second (FLOPS). However, the diversity and complexity of micro-architectures and SIMD instruction sets make them difficult to adopt in business simulation applications. The code transformations required are costly, with no guarantee of improved performance. The same uncertainty impacts other parameter choices and their combinations. We present the CORHPEX (COmpiler, Runtime and Hardware Parameter EXplorer) framework, which enables parameter space explorations (DSE) to be performed on applications to guide parameter choice by modeling their execution times and energy consumption.