Show simple item record

dc.contributor.advisorBeck Filho, Antonio Carlos Schneiderpt_BR
dc.contributor.authorKopper, Pedro Henrique Capppt_BR
dc.date.accessioned2024-09-24T06:45:52Zpt_BR
dc.date.issued2024pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/279059pt_BR
dc.description.abstractDue 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.abstractDevido 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.mimetypeapplication/pdfpt_BR
dc.language.isoporpt_BR
dc.rightsOpen Accessen
dc.subjectProcessadores heterogêneospt_BR
dc.subjectCacheen
dc.subjectSchedulingen
dc.subjectEscalonamentopt_BR
dc.subjectDesempenhopt_BR
dc.subjectAfinidade de CPUpt_BR
dc.titleTopology-aware task scheduling for heterogeneous architecturespt_BR
dc.title.alternativeEscalonamento de tarefas ciente de topologia para arquiteturas heterogêneas en
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.identifier.nrb001210642pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2024pt_BR
dc.degree.graduationCiência da Computação: Ênfase em Engenharia da Computação: Bachareladopt_BR
dc.degree.levelgraduaçãopt_BR


Files in this item

Thumbnail
   

This item is licensed under a Creative Commons License

Show simple item record