Otimização do Mapeamento de Threads e Dados em Aplicações com Memória Transacional usando Aprendizado de Máquina
Resumo
Memórias Transacionais facilitam a programação e evitam a ocorrência de deadlocks durante a execução da aplicação em sistemas com múltiplas threads. O mapeamento das threads entre os núcleos de processamento e a alocação de dados influenciam o desempenho das aplicações. Neste trabalho é proposta a utilização de algoritmos de aprendizado de máquina para a otimização em conjunto das políticas de mapeamento de threads e de dados, coletando-se métricas da Memória Transacional.
Referências
Denoyelle, N., Goglin, B., Jeannot, E., and Ropars, T. (2019). Data and thread placement in NUMA architectures: A statistical learning approach. In Proceedings of the 48th International Conference on Parallel Processing, ICPP 2019, New York, NY, USA. Association for Computing Machinery.
Di Sanzo, P., Pellegrini, A., Sannicandro, M., Ciciani, B., and Quaglia, F. (2019). Adaptive model-based scheduling in software transactional memory. IEEE Transactions on Computers, PP:1-1.
Pasqualin, D. P., Diener, M., Du Bois, A. R., and Pilla, M. L. (2020). Online sharing-aware thread mapping in software transactional memory. In 2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 35-42.