Pub Date : 2020-10-21DOI: 10.5753/WSCAD.2020.14072
Nathan Manera Magalhães, M. A. Araújo, J. M. David, Laércio Pioli, M. Dantas
A identificação de desenvolvedores de software globalmente distribuídos, especialistas em uma tecnologia, para a manutenção de software tornou-se uma atividade complexa, com alto consumo de tempo e suscetível a falhas de decisão quando realizada em umaúnica base de dados local. Esta crescente complexidade se deve, sobretudo, aos requisitos que os sistemas contemporâneos demandam. Neste contexto, a busca por especialistas para as atividades de manutenção em bases diversificadas tornou-se necessária, o que exige um poder de processamento crescente para recuperar as informações em diferentes repositórios. Este artigo apresenta uma abordagem que visa prover um ambiente que trata a busca de especialistas em diferentes repositórios com o objetivo de apoiar a tomada de decisão para a manutenção de software. Nossa proposta foi executada em um ambiente computacional convencional e em um de alto desempenho, este último apresentando um diferencial em relação ao processamento das bases de dados distribuídas.
{"title":"Suporte às atividades de manutenção de software em bases de dados abertas e distribuídas","authors":"Nathan Manera Magalhães, M. A. Araújo, J. M. David, Laércio Pioli, M. Dantas","doi":"10.5753/WSCAD.2020.14072","DOIUrl":"https://doi.org/10.5753/WSCAD.2020.14072","url":null,"abstract":"A identificação de desenvolvedores de software globalmente distribuídos, especialistas em uma tecnologia, para a manutenção de software tornou-se uma atividade complexa, com alto consumo de tempo e suscetível a falhas de decisão quando realizada em umaúnica base de dados local. Esta crescente complexidade se deve, sobretudo, aos requisitos que os sistemas contemporâneos demandam. Neste contexto, a busca por especialistas para as atividades de manutenção em bases diversificadas tornou-se necessária, o que exige um poder de processamento crescente para recuperar as informações em diferentes repositórios. Este artigo apresenta uma abordagem que visa prover um ambiente que trata a busca de especialistas em diferentes repositórios com o objetivo de apoiar a tomada de decisão para a manutenção de software. Nossa proposta foi executada em um ambiente computacional convencional e em um de alto desempenho, este último apresentando um diferencial em relação ao processamento das bases de dados distribuídas.","PeriodicalId":358020,"journal":{"name":"Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2020)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116840800","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-10-21DOI: 10.5753/WSCAD.2020.14056
Henry Pereira, Kevin Lino de Oliveira, A. Jardim, André Rauber Du Bois, G. Cavalheiro
Embora as modernas ferramentas para programação multithread ofereçam recursos para exploração eficiente do hardware, os suportes à sincronização a dados compartilhados ainda refletem modelos baseados em seção crítica clássicos. Memória Transacional (TM) propõe um modelo de controle de concorrência de mais alto nível, mas não se encontra disponível em tais ferramentas. Neste artigo é apresentada uma extensão à OpenMP para suporte à TM e uma avaliação de desempenho de sua prototipação sobre duas ferramentas que suportam TM. Os resultados apontam a viabilidade da extensão proposta e a análise das execuções permitiu concluir que as políticas aplicadas para gestão da TM são decisivas para o bom desempenho do programa.
{"title":"Estudo da Viabilidade de uma Interface para Memórias Transacionais em OpenMP","authors":"Henry Pereira, Kevin Lino de Oliveira, A. Jardim, André Rauber Du Bois, G. Cavalheiro","doi":"10.5753/WSCAD.2020.14056","DOIUrl":"https://doi.org/10.5753/WSCAD.2020.14056","url":null,"abstract":"Embora as modernas ferramentas para programação multithread ofereçam recursos para exploração eficiente do hardware, os suportes à sincronização a dados compartilhados ainda refletem modelos baseados em seção crítica clássicos. Memória Transacional (TM) propõe um modelo de controle de concorrência de mais alto nível, mas não se encontra disponível em tais ferramentas. Neste artigo é apresentada uma extensão à OpenMP para suporte à TM e uma avaliação de desempenho de sua prototipação sobre duas ferramentas que suportam TM. Os resultados apontam a viabilidade da extensão proposta e a análise das execuções permitiu concluir que as políticas aplicadas para gestão da TM são decisivas para o bom desempenho do programa.","PeriodicalId":358020,"journal":{"name":"Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2020)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134244152","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-10-21DOI: 10.5753/WSCAD.2020.14053
Vanderson Do Rosário, André Felipe Zanella, Anderson Faustino da Silva, Edson Borin
Melhorar o desempenho de uma aplicação em computadores modernos envolve escolhas em um largo espaço de busca, pois tais arquiteturas possuem variadas características que impactam significativamente o desempenho das aplicações. Além disso, diferentes aplicações tendem a utilizar essas características de forma diferente, tornando a função que mapeia o desempenho de uma aplicação em um hardware bastante complexa. O que torna a tarefa de gerar códigos que maximizem tal função, por parte de compiladores ou especialistas, uma tarefa difícil. Uma possibilidade é avaliar automaticamente várias possibilidades de compilação, técnica conhecida como autotuning. Porém, o custo de executar a aplicação para medir seu desempenho para cada possibilidade tem um elevado custo. Por isso, é comum a utilização de preditores de desempenho para acelerar essa exploração. Nesse trabalho, implementamos e avaliamos o uso de redes neurais de grafos, mais especificamente redes convolucionais de grafos, para a tarefa de predizer o desempenho de uma aplicação. Nós treinamos uma rede com 30 mil diferentes planos de compilação aplicados em 300 diferentes aplicações e mostramos que redes baseadas em grafo podem aprender sobre as características do grafo de fluxo de controle, obtendo desempenho melhor do que técnicas que não consideram tal grafo durante a predição de desempenho.
{"title":"Predição de Desempenho com Graph Neural Networks","authors":"Vanderson Do Rosário, André Felipe Zanella, Anderson Faustino da Silva, Edson Borin","doi":"10.5753/WSCAD.2020.14053","DOIUrl":"https://doi.org/10.5753/WSCAD.2020.14053","url":null,"abstract":"Melhorar o desempenho de uma aplicação em computadores modernos envolve escolhas em um largo espaço de busca, pois tais arquiteturas possuem variadas características que impactam significativamente o desempenho das aplicações. Além disso, diferentes aplicações tendem a utilizar essas características de forma diferente, tornando a função que mapeia o desempenho de uma aplicação em um hardware bastante complexa. O que torna a tarefa de gerar códigos que maximizem tal função, por parte de compiladores ou especialistas, uma tarefa difícil. Uma possibilidade é avaliar automaticamente várias possibilidades de compilação, técnica conhecida como autotuning. Porém, o custo de executar a aplicação para medir seu desempenho para cada possibilidade tem um elevado custo. Por isso, é comum a utilização de preditores de desempenho para acelerar essa exploração. Nesse trabalho, implementamos e avaliamos o uso de redes neurais de grafos, mais especificamente redes convolucionais de grafos, para a tarefa de predizer o desempenho de uma aplicação. Nós treinamos uma rede com 30 mil diferentes planos de compilação aplicados em 300 diferentes aplicações e mostramos que redes baseadas em grafo podem aprender sobre as características do grafo de fluxo de controle, obtendo desempenho melhor do que técnicas que não consideram tal grafo durante a predição de desempenho.","PeriodicalId":358020,"journal":{"name":"Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2020)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123967669","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}