Otimização do tempo de vida de processadores multicore homogêneos através da variação do grau de TLP e das políticas de alocação de threads - Medeiros, Thiarles Soares (2021)
The advancement in transistor technology has allowed an increase in the number of cores in a single chip. This, in turn, enables high-performance computing systems with better capabilities to exploit thread-level parallelism (TLP). However, this also leads to unforeseen issues related to the temperature of these systems. Reaching high temperatures speeds up the aging process of hardware components by influencing their causes (e.g., negative bias temperature instability – NBTI). In addition, this effect depends not only on the number of cores, but also the distance between them and their use. On top of that, parallel applications present various patterns, such as irregularity, unbalanced computations, or high rates of communications. These different characteristics may accentuate such adverse effects. With the preliminary stage of this dissertation, we perform thirteen well-known benchmarks in three different multicore architectures to evaluate different TLP configurations and thread placement policies and affinity strategies implemented in OpenMP. The results demonstrate no haves a configuration that delivers the best NBTI for all applications. Given this scenario, this dissertation proposes AATS, a methodology to reduce aging through the combination of TLP exploration and threads allocation strategy. AATS was employed in two ways, one that acts in a offline way running outside the application and a online that makes the optimization at run time. AATS offline showed effective results in reducing aging with a distance of only 1.02 from the best solution found in the design space exploration for the AMD 16 cores architecture. Still, it is able to find a solution in a large space exploration evaluating a reduced number of configurations, as example in the IBM 160 cores architecture in which, on average, only 1.9% of the possible configurations were evaluated. In the case of AATS online was possible to observe that the dynamic adjustments during the execution of the application did not make possible to reduce the aging, mainly due to the increase in the execution time. The justification for this is in the increase of the number of accesses to the memory due to the variation of the allocation policies, in which they require updating of the data that are in the cache memories when the threads are reallocated. Keywords: Optimization. Aging. Thread affinity. Thread-level parallelism. OpenMP.