Navegando por Autor "Silva, Kayo Gonçalves e"
Agora exibindo 1 - 7 de 7
- Resultados por página
- Opções de Ordenação
TCC Análise de eficiência energética e caracterização da plataforma GAP8(Universidade Federal do Rio Grande do Norte, 2021-09-10) Oliveira, Isis Gomes de; Souza, Samuel Xavier de; Nascimento, Diego Vinicius Cirilo do; http://lattes.cnpq.br/4649226597551874; 0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/7934816750311276; Silva, Kayo Gonçalves e; http://lattes.cnpq.br/8953461509650063A redução dinâmica de margens de tensão é uma técnica de eficiência energética que está sendo utilizada em plataformas recentes. Este trabalho de conclusão de curso propõe explorar a possibilidade de realizar cálculos e trabalhar com processamento em frequências elevadas de forma eficiente. A plataforma utilizada para testes foi a placa GAPuino GAP8 baseada no Projeto PULP (Parallel Ultra Low Power) da ETH Zurich. Ela foi projetada e implementada para ter um baixo consumo energético, além de sua construção ser próxima do objetivo final do projeto CEVERO (Chip multiprocEssor for Very Energy efficient aeRospace missiOns), que tem como finalidade produzir um System On Chip (SOC) tolerante a falhas para aplicações embarcadas em satélites. As análises realizadas nesta pesquisa observam que é possível trabalhar em frequências elevadas, acima do guardband da placa, verificando assim economia de tempo e energia. A principal metodologia utilizada para averiguar esse comportamento foi a mudança em tempo de execução da voltagem e, acompanhando essa, da frequência, para níveis considerados inseguros pelo fabricante. As constatações aqui feitas são baseadas nas visualizações de dados que foram geradas ao longo do estudo, juntamente com a medição de desempenho diretamente na plataforma durante as execuções.Dissertação Análise de escalabilidade de uma implementação paralela do simulated annealing acoplado(Universidade Federal do Rio Grande do Norte, 2013-03-25) Silva, Kayo Gonçalves e; Souza, Samuel Xavier de; Aloise, Daniel; ; http://lattes.cnpq.br/5093210888872414; ; http://lattes.cnpq.br/9892239670106361; ; http://lattes.cnpq.br/8953461509650063; Medeiros Júnior, Manoel Firmino de; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4781378J1; Martins, Simone de Lima; ; http://lattes.cnpq.br/5202429302236084O presente trabalho analisa o desempenho paralelo de uma implementação do Simulated Annealing Acoplado (CSA, do inglês Coupled Simulated Annealing) para otimização de variáveis contínuas sem restrições. O processamento paralelo é uma forma eficiente de processamento de informação com ênfase na exploração de eventos simultâneos na execução de um software. Ele surge principalmente devido às elevadas exigências de desempenho computacional e à dificuldade em aumentar a velocidade de um único núcleo de processamento. Apesar das CPUs multiprocessadas, ou processadores multicore, serem facilmente encontrados atualmente, diversos algoritmos ainda não são adequados para executar em arquiteturas paralelas. O algoritmo do CSA é caracterizado por um grupo de otimizadores Simulated Annealing (SA) trabalhando em conjunto no refinamento da solução. Cada otimizador SA é executado em uma única thread, e essas executadas por diferentes processadores. Na análise de desempenho e escalabilidade paralela, as métricas investigadas foram: o tempo de execução; o speedup do algoritmo com respeito ao aumento do número de processadores; e a eficiência na utilização de elementos de processamento com relação ao aumento da instância do problema tratado. Além disso, foi verificada a qualidade da solução final. Para o estudo, esse trabalho analisa uma versão paralela do CSA e sua versão serial equivalente. Ambos algoritmos foram analisados sobre 14 funções de referência. Para cada uma dessas funções, o CSA é avaliado utilizando de 2 a 24 otimizadores. Os resultados obtidos são exibidos e comentados observando-se as métricas de análise. As conclusões do trabalho caracterizam o CSA como um bom algoritmo paralelo, seja na qualidade das soluções como na escalabilidade e eficiência paralelaTCC Extending the PaScal Analyzer for MPI Scalability Analysis: Design, Implementation, and Validation(Universidade Federal do Rio Grande do Norte, 2025-07-09) Gomes, Júlio Freire Peixoto; Souza , Samuel Xavier de; Assis, Italo Augusto Souza de; Silva, Kayo Gonçalves eA análise de desempenho é fundamental em Computação de Alto Desempenho (HPC), essencial para otimizar aplicações, bem como os recursos computacionais utilizados. Contudo, as ferramentas de análises existentes são complexas ou não estão direcionadas a análise de escalabilidade. Essa lacuna dificulta a identificação de tendências de desempenho de forma ágil e prática. A fim de preencher esse espaço faltante, foi criado o PaScal Analyzer, uma ferramenta de análise de desempenho e escalabilidade. O programa foi originalmente projetado para aplicações paralelas em sistemas de memória compartilhada. Este trabalho aprenseta um novo módulo para aplicações distribuídas baseadas em Message Passing Interface (MPI) com ambiente Slurm. A proposta inicial é uma arquitetura completa, utilizando processos auxiliares ("\textit{sidekicks}") para a coleta dos tempos de execução dos processos com baixo nível de intrusão. Entretanto, a versão até agora implementada usa uma arquitetura simplificada sem a utilização dos processos auxiliares, mas mantendo as características coleta com baixa intrusão. A validação experimental foi realizada com o benchmark NASA Advanced Supercomputing (NAS) Integer Sort (IS) em diferentes classes de tamanho de problema e número de processos, avaliando métricas como tempo de execução, speedup, eficiência e escalabilidade. Os resultados obtidos confirmam os modelos teóricos de Amdahl e Gustafson, demonstrando que a ferramenta é capaz de capturar com precisão o comportamento de desempenho em sistemas distribuídos, facilitando a tomada de decisões sobre alocação de recursos e dimensionamento.Dissertação Implementação de OpenMP para o Sistema Operacional Nanvix em RISC-V(Universidade Federal do Rio Grande do Norte, 2022-04-26) Souza Filho, Reinaldo Agostinho de; Souza, Samuel Xavier de; https://orcid.org/0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/7696645664619092; Freitas, Henrique Cota de; Silva, Kayo Gonçalves e; http://lattes.cnpq.br/8953461509650063; Barros, Tiago Tavares LeiteProgramar sistemas embarcados com múltiplos núcleos de processamento não é uma tarefa trivial pois, em muitos casos, esses sistemas não têm suporte a interfaces de programação paralela que, por muitas vezes, requerem de recursos de um sistema operacional. Esse trabalho implementa uma versão da interface de programação paralela Multi processamento aberto (OpenMP do inglês Open Multi Processing) para o sistema operacional Nanvix. O OpenMP é uma interface de desenvolvimento de aplicações paralelas que permite a abstração intuitiva do paralelismo e da divisão da carga de trabalho nos processos. Na utilização de projetos com códigos embarcados, é comum haver limitações de memória nas plataformas utilizadas. Isto pode inviabilizar o uso de sistemas operacionais que implementam interfaces amigáveis para a programação. Os sistemas operacionais utilizados em plataformas de processamento embarcado costumam ser limitados em programabilidade, exigindo que o programador tenha um vasto conhecimento de processos do sistema operacional e da arquitetura de hardware utilizada. O Nanvix é um sistema operacional desenvolvido para plataformas embarcadas de múltiplos núcleos de processamento com foco em ser leve o suficiente para a utilização em ambientes com restrição de memória, mas, ao mesmo tempo, com foco na utilização de padrões que facilitam a programação. O Nanvix possui interfaces de programação paralela nativas que se inspiram no padrão Portable Operating System Interface (POSIX) utilizado para a implementação de algumas versões de OpenMP, sendo então esperado que seja possível criar uma versão para o Nanvix que resultará em uma com maior facilidade de programação em paralelo para o sistema operacional. Nesse trabalho a versão de OpenMP implementada utiliza o compilador do Nanvix para traduzir as diretivas de compilação e foi criada uma biblioteca para as rotinas de execução, sendo esta testada através de um emulador de arquitetura RISC-V. Para validação, foram utilizadas aplicações com a versão de OpenMP e versões equivalentes na biblioteca de programação paralela nativa do Nanvix. A programabilidade do Nanvix foi melhorada com OpenMP diminuindo o tempo de desenvolvimento de aplicações paralelas. Os resultados mostraram que, em alguns casos, o OpenMP possui maior eficiência paralela que a interface de programação paralela nativa do Nanvix kthreads, e em outros casos kthreads tiveram maior eficiência paralela.Tese Órbita Perpétua e outras técnicas de otimização global robusta para os algoritmos Simulated Annealing Acoplado e Nelder-Mead(2018-06-28) Silva, Kayo Gonçalves e; Souza, Samuel Xavier de; ; ; Bianchini, Calebe de Paula; ; Lima Júnior, Francisco Chagas de; ; Lucena, Liacir dos Santos; ; Medeiros Júnior, Manoel Firmino de;As metaheurísticas são algoritmos cuja estratégia visa reduzir o custo computacional em detrimento da qualidade ótima das soluções. Elas são amplamente utilizadas para aproximar soluções de problemas de otimização computacionalmente intratáveis. Embora tipicamente de implementação simples, algumas metaheurísticas sofrem por não possuírem robustez quanto à sintonização de alguns parâmetros de inicialização, o que demanda um processo de tentativa de valoração muito oneroso devido à sua natureza empírica. Neste trabalho, apresentamos algumas soluções para esse problema propondo três novas metaheurísticas baseadas nas abordagens livres de parâmetro, menos é mais (LIMA) e paralelas, que visam tornar robusto algumas metaheurísticas. Como resultados, os algoritmos Nelder-Mead Simplificado (SNM), o Simulated Annealing Acoplado Síncrono (SCSA) e Assíncrono (ACSA), e o Simulated Annealing Acoplado com Órbita Perpétua (PO-CSA) foram propostos. O SNM é o resultado da abordagem LIMA ao método Nelder-Mead (NM). Além de sua implementação possuir muito menos pontos que o algoritmo original, sua capacidade de realizar vários passos simples o torna capaz de encontrar melhores resultados do que o NM original mesmo para funções não convexas. O SCSA e ACSA são implementações paralelas do Simulated Annealing Acoplado (CSA) que permitem ao usuário a escolha eficiente de uma ou outra versão baseado no tamanho do problema e no número de otimizadores. A técnica Órbita Perpétua (PO) foi desenvolvida no intuito de controlar a temperatura de geração do CSA para torná-lo livre de parâmetros de inicialização. O PO-CSA aproveita a técnica PO combinada com o escalonamento automático quase-ótimo da temperatura de aceitação do CSA para tornar a otimização do CSA mais robusta com relação aos parâmetros de inicialização. Enquanto que o PO-CSA tem melhor desempenho do que os algoritmos de referência para a maioria das funções objetivo, tanto em qualidade de solução como em tempo de execução, seu controle da temperatura de geração também se mostrou mais efetivo do que o CSA original com parâmetros de inicialização ajustados exaustivamente.Dissertação A parallel software-defined ultra-low-power receiver for a satellite message forwarding system(Universidade Federal do Rio Grande do Norte, 2021-09-17) Lima, Raffael Sadite Cordoville Gomes de; Souza, Samuel Xavier de; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/5309024918270815; Silva, Kayo Gonçalves e; http://lattes.cnpq.br/8953461509650063; Barros, Tiago Tavares Leite; http://lattes.cnpq.br/1321568048490353; Freitas, Henrique Cota de; http://lattes.cnpq.br/4075688424083407; Duarte, José Marcelo Lima; http://lattes.cnpq.br/8163366759050906Os nanossatélites se tornaram a solução padrão para a maioria dos sistemas espaciais que operam em órbita terrestre baixa (LEO). No entanto, esta categoria de satélite impõe fortes restrições ao consumo de energia de seus subsistemas devido ao pequeno tamanho de seus painéis solares. Este trabalho apresenta um receptor Phase Shift Keying (PSK) multiusuário definido por software paralelo para uma carga útil de nanosatélite que servirá o Global Open coLlecting Data System (GOLDS), um sistema de armazenamento e encaminhamento de mensagens. Para isso, escolhemos o GAP8, um microprocessador RISC-V multi-core. Utilizamos uma abordagem paralela e a escala dinâmica de tensão e frequência (DVFS) para implementar processamento de sinal complexo garantindo baixo consumo de energia e atendendo às condições de operação em tempo real. Os sinais de entrada do receptor são sinais de rajada ±π/3−PSK codificados em 400 bps de plataformas terrestres, e o canal de comunicação foi modelado como AWGN com um desvanecimento plano independente por sinal PSK. Um modelo de referência MATLAB foi usado para validação funcional da implementação proposta. Até 12 sinais podem ser decodificados simultaneamente, exigindo um consumo máximo de potência de 41 mW. O uso de DVFS proporcionou uma economia máxima de 43% na potência dissipada e 12% no consumo de energia.TCC Porting, pro filing and optimization of an ultrasound processing algorithm using Raspberry Pi 3(Universidade Federal do Rio Grande do Norte, 2022-02-11) Costa, Danielly Cristina de Matos; Souza, Samuel Xavier de; Silva, Kayo Gonçalves e; Ichihara, Danilo Chaves de SousaThe ultrasound monitoring patch developed by Pulsify Medical is an innovative device that allows the safe monitoring of the patient's cardiac performance, wherever they go, in a flexible and mobile way. The present work, done with this company partnership aims to assist in the choice of the architecture of this patch device, and consists in the portability and parallelization of an ultrasound delay and sum (DAS) algorithm, which will later be incorporated into Raspberry, for further comparisons. For that, initially, the code was ported from Matlab to C. Then, optimizations were made to finally start the analysis and parallelizations in Raspberry using OpenMP. For the analysis, tools like gprof and gprof2dot were used. After the analysis, the parallelization of one of the most costly functions was started and clauses like collapse and schedule were used. Then, the running time, using different combinations of clauses and for loops, were collected, which were used on a scalability analysis. This analysis, however, showed that the raspberry architecture maybe wasn't the best for this kind of application.