Marcelo K. Moori, H. Rocha, Janaína Schwarzrock, A. Lorenzon, A. C. S. Beck
{"title":"Aumentando a Eficiência na Execução de Algoritmos de Grafos em HPC","authors":"Marcelo K. Moori, H. Rocha, Janaína Schwarzrock, A. Lorenzon, A. C. S. Beck","doi":"10.5753/wscad.2021.18518","DOIUrl":"https://doi.org/10.5753/wscad.2021.18518","url":null,"abstract":"A crescente necessidade de extrair informações de dados massivos - estruturados como grafos - tem impulsionado o desenvolvimento de algoritmos paralelos cada vez mais robustos para este processamento. No entanto, o comportamento voltado à comunicação e a estrutura altamente irregular dos grafos usados cotidianamente são obstáculos para alcançar os mesmos níveis de desempenho e eficiência como os observados em outras aplicações paralelas. Neste artigo, nós mostramos que a escalabilidade de diferentes aplicações de grafos variam de acordo com o algoritmo usado e a sua base de dados e que, em muitos casos, utilizar todos recursos disponíveis (i.e. todos os núcleos do processador para a execução) não é a melhor opção em termos de eficiência. Com base nisso, nós propomos o MultGraph, um framework que permite o processamento simultâneo de vários algoritmos/grafos, distribuindo-os de maneira não uniforme entre os núcleos, ao invés de executá-los serialmente (i.e. um após o outro) com o máximo paralelismo disponível. MultGraph funciona em dois passos: (i) caracterizando os algoritmos/grafos pelos seus níveis de eficiência; (ii) definindo as alocações (agrupamentos de algoritmos e entradas a serem executados concorrentemente), número de threads para cada um deles, e a ordem de execução destes grupos. Resultados experimentais em três processadores multicore (Intel e AMD) mostram que o MultGraph melhora em até 9, 21x e 4, 52x em média o tempo de execução das aplicações em relação à execução padrão de aplicações em sistemas HPC.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116758613","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}
L. Fagundes-Júnior, Michael Canesche, R. Ferreira, A. Brandão
{"title":"A Nonlinear UAV Control Tuning Under Communication Delay using HPC Strategies in Parameters Space","authors":"L. Fagundes-Júnior, Michael Canesche, R. Ferreira, A. Brandão","doi":"10.5753/wscad.2021.18526","DOIUrl":"https://doi.org/10.5753/wscad.2021.18526","url":null,"abstract":"In practical applications, the presence of delays can deteriorate the performance of the control system or even cause plant instability. However, by properly controlling these delays, it is possible to improve the performance of the mechanism. The present work is based on a proposal to analyze the asymptotic stability and convergence of a quadrotor robot, an unmanned aerial vehicle (UAV), on the performance of a given task, under time delay in the data flow. The effects of the communication delay problem, as well as the response-signal behavior of the quadrotors in the accomplishment of positioning mission are presented and analyzed from the insertion of fixed time delay intervals in the UAVs' data collected by its sensors system. Due to the large search space in the set of parameter combinations and the high computational cost required to perform such an analysis by sequentially executing thousands of simulations, this work proposes an open source GPU-based implementation to simulate the robot behavior. Experimental results show a speedup up to 4900x in comparison to MATLAB® implementation. The implement is available in Colab Google platform.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122508245","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}
João Ladeira Rezende, Edevaldo Braga dos Santos, G. Cavalheiro
{"title":"Detecção de operações de redução em programas C","authors":"João Ladeira Rezende, Edevaldo Braga dos Santos, G. Cavalheiro","doi":"10.5753/wscad.2021.18524","DOIUrl":"https://doi.org/10.5753/wscad.2021.18524","url":null,"abstract":"Os atuais compiladores dotados de recursos para paralelização automática de código limitam-se a detectar trechos de código paralelizáveis automaticamente, não reportando trechos de código candidatos a paralelização por reprogramação manual. Este artigo apresenta uma estratégia para detecção de trechos de código refletindo o padrão iterativo de redução candidatos a paralelização por transformação manual. A validação foi realizada comparando os resultados obtidos com os apresentados por Cetus sobre o benchmark BOTS. A análise dos resultados indicou a validade da proposta, sendo discutidos os casos de falsos positivos reportados na aplicação da técnica proposta.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130600234","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}
{"title":"Predição de Tamanho de Código utilizando Benchmarks Sintetizados: Um Estudo de Caso","authors":"André Felipe Zanella, A. Silva","doi":"10.5753/wscad.2021.18514","DOIUrl":"https://doi.org/10.5753/wscad.2021.18514","url":null,"abstract":"Um dos principais problemas que impedem Redes Neurais Profundas se tornarem predominantes para otimização de compiladores é a dificuldade de criação de conjuntos de dados de alta qualidade. Benchmarks reais geralmente são programas grandes e complexos, e por não serem abundantes, modelos de compilação preditiva geralmente apresentam dificuldades de generalização devido ao vasto espaço de programas. Esforços recentes da comunidade para mitigar este problema resultaram em ferramentas para síntese automática de benchmarks, capazes de gerar milhares ou milhões de programas sintéticos. No entanto, esses códigos dificilmente coincidem em termos de similaridade com benchmarks codificados manualmente. Este artigo tem como objetivo avaliar o desempenho dos benchmarks AnghaBench, uma proeminente suíte de programas C sintetizados para compilação preditiva, em um problema de aprendizagem de máquina. Comparamos o desempenho desses benchmarks com aplicações provenientes da suíte de testes LLVM, utilizando um modelo LSTM para prever o tamanho de código proporcionado por uma sequência de otimizações, sem a necessidade de compilar o programa. Os resultados experimentais indicam que, em alguns domínios, benchmarks sintéticos são equiparáveis, mas não superam aplicações reais.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115631206","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}
{"title":"DONUTS: Um Eficiente Método de Checkpointing em Memórias Não Voláteis","authors":"Kleber Kruger, R. Azevedo, Ricardo Pannain","doi":"10.5753/wscad.2021.18517","DOIUrl":"https://doi.org/10.5753/wscad.2021.18517","url":null,"abstract":"Os sistemas com memória não volátil (NVM) precisam ser consistentes à falhas. Dentre os principais desafios está criar mecanismos de checkpointing viáveis em termos de desempenho e usabilidade, para isso é necessário reduzir o número de escritas na NVM, pois o aumento excessivo gera maior uso de largura de banda e, consequentemente, degrada o desempenho. Neste trabalho é proposto DONUTS, um mecanismo transparente ao software que gera épocas dinâmicas por meio de checkpoints integrados à política de substituição de cache. Comparado ao sistema anterior de melhor desempenho, o método proposto reduziu a quantidade de escritas na NVM em 53,8%, fornecendo consistência à falhas com menos de 1% de overhead de tempo de execução.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123991957","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}
{"title":"Aceleração de uma Aplicação de Simulação de Câmara de Combustão em Multi-Core","authors":"G. Pizzolato, Claudio Schepke, Natiele Lucca","doi":"10.5753/wscad.2021.18510","DOIUrl":"https://doi.org/10.5753/wscad.2021.18510","url":null,"abstract":"Desenvolver novos motores propulsivos, avaliar a queima de combustíveis ou propor novas substâncias de catálise podem ser simulados computacionalmente sem a necessidade de construção de um ambiente real. Para tanto, foi desenvolvido uma aplicação que possibilita representar o funcionamento de uma câmera de combustão. No entanto, a representação discreta de uma simulação possui um expressivo tempo de processamento (horas). Neste artigo são propostas e avaliadas técnicas de paralelização para a aplicação, a fim de executar as simulações em arquitetura multicore. Os resultados obtidos mostram que a aplicação foi mais rápida em uma arquitetura multicore.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132137451","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}
S. G. D. Oliveira, M. I. Santana, D. Brandão, C. Osthoff
{"title":"Uma implementação da busca em largura com estrutura bag e OpenMP","authors":"S. G. D. Oliveira, M. I. Santana, D. Brandão, C. Osthoff","doi":"10.5753/wscad.2021.18507","DOIUrl":"https://doi.org/10.5753/wscad.2021.18507","url":null,"abstract":"Neste artigo, são mostrados resultados de uma re-implementação da busca em largura na linguagem C++ com estrutura bag e interface OpenMP. A implementação é baseada em uma proposta existente na bibliografia que utilizou a linguagem Cilk++, que foi descontinuada. Para os experimentos realizados neste presente trabalho, foram utilizados 10 grafos não direcionados e 10 digrafos em uma máquina composta de oito núcleos, com duas threads por núcleo. Em relação à versão serial, a nova implementação apresentou aceleração de 3,2 a 5,7x ao utilizar oito threads e de aproximadamente 3 a 8x ao utilizar 16 threads.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133000545","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}
Claudio Scheer, Renato B. Hoffmann, Dalvan Griebler, I. Manssour, L. G. Fernandes
{"title":"Performance Data Visualization of Linux Events on Multicores","authors":"Claudio Scheer, Renato B. Hoffmann, Dalvan Griebler, I. Manssour, L. G. Fernandes","doi":"10.5753/wscad.2021.18516","DOIUrl":"https://doi.org/10.5753/wscad.2021.18516","url":null,"abstract":"Profiling tools are essential to understand the behavior of parallel applications and assist in the optimization process. However, tools such as Perf generate a large amount of data. This way, they require significant storage space, which also complicates reasoning about this large volume of data. Therefore, we propose VisPerf: a tool-chain and an interactive visualization dashboard for Perf data. The VisPerf tool-chain profiles the application and pre-processes the data, reducing the storage space required by about 50 times. Moreover, we used the visualization dashboard to quickly understand the performance of different events and visualize specific threads and functions of a real-world application.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130087588","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}
{"title":"A Framework for Executing Protein Sequence Alignment in Cloud Computing Services","authors":"L. R. Carvalho, A. Melo, Aleteia P. F. Araujo","doi":"10.5753/wscad.2021.18511","DOIUrl":"https://doi.org/10.5753/wscad.2021.18511","url":null,"abstract":"Protein sequence alignment is a task of great relevance in Bioinformatics and the Hirschberg algorithm is widely used for this task. This work proposes a framework for executing sequence alignment with the Hirschberg algorithm in different cloud computing services. In experiments, our framework was used to align HIV-1 protease sequences using different instances of AWS EC2 and different configurations of AWS Lambda functions.The results show that, for this application, there is a tradeoff between the expected execution time and the cost, e.g., in most cases AWS Lambda provides the best runtime, however at a higher USD cost. In this context, it is important to have a framework that helps in deciding which approach is most appropriate.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127525290","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}
Vinícius Nogueira, L. Amorim, I. Baratta, Gabriel Pereira, Renato Mesquita
{"title":"Nearest Neighbors Search Using Multi-GPU","authors":"Vinícius Nogueira, L. Amorim, I. Baratta, Gabriel Pereira, Renato Mesquita","doi":"10.5753/wscad.2021.18509","DOIUrl":"https://doi.org/10.5753/wscad.2021.18509","url":null,"abstract":"Meshless methods are increasingly gaining space in the study of electromagnetic phenomena as an alternative to traditional mesh-based methods. One of their biggest advantages is the absence of a mesh to describe the simulation domain. Instead, the domain discretization is done by spreading nodes along the domain and its boundaries. Thus, meshless methods are based on the interactions of each node with all its neighbors, and determining the neighborhood of the nodes becomes a fundamental task. The k-nearest neighbors (kNN) is a well-known algorithm used for this purpose, but it becomes a bottleneck for these methods due to its high computational cost. One of the alternatives to reduce the kNN high computational cost is to use spatial partitioning data structures (e.g., planar grid) that allow pruning when performing the k-nearest neighbors search. Furthermore, many of these strategies employed for kNN search have been adapted for graphics processing units (GPUs) and can take advantage of its high potential for parallelism. Thus, this paper proposes a multi-GPU version of the grid method for solving the kNN problem. It was possible to achieve a speedup of up to 1.99x and up to 3.94x using two and four GPUs, respectively, when compared against the single-GPU version of the grid method.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"155 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114625543","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}