Naweiluo Zhou - Autonomic Thread Parallelism and Mapping Control for Software Transactional Memory

Organized by: 
Naweiluo Zhou
Naweiluo Zhou


Membres du jury :


  • M. Raymond Namyst : professeur, Université de Bordeaux, rapporteur
  • M. Lionel Seinturier : professeur, Université Lille 1, rapporteur
  • M. Christian Perez : directeur de recherche, INRIA Lyon , examinateur
  • M. Jean-François Méhaut : professeur, Université de Grenoble Alpes, directeur de thèse
  • M. Éric Rutten : chargé de recherche, INRIA Grenoble , directeur de thèse
  • M. Gwenaël Delaval : maître de conférences, Université de Grenoble Alpes, directeur de thèse

Parallel programs need to manage the trade-off between the time spent in synchronisation and computation. The trade-off is significantly affected by the number of active threads. High parallelism may decrease computing time while increase synchronisation cost. Furthermore, thread placement on different cores may impact on program performance, as the data access time can vary from one core to another due to intricacies of its underlying memory architecture. Therefore, the performance of a program can be improved by adjusting its parallelism degree and the mapping of its threads to physical cores. Alas, there is no universal rule to decide them for a program from an offline view, especially for a program with online behaviour variation. Moreover, offline tuning is less precise. This thesis presents work on dynamical management of parallelism and thread placement. It addresses multithread issues via Software Transactional Memory (STM). STM has emerged as a promising technique, which bypasses locks, to tackle synchronisation through transactions. Autonomic computing offers designers a framework of methods and techniques to build autonomic systems with well-mastered behaviours. Its key idea is to implement feedback control loops to design safe, efficient and predictable controllers, which enable monitoring and adjusting controlled systems dynamically while keeping overhead low. This dissertation proposes feedback control loops to automate management of threads at runtime and diminish program execution time.