Topology-aware task scheduling for heterogeneous architectures
dc.contributor.advisor | Beck Filho, Antonio Carlos Schneider | pt_BR |
dc.contributor.author | Kopper, Pedro Henrique Capp | pt_BR |
dc.date.accessioned | 2024-09-24T06:45:52Z | pt_BR |
dc.date.issued | 2024 | pt_BR |
dc.identifier.uri | http://hdl.handle.net/10183/279059 | pt_BR |
dc.description.abstract | Due to pressing power consumption requirements, recent processors have started to fea ture heterogeneous, same-ISA cores. This causes modern processors to have highly unique and asymmetric topologies, requiring special attention to task scheduling to ob tain high performance and avoid hitting bottlenecks. This work proposes utilizing perfor mance counters to profile applications online and use a machine learning model to map them to the most appropriate cores. We start by characterizing the processor and analyz ing the memory subsystem for possible bottlenecks. Once that is identified, performance counter data is collected from several real-world benchmarks. This data is organized as a dataset for training a gradient boosting classifier, which can predict which thread should be scheduled in the most performing core with 91.1% accuracy. This model is then used to develop a thread placing script, which dynamically sets the CPU affinity of threads based on the model. This strategy can lead to up to 69.9% performance gain on select benchmarks, with a geometric average of 7.76%. Finally, regressing benchmarks are an alyzed to improve the model in the future. | en |
dc.description.abstract | Devido aos requisitos atuais de consumo de energia, os processadores mais recentes co meçaram a apresentar núcleos heterogêneos e que utilizam a mesma ISA. Essa característica faz com que os processadores modernos possuam topologias altamente exclusivas e assimétricas, exigindo atenção especial no escalonamento de tarefas para obter alto desempenho e evitar gargalos. Começamos caracterizando o processador e analisando o subsistema de memória para encontrar possíveis gargalos. Uma vez que isso é identificado, os dados de performance counters são coletados de vários benchmarks de mundo real. Esses dados são organizados como um conjunto de dados para treinar um classifica dor de aumento de gradiente, o qual pode prever qual thread deve ser alocada no núcleo de melhor desempenho com 91,1% de precisão. Esse modelo é então usado para desen volver um script de alocação de cores, que define dinamicamente a afinidade de CPU das threads com base no modelo. Essa estratégia pode levar a um ganho de desempenho de até 69,9% em benchmarks selecionados, com uma média geométrica de 7,76%. Finalmente, os benchmarks que regrediram são analisados para melhorar o modelo no futuro. | pt_BR |
dc.format.mimetype | application/pdf | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | Open Access | en |
dc.subject | Processadores heterogêneos | pt_BR |
dc.subject | Cache | en |
dc.subject | Scheduling | en |
dc.subject | Escalonamento | pt_BR |
dc.subject | Desempenho | pt_BR |
dc.subject | Afinidade de CPU | pt_BR |
dc.title | Topology-aware task scheduling for heterogeneous architectures | pt_BR |
dc.title.alternative | Escalonamento de tarefas ciente de topologia para arquiteturas heterogêneas | en |
dc.type | Trabalho de conclusão de graduação | pt_BR |
dc.identifier.nrb | 001210642 | pt_BR |
dc.degree.grantor | Universidade Federal do Rio Grande do Sul | pt_BR |
dc.degree.department | Instituto de Informática | pt_BR |
dc.degree.local | Porto Alegre, BR-RS | pt_BR |
dc.degree.date | 2024 | pt_BR |
dc.degree.graduation | Ciência da Computação: Ênfase em Engenharia da Computação: Bacharelado | pt_BR |
dc.degree.level | graduação | pt_BR |
Files in this item
This item is licensed under a Creative Commons License