Iulia ȘTIRB, susținere publică a Tezei de doctorat
Titlul tezei: " Reducerea consumului de energie și a timpului de execuție prin optimizarea comunicării între firele de execuție și prin localizarea echilibrată a datelor la execuția programelor paralele, pe sisteme NUMA "
Autor: Iulia ȘTIRB
Comisia de doctorat:
- Președinte: Prof.dr.ing. Radu-Emil PRECUP (Politehnica University Timisoara)
- Conducător științific: Prof.dr.ing. Horia CIOCÂRLIE(Politehnica University Timisoara)
- Referenți:
- Prof. dr. ing. Mircea POPA (Politehnica University Timisoara)
- Prof. dr. ing. Liviu Cristian MICLEA (Technical University of Cluj-Napoca )
- Prof. dr. ing. Dana PETCU (Vest University of Timisoara)
Rezumatul tezei:
The motivation of this thesis was to create an algorithm called NUMA-BTLP [1], which assigns at compile-time one type to each thread in the input code, the classification of the threads being based on static criteria that we defined in the thesis, and another algorithm called NUMA-BTDM [2] that maps threads (mapping establishes the cores that threads will run on) at compile-time according to their type, aiming to improve the balanced data locality on NUMA systems. NUMA-BTDM [2] takes into account the static behavior of the code when performing the mapping and eliminates the disadvantages of dynamic mapping (execution time and extra energy consumption during running) and some important disadvantages of static mapping: unpredictability at compile-time of the number of threads and unpredictability of the latencies of memory operations.
The research aims to optimize the parallel C / C ++ applications that use the PThreads Library [3] for the management of threads, through two algorithms, one for static classification of the threads and the other for their static mapping. Algorithms eliminate some of the disadvantages of not knowing the dynamic behavior at compile-time, such as not knowing the number of threads. The algorithms optimize the execution time and power consumption of the applications by improving the balanced data locality when running these applications on NUMA systems.
Although the NUMA-BTLP [1] algorithm inserts, at compile-time, additional function calls that set the CPU affinity of each thread, the NUMA-BTLP [1] algorithm does not degrade either the runtime or the power consumption of NUMA or UMA systems, for tested applications, but improves the runtime and the power consumption for small number of autonomous threads with up to 2% in both cases and only the power consumption for large number of autonomous threads and a small number of side-by-side threads with up to 15%.