Navegando por Autor "Souza, Samuel Xavier de"
Agora exibindo 1 - 20 de 55
- Resultados por página
- Opções de Ordenação
Tese A configurable dependability library for high-performance computing iterative applications with interruption detection, data preservation and failover capabilities(Universidade Federal do Rio Grande do Norte, 2024-10-04) Santana, Carla dos Santos; Souza, Samuel Xavier de; https://orcid.org/0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; https://orcid.org/0000-0003-3328-0056; http://lattes.cnpq.br/4697610292983660; Bianchini, Calebe de Paula; Tadonki, Claude; Chauris, Herve; Taufer, Michela; Navaux, Philippe Olivier Alexandre; Barros, Tiago Tavares LeiteA computação de alto desempenho é um campo dinâmico da ciência da computação que permite o processamento necessário para problemas de diversos domínios. Supercomputadores são indispensáveis para resolução de problemas complexos; no entanto, seu tamanho e complexidade os tornam suscetíveis a falhas. Isso destaca a importância crítica de empregar técnicas de tolerância a falhas para mitigar o impacto de interrupções. Esses métodos são essenciais para lidar com falhas de hardware e software, bem como cenários preemptivos. Dada a necessidade de tolerância a falhas, apresentamos novas metodologias para melhorar a tolerância a falhas em programas síncronos em massa. Essas novas metodologias são apresentadas dentro da Biblioteca de Confiabilidade para Aplicações Iterativas. Esta biblioteca oferece uma solução versátil que combina conservação de dados no nível da aplicação, detecção de falhas e capacidades de failover. A biblioteca proposta simplifica a integração de habilidades de tolerância a falhas nas aplicações, oferecendo opções de alta configurabilidade. Esta tese apresenta técnicas de conservação de dados, incluindo checkpointing no nível da aplicação e replicação de dados de processo, para garantir confiabilidade, permitindo que uma unidade de backup assuma em caso de falha. Este trabalho também apresenta métodos de detecção de falhas, como detecção de sinal de término e monitoramento de batita de coração com comunicação de baixo custo, para acionar a conservação de dados apenas se houver uma possibilidade de falha; essa abordagem permite baixo overhead. A biblioteca proposta é compatível com a mitigação de falhas no nível do usuário, o que permite capacidades de failover; em outras palavras, os programas podem continuar operando após falhas, minimizando o tempo de inatividade e garantindo operação contínua. Nossa proposta foi aplicada com sucesso ao problema geofísico de inversão de forma de onda completa, um algoritmo padrão para o processamento geofísico de exploração de petróleo e gás. Esta aplicação serve como um cenário prático de alto desempenho para análise, demonstrando a aplicabilidade real da biblioteca. Todos os métodos foram rigorosamente validados, e o overhead neste problema foi analisado usando exemplos mais realistas. Em nossos experimentos, a aplicação não perdeu todos os dados processados até o momento da falha e pôde continuar a execução, mesmo na presença de falha de nó, com overhead mínimo. Este trabalho também apresenta outros estudos de caso na fase inicial de aplicação da biblioteca e discute alguns conceitos de tolerância a falhas e trabalhos relacionados.TCC Abordagem e representação gráfica para visualização de hierarquia entre regiões e desequilíbrio de carga de processamento em programas paralelos(Universidade Federal do Rio Grande do Norte, 2022-07-26) Viana, Luís Henrique Matias; Souza, Samuel Xavier de; Silva, Anderson Bráulio Nóbrega da; http://lattes.cnpq.br/9892239670106361; Fortunato, Alex Fabiano de Araújo; Silva, Vitor Ramos Gomes daAmbientes computacionais de alto desempenho estão em constante evolução, se tornando cada vez mais importantes para a solução de problemas das mais diversas áreas da ciência e engenharia. Para os desenvolvedores saberem se estão usufruindo de todos os recursos que esses ambientes tem a oferecer ao utilizá-los para executar seus programas, é importante que exista uma forma de analisar o desempenho obtido. Assim, as ferramentas de análise de desempenho se tornam essenciais para que desenvolvedores identifiquem gargalos de performance e otimizem seus códigos. Este trabalho de conclusão de curso propõe o refinamento de uma ferramenta de visualização que permite a análise das tendências de escalabilidade paralela de um programa de maneira simples e intuitiva. O aprimoramento foi feito através da adição de diversas funcionalidades importantes. Objetivou-se tornar possível que desenvolvedores da área de computação paralela possam analisar o desempenho de seus programas paralelos mais rapidamente sem se preocupar em organizar os dados de execução manualmente.TCC Abordagem para reduzir tempo de execução de aplicações paralelas para análise de escalabilidade(Universidade Federal do Rio Grande do Norte, 2024-08-16) Maia, Reilta Christine Dantas; Souza, Samuel Xavier de; http://lattes.cnpq.br/9892239670106361; 0009-0002-8156-6753; http://lattes.cnpq.br/0277362585628827; Oliveira, Luiz Affonso Henderson Guedes de; Schwarzrock, JanaínaO aumento de poder computacional e o uso de técnicas de paralelismo são estratégias fundamentais para resolver problemas cada vez mais complexos. No entanto, para utilizar os recursos desses sistemas de maneira eficiente, é fundamental realizar análises de desempenho. Assim, ferramentas de análise de desempenho são essenciais para auxiliar na otimização e na identificação de gargalos. Além disso, a análise de escalabilidade é muito importante nesse contexto, pois permite avaliar como a aplicação se comporta à medida que se aumentam os recursos computacionais ou a carga de trabalho. Dessa forma, avaliar a escalabilidade é útil para prever como a aplicação se comportará em sistemas maiores ou em situações de aumento de carga. Vale destacar que essas análises podem demandar um tempo de execução que pode escalar com a complexidade da aplicação. Nesse contexto, o objetivo deste trabalho é implementar uma abordagem de execuções parciais para estimar o tempo total de execução de aplicações sem a necessidade de executá-las completamente, focando apenas em uma parcela das iterações do laço principal, na ferramenta de análise de escalabilidade Pascal Analyzer. A implementação foi realizada na linguagem de programação C++, utilizando estratégias para manter a consistência dos dados. Os resultados obtidos nos testes mostraram que a função desenvolvida foi eficiente na redução do tempo de execução em diversas configurações e diferentes parcelas de iterações, apresentando erros mínimos na maioria dos casos, embora tenha apresentado erros elevados de precisão em algumas configurações. No geral, para os objetivos deste trabalho, a implementação e os resultados foram satisfatórios.Tese Uma abordagem utilizando aprendizagem por reforço hierárquica e computação paralela para o problema dos K-Servos(2017-06-09) Costa, Mademerson Leandro da; Doria Neto, Adrião Duarte; http://lattes.cnpq.br/1987295209521433; http://lattes.cnpq.br/9385856028870726; Lima Júnior, Francisco Chagas de; http://lattes.cnpq.br/9342041276186254; http://lattes.cnpq.br/2413250851590746; Santos, João Paulo Queiroz dos; http://lattes.cnpq.br/7325007451912598; Melo, Jorge Dantas de; http://lattes.cnpq.br/9892239670106361; Souza, Samuel Xavier deUm sistema de tarefas em espaços métricos é um modelo abstrato para uma classe de problemas de otimização online, incluindo o problema de paginação de memória, listas de acesso, problemas na indústria do petróleo como o gerenciamento de sondas de produção terrestre (workover rigs) e de logística na produção de petróleo offshore, o problema dos K-Servos, dentre outros. A utilização da aprendizagem por reforço na solução destes problemas, embora tenha se mostrado eficiente, está restrita a uma classe simples de problemas, devido à maldição da dimensionalidade inerente ao método. Neste trabalho, apresenta-se uma solução que utiliza a aprendizagem por reforço, baseada em técnicas de decomposição hierárquica e computação paralela para solução de problemas de otimização em espaços métricos, com o objetivo de estender a aplicabilidade do método a problemas complexos na indústria petrolífera, contornando a restrição da sua utilização a problemas teóricos de menor porte. A dimensão da estrutura de armazenamento utilizada pela aprendizagem por reforço para se obter a política ótima cresce em função do número de estados e de ações, sendo diretamente proporcional ao número n de nós e k de servos, fazendo com que o crescimento da complexidade do problema se dê de maneira exponencial (𝐶𝑘𝑛≅𝑂(𝑛𝑘)). Para contorná-lo, o problema foi modelado com um processo de decisão em múltiplas etapas onde inicialmente utilizamos o algoritmo k-means como método de agrupamento visando decompor o problema em subproblemas de menor dimensão. Em seguida foi aplicado o algoritmo Q-learning nos subgrupos buscando-se atingir a melhor política de deslocamento dos servos. Nesta etapa, foram utilizadas técnicas de computação paralela para que os processos de aprendizado e armazenamento nos subgrupos fossem executados de forma paralela. Desta forma, a dimensão do problema e o tempo total de execução do algoritmo foram reduzidos, viabilizando a aplicação do método proposto às grandes instâncias. A abordagem proposta apresentou melhores resultados quando comparada com a aprendizagem por reforço clássica e o método guloso. Além de ter atingido ganhos de speedup e eficiência na avaliação das métricas de desempenho paralelo.Dissertação Algoritmo eficiente para aquisição de sinais de GPS por software(Universidade Federal do Rio Grande do Norte, 2015-01-29) Silva, Fabrício Costa; Souza, Samuel Xavier de; ; http://lattes.cnpq.br/9892239670106361; ; http://lattes.cnpq.br/6849571199516465; Silveira, Luiz Felipe de Queiroz; ; http://lattes.cnpq.br/4139452169580807; Mota, Francisco das Chagas; ; http://lattes.cnpq.br/1640808531484356; Gurjão, Edmar Candeia; ; http://lattes.cnpq.br/9200464668550566O NAVSTAR/GPS (NAVigation System with Timing And Ranging/Global Po- sitioning System), mais conhecido por GPS, _e um sistema de navegacão baseado em sat_elites desenvolvido pelo departamento de defesa norte-americano em meados de 1970. Criado inicialmente para fins militares, o GPS foi adaptado para o uso civil. Para fazer a localização, o receptor precisa fazer a aquisição de sinais dos satélites visíveis. Essa etapa é de extrema importância, pois é responsável pela detecção dos satélites visíveis, calculando suas respectivas frequências e fases iniciais. Esse processo pode demandar bastante tempo de processamento e precisa ser implementado de forma eficiente. Várias técnicas são utilizadas atualmente, mas a maioria delas colocam em conflito questões de projeto tais como, complexidade computacional, tempo de aquisição e recursos computacionais. Objetivando equilibrar essas questões, foi desenvolvido um método que reduz a complexidade do processo de aquisição utilizando algumas estratégias, a saber, redução do efeito doppler, amostras e tamanho do sinal utilizados, além do paralelismo. Essa estratégia é dividida em dois passos, um grosseiro em todo o espaço de busca e um fino apenas na região identificada previamente pela primeira etapa. Devido a busca grosseira, o limiar do algoritmo convencional não era mais aceitável. Nesse sentido, um novo limiar foi estabelecido baseado na variância dos picos de correlação. Inicialmente, é feita uma busca com pouca precisão comparando a variância dos cinco maiores picos de correlação encontrados. Caso a variância ultrapasse um certo limiar, a região de maior pico torna-se candidata à detecção. Por fim, essa região passa por um refinamento para se ter a certeza de detecção. Os resultados mostram que houve uma redução significativa na complexidade e no tempo de execução, sem que tenha sido necessário utilizar algoritmos muito complexos.Dissertação Um algoritmo paralelo eficiente de migração reversa no tempo (rtm) 3d com granularidade fina(Universidade Federal do Rio Grande do Norte, 2015-01-30) Assis, Ítalo Augusto Souza de; Souza, Samuel Xavier de; ; http://lattes.cnpq.br/9892239670106361; ; http://lattes.cnpq.br/1790664811439928; Aloise, Daniel; ; http://lattes.cnpq.br/5093210888872414; Maciel, Rosângela Correa; ; http://lattes.cnpq.br/3815748377917013; Pestana, Reynam da Cruz; ; http://lattes.cnpq.br/7927685281122435O algoritmo de migração reversa no tempo (RTM) tem sido amplamente utilizado na indústria sísmica para gerar imagens do subsolo e, assim, reduzir os riscos de exploração de petróleo e gás. Seu uso em larga escala é devido a sua alta qualidade no imageamento do subsolo. O RTM é também conhecido pelo seu alto custo computacional. Por essa razão, técnicas de computação paralela têm sido utilizadas em suas implementações. Em geral, as abordagens paralelas para o RTM utilizam uma granularidade grossa, dividindo o processamento de um subconjunto de tiros sísmicos entre nós de sistemas distribuí- dos. A abordagem paralela com granularidade grossa para o RTM tem se mostrado bastante eficiente uma vez que o processamento de cada tiro sísmico pode ser realizado de forma independente. Todavia, os nós dos sistemas distribuídos atuais são, em geral, equipamentos com diversos elementos de processamento sob uma arquitetura com memória compartilhada. Assim, o desempenho do algoritmo de RTM pode ser consideravelmente melhorado com a utilização de uma abordagem paralela com granularidade fina para o processamento designado a cada nó. Por essa razão, este trabalho apresenta um algoritmo paralelo eficiente de migração reversa no tempo em 3D com granularidade fina utilizando o padrão OpenMP como modelo de programação. O algoritmo de propagação da onda acústica 3D compõe grande parte do RTM. Foram analisados diferentes balanceamentos de carga a fim de minimizar possíveis perdas de desempenho paralelo nesta fase. Os resultados encontrados serviram como base para a implementação das outras fases do RTM: a retropropagação e a condição de imagem. O algoritmo proposto foi testado com dados sintéticos representando algumas das possíveis estruturas do subsolo. Métricas como speedup e eficiência foram utilizadas para analisar seu desempenho paralelo. As seções migradas mostram que o algoritmo obteve um desempenho satisfatório na identificação das estruturas da subsuperfície. Já as análises de desempenho paralelo explicitam a escalabilidade dos algoritmos alcançando um speedup de 22,46 para a propagação da onda e 16,95 para o RTM, ambos com 24 threads.Dissertação Análise de desempenho da rede neural artificial do tipo multilayer perceptron na era multicore(Universidade Federal do Rio Grande do Norte, 2012-08-07) Souza, Francisco Ary Alves de; Souza, Samuel Xavier de; ; http://lattes.cnpq.br/9892239670106361; ; http://lattes.cnpq.br/5639935429698099; Martins, Allan de Medeiros; ; http://lattes.cnpq.br/4402694969508077; Lopes, Danniel Cavalvante;As redes neurais artificiais geralmente são aplicadas à solução de problemas comple- xos. Em problemas com maior complexidade, ao aumentar o número de camadas e de neurônios, é possível conseguir uma maior eficiência funcional, porém, isto acarreta em um maior esforço computacional. O tempo de resposta é um fator importante na decisão de usá-las em determinados sistemas. Muitos defendem que o maior custo computacional está na fase de treinamento. Porém, esta fase é realizada apenas uma única vez. Já trei- nada, é necessário usar os recursos computacionais existentes de forma eficiente. Diante da era multicore esse problema se resume à utilização eficiente de todos os núcleos de processamento disponíveis. No entanto, é necessário considerar a sobrecarga existente na computação paralela. Neste sentido, este trabalho propõe uma estrutura modular que é mais adequada para as implementações paralelas. Propõe-se paralelizar o processo feed- forward (passo para frente) de uma RNA do tipo MLP, implementada com o OpenMP em uma arquitetura computacional de memória compartilhada. A investigação dar-se-á com a realização de testes e análises dos tempos de execução. A aceleração, a eficiência e a es- calabilidade são analisados. Na proposta apresentada é possível perceber que, ao diminuir o número de conexões entre os neurônios remotos, o tempo de resposta da rede diminui e por consequência diminui também o tempo total de execução. O tempo necessário para comunicação e sincronismo está diretamente ligado ao número de neurônios remotos da rede, sendo então, necessário observar sua melhor distribuiçãoTCC 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 Análise e comparação dos tipos escalonadores do OpenMP para propagação de onda(Universidade Federal do Rio Grande do Norte, 2021-09-15) Cunha Neto, Lourival Alexandre da; Souza, Samuel Xavier de; Rodrigues, Vitor Hugo Mickus; http://lattes.cnpq.br/8277877627875924; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/9430651520026942; Assis, Ítalo A. Souza deO fenômeno de propagação de onda é importante para diversas aplicações físicas, como por exemplo: dinâmica de fluidos, elasticidade, propagação de calor, eletrostática, análise sísmica, entre outros. Um exemplo de uso em análise sísmica é no imageamento de uma região de interesse, com intuito de descobrir possíveis recursos de uma subsuperfície. Esta técnica envolve fazer uma simulação computacional de como uma onda é propagada no interior de uma área. Existem diferentes algoritmos que fazem esta simulação, dentre eles foi utilizado o Algoritmo da Esfera. Este algoritmo está em desenvolvimento no Laboratório de Arquiteturas Paralelas para Processamento de Sinais (LAPPS) da Universidade Federal do Rio Grande do Norte (UFRN). Para aprimorar e otimizar este método de análise sísmica, que faz uso do método de diferenças finitas e da paralelização em C++ utilizando a biblioteca OpenMP, foram feitos testes com diferentes tipos de escalonadores (static, dynamic, guided e auto) e tamanho de blocos de tarefas (chunksize). A pesquisa confirmou que o OpenMP atribui o escalonador static como default do sistema e demonstrou que auto, para este código, apresentou valores de tempo de execução aproximadamente iguais aos valores do tipo static. Onde o escalonador static com o chunksize default, que é o número de iterações dividido pelo número de threads, apresentou resultados de tempos de execução entre 95.56% à 194.47% mais rápidos que os outros.Tese Analytical speedup modeling for parallel applications with variable memoryaccess delay in symmetric architectures(Universidade Federal do Rio Grande do Norte, 2021-02-09) Furtunato, Alex Fabiano de Araújo; Souza, Samuel Xavier de; Silveira, Luiz Felipe de Queiroz; ; http://lattes.cnpq.br/4139452169580807; ; http://lattes.cnpq.br/9892239670106361; ; http://lattes.cnpq.br/9659861253244985; Silva, Ivanovitch Medeiros Dantas da; ; http://lattes.cnpq.br/3608440944832201; Lorenzon, Arthur Francisco; ; http://lattes.cnpq.br/2890260984567329; Borin, Edson; ; http://lattes.cnpq.br/4176915322233893Vários modelos analíticos criados desde o trabalho pioneiro de Amdahl exploraram aspectos tais como variação no tamanho do problema, tamanho da memória, sobrecarga de comunicação e sobrecarga de sincronização. Contudo, atrasos no acesso à memória são considerados constantes. Esses atrasos podem variar, por exemplo, de acordo com o número de núcleos usados, a relação entre as frequências do processador e da memória e o tamanho do problema. Dado os diferentes tamanhos de problemas e o grande número de configurações possíveis de frequência operacional e número de núcleos que as arquiteturas atuais podem oferecer, modelos de speedup adequados para descrever tais variações entre essas configurações são bastante desejáveis para decisões de escalonamento offline ou online. Esta tese apresenta um novo modelo analítico de speedup que considera variações no atraso médio de acesso à memória para descrever o efeito limitador da barreira de memória em aplicações paralelas em arquiteturas homogêneas de memória compartilhada. Os resultados experimentais indicam que a modelagem proposta captura bem o comportamento da aplicação. A proposta apresentada nesse trabalho mostra que incorporar parâmetros que refletem as características intrínsecas das aplicações tem vantagens sobre modelos estatísticos como os baseados em aprendizagem de máquina. Os experimentos também mostram que a modelagem de aprendizagem de máquina convencional pode precisar de uma ordem de magnitude a mais de medições para atingir o mesmo nível de acurácia em comparação com o modelo proposto.Dissertação Application speedup characterization: modeling parallelization overhead and variations of problem size and number of cores(2019-09-13) Oliveira, Victor Hugo Freitas de; Souza, Samuel Xavier de; ; ; Bianchini, Calebe de Paula; ; Barros, Carlos Avelino de; ; Borin, Edson;Para utilizar os processadores com múltiplos núcleos de forma eficiente, é importante entender como o desempenho dos aplicativos paralelos se comportam. A modelagem desse comportamento pode permitir o uso de técnicas aplicadas em tempo de execução para otimizar o desempenho, a energia dispendida ou até mesmo garantir uma qualidade de serviço (QoS) desejada. Modelos precisos evitariam ter que testar diferentes configurações em tempo de execução, o que poderia causar um aumento desnecessário na sobrecarga causada pela paralelização. Ao longo dos anos, muitos modelos de speedup foram propostos. A maioria deles é baseada na Lei de Amdahl ou na Lei de Gustafson. No entanto, muitos deles consideram que a fração paralela é fixa ou que varia linearmente com o tamanho do problema, além de desconsiderarem os efeitos da sobrecarga causada pela paralelização. Embora tais modelos auxiliem no entendimento teórico da computação paralela, essas considerações não se sustentam na maiores dos ambientes reais, o que torna a modelagem inadequada para a caracterização precisa de aplicações paralelas. O modelo proposto nesta dissertação estima o ganho de desempenho levando em consideração a sobrecarga causada pela paralelização e a variação da fração paralela de acordo com o tamanho do problema e o número de núcleos utilizados. Usando dez aplicações do PARSEC, o modelo proposto foi capaz de estimar o speedup de forma mais precisa do que outros modelos da literatura recente. Os testes foram realizados em dois servidores, cada um com uma arquitetura diferente.Tese Aprendizagem por reforço profundo uma nova perspectiva sobre o problema dos k-servos(Universidade Federal do Rio Grande do Norte, 2020-01-28) Lins, Ramon Augusto Sousa; Dória Neto, Adrião Duarte; ; ; Lima Júnior, Francisco Chagas de; ; Barreto, Guilherme de Alencar; ; Melo, Jorge Dantas de; ; Fernandes, Marcelo Augusto Costa; ; Souza, Samuel Xavier de;O problema dos k-servos em um grafo ponderado (ou espaço métrico) é definido pela necessidade de mover eficientemente k servos para atender uma sequência de requisições que surgem de maneira online em cada nó do grafo. Este é talvez o problema mais influente de computação online cuja solução continua em aberto servindo de abstração para diversas aplicações, como a compra e venda de moedas, reatribuição de processos em processamento paralelo para balanceamento de carga, serviços de transporte online, gerenciamento de sondas de produção de petróleo, dentre outros. Sua simplicidade conceitual contrasta com sua complexidade computacional que cresce exponencialmente com o aumento do número de nós e servos. Anteriormente a este trabalho, o algoritmo Q-learning foi utilizado na solução de pequenas instâncias do problema dos k-servos. A solução ficou restrita à pequenas dimensões do problema pois sua estrutura de armazenamento cresce exponencialmente com o aumento do número de nós e servos. Este problema, conhecido como maldição de dimensionalidade, torna ineficiente ou até impossibilita a execução do algoritmo para certas instâncias do problema. Para lidar com maiores dimensões, o Qlearning em conjunto com o algoritmo guloso foi aplicado a um número reduzido de nós separados por um processo de agrupamento (abordagem hierárquica). A política local obtida em cada agrupamento, em conjunto com a política gulosa, foi utilizada na formação de uma política global, abordando de maneira satisfatória grandes instâncias do problema. Os resultados foram comparados a importantes algoritmos da literatura, o Work function, o Harmonic e o guloso. As soluções até então propostas dão ênfase ao aumento do número de nós, porém se analisarmos o crescimento da estrutura de armazenamento definida por Cn,k ' O(nk), é possível perceber que o aumento do número de servos pode torná-la rapidamente limitada pelo problema da maldição da dimensionalidade. Para contornar esta barreira, o problema dos k-servos foi modelado como um problema de aprendizagem por reforço profundo cuja a função de valor estado-ação foi definida por uma rede neural perceptron de múltiplas camadas capaz de extrair as informações do ambiente a partir de imagens que codificam a dinâmica do problema. A aplicabilidade do algoritmo proposto foi ilustrada em um estudo de caso no qual diferentes configurações do problema foram consideradas. O comportamento dos agentes foi analisado durante a fase de treinamento e sua performance foi avaliada a partir de testes de desempenho que quantificaram a qualidade das políticas de deslocamento dos servos geradas. Os resultados obtidos fornecem uma visão promissora de sua utilização como solução alternativa ao problema dos k-servos.Dissertação Aquisição de frequência em sinais de satélites de baixa órbita por meio do critério da máxima correntropia(2018-02-16) Cavalcante, Hugo Rafael Gonçalves; Silveira, Luiz Felipe de Queiroz; ; ; Souza, Samuel Xavier de; ; Fontes, Aluisio Igor Rego; ; Duarte, José Marcelo Lima;Satélites de baixa órbita (LEO) se deslocam a altíssimas velocidades e são capazes de circunscrever o planeta por diversas vezes em um mesmo dia. Esse ambiente muito dinâmico induz valores consideráveis de deslocamento Doppler e aceleração Doppler nos sinais de comunicações espaciais, o que é conhecido como deslocamento Doppler dinâmico. Estabelecer comunicação com esses sistemas é um processo de múltiplas tarefas e, devido ao deslocamento Doppler dinâmico, uma das mais críticas é a aquisição fina da frequência da portadora. Diversos trabalhos já investigaram técnicas de estimação de frequência de sinais de satélite considerando ambientes de comunicação caracterizados pelo ruído aditivo Gaussiano branco (AWGN). Entretanto, os efeitos do ruído impulsivo também devem ser considerados em uma caracterização mais fiel do cenário de comunicação dos satélite LEO. Este trabalho introduz um novo método de aquisição de frequência para satélites de baixa órbita baseado no cálculo de similaridade obtido com o critério de máxima correntropia. A correntropia se mostra muito eficiente no processamento de sinais com ruído não-gaussiano, especialmente em ambientes de ruído impulsivo. Foi investigada a robustez da técnica proposta neste trabalho em um ambiente de comunicação caracterizado pelo ruído impulsivo, e seu desempenho foi comparado com o obtido por abordagens clássicas, baseadas no critério de erro médio quadrado. O método de aquisição fina da frequência da portadora de satélites LEO proposto neste trabalho pode ser usado no desenvolvimento de um decodificador completo para sinais do Sistema Brasileiro de Coleta de Dados Ambientais (SBCD ou SBCDA) e o sistema Franco-Americano de coleta de dados ambientais (ARGOS).Tese Arquitetura de um cluster computacional de baixo consumo e com proporcionalidade energética(2017-12-01) Alves Filho, Sebastião Emídio; Burlamaqui, Aquiles Medeiros Filgueira; ; ; Gonçalves, Luiz Marcos Garcia; ; Aroca, Rafael Vidal; ; Lima, Rommel Wladimir de; ; Souza, Samuel Xavier de;Um dos principais desafios da Computação Verde é obter uma melhor relação entre a quantidade de trabalho realizada pela infraestrutura computacional e o gasto energético para mantê-la, isto é, uma melhor eficiência energética. Este trabalho apresenta a arquitetura de um cluster computacional de baixo consumo energético que é capaz de ligar ou desligar, de forma dinâmica e automática, um determinado número de máquinas. A quantidade de máquinas ligadas é proporcional à demanda de trabalho a cada momento, o que evita ligar equipamentos desnecessariamente e aumenta a eficiência do sistema. Para o seu desenvolvimento propõe-se e discute-se um modelo teórico que é implementado através de um cluster composto por dispositivos Raspberry Pi chamado NPi-Cluster. Para atestar a eficiência do modelo proposto são mostrados resultados experimentais nos quais o cluster é usado como um servidor web com balanceamento de carga. Os dados obtidos mostram que o NPi-Cluster tem um desempenho adequado quando comparado a outros servidores que rodam em arquiteturas tradicionais, mas com um consumo energético menor. Um cluster com 7 máquinas usando sua capacidade máxima atende a mais de 450 requisições simultâneas numa taxa de cerca de 1000 transações por segundo. Para fazê-lo o cluster consome cerca de 15 Watts, o equivalente a uma lâmpada econômica ou um computador em modo suspenso que não realiza qualquer atividade. Quando a demanda é baixa o consumo de energia com as máquinas é reduzido dinamicamente, chegando a menos de 2Watts. Além de ser capaz de lidar com cargas de trabalhos com boa qualidade de serviço, o cluster também provê alta disponibilidade evitando pontos únicos de falha.TCC Atualização do processador e módulo de tolerância à falhas no projeto CEVERO(Universidade Federal do Rio Grande do Norte, 2022-07-22) Dantas, Heitor Carlos de Medeiros; Souza, Samuel Xavier de; Nascimento, Diego Vinicius Cirilo do; Farias, Johannes Warwick da Costa; Barros, Tiago Tavares LeitePara aplicações críticas como as aeroespaciais, sistemas têm que apresentar grande robustez para enfrentar o ambiente hostil do espaço. Portanto, se faz necessário implementar estratégias de tolerância a falhas para garantir o seu funcionamento. Pra suprir essa demanda o projeto CEVERO da UFRN propôs em 2019 um processador tolerante à falhas usando redundância de hardware. Entretanto, devido a perda de suporte nas tecnologias base, o CEVERO core ficou defasado e sem espaço para continuar o seu desenvolvimento. Sendo assim, este trabalho apresentará uma nova implementação para o CEVERO core, trocando o processador base conhecido como Zero-riscy por sua continuação, IBEX: um processador RISC-V mantido e desenvolvido pela lowRISC. Com essa atualização surgem novas possibilidades para evolução do CEVERO, tal como cooperação com outros projetos.TCC Avaliação de custo de construção de software com uso de distintos BaaS(Universidade Federal do Rio Grande do Norte, 2022-02-11) Silva, Victor Emanuel Ribeiro; Souza, Samuel Xavier de; Costa, Júlio Gustavo Soares Firmo da; http://lattes.cnpq.br/4398782291220533; 0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/6988518208724723; Falcão, Eduardo de Lucena; 0000-0003-3307-8798; http://lattes.cnpq.br/8335184809043358; Silva, Anderson Bráulio Nóbrega da; http://lattes.cnpq.br/5845450440379554O presente trabalho tem como objetivo fazer a comparação de esforços de construção de uma aplicação móvel mantendo constante seu frontend e alternando o seu backend. Foram desenvolvidas duas versões do mesmo aplicativo móvel, que compartilham das mesmas telas e funções. Elas distinguem-se apenas no serviço usado como backend, ou seja, na camada responsável pela comunicação externa, conhecida como Repository. Os dois serviços em questão são o Ycodify e o Hasura. A fim de obter uma comparação objetiva, foram pesquisadas em artigos métricas de complexidade e manutenibilidade de software. O critério para escolha das métricas foi fundamentada parte em sua alta aceitação e recorrência na literatura, e parte na disponibilidade de ferramentas capazes de coletá-las. Ao final, encontrou-se que o esforço de desenvolvimento do código do frontend assemelha-se de várias formas a partir do uso das métricas que aqui serão abordadas.Tese Boosting memory access locality of the spectral element method with Hilbert Space-Filling Curves(Universidade Federal do Rio Grande do Norte, 2021-10-07) Araújo, Roger Rommel Ferreira de; Souza, Samuel Xavier de; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/2469398155033763; Araújo, João Medeiros de; Okuda, Hiroshi; Catabriga, Lucia; http://lattes.cnpq.br/4364303980383808; Gross, LutzA equação da onda tem uso frequente na física matemática e na engenharia, e temos de resolvê-la repetidamente para simular propagações de onda via software. O método dos elementos espectrais, uma das várias abordagens utilizadas na solução numérica da equação da onda, discretiza o domínio subjacente através de uma malha feita de elementos e nós, e percorre todos os elementos e todos os nós a cada intervalo de tempo para avançar a equação de interesse ao longo do tempo. Propomos um algoritmo de reordenação de memória, projetado para ser usado com o método dos elementos espectrais, que reorganiza informações da malha para reduzir o número de falhas de cache e incrementar a localidade de referência de dados, o que melhora o tempo de execução ao percorrer a malha. Elaboramos uma formulação do método dos elementos espectrais para ondas 2D sobre malhas não estruturadas compostas de triângulos, e associamos a ela nosso algoritmo de reordenação de memória para construir um simulador de propagação de ondas acústicas. Nossos experimentos mostram que a técnica de reordenação baseada em curvas de preenchimento de Hilbert tem bom desempenho em malhas de diversas granularidades, e também quando a variação no tamanho dos elementos é pequena ou grande. Além disso, comparamos a abordagem proposta a três outros procedimentos de reordenação de memória, e verificamos que o tempo de execução de nosso algoritmo é de 9% a 25% mais rápido do que as alternativas testadas. Recomendamos a adoção deste algoritmo de reordenação de memória em qualquer aplicação que demande percorrer domínios repetidamente.Dissertação CEVERO: an open hardware processor for aerospace missions(Universidade Federal do Rio Grande do Norte, 2021-12-03) Silva, Igor Macedo; Souza, Samuel Xavier de; https://orcid.org/0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; http://lattes.cnpq.br/0469289872013007; Kastensmindt, Fernanda Gusmão de Lima; Gürkaynak, Frank Kagan; Barros, Tiago Tavares Leite; http://lattes.cnpq.br/1321568048490353O ambiente aeroespacial pode ser bastante agressivo com circuitos digitais. O efeito de radiação espacial em circuitos pode resultar em falhas e, como consequência, pode por em risco a segurança e execução das missões aeroespaciais, tripuladas ou não. Portanto, foi forçoso o desenvolvimento de circuitos digital que podem resistir à ação de partículas radioativas e, atualmente, existem diversas tecnologias de processadores que conseguem de fato trabalhar de forma segura sob essas condições. Contudo, essas tecnologias geralmente envolvem a utilização de processos confidenciais de fabricação de transistores ou a utilização de bibliotecas de células proprietárias, que inibem a utilização e desenvolvimento por outros pesquisadores. Todavia existe outro conjunto de métodos em maior grau de abstração que pode operar de forma confiável em condições espaciais definidas. Este trabalho pretende usar esses métodos de maior abstração em nível de arquitetura, como o TMR, ECC e Scrubbing, para desenvolver o CEVERO, um processador de propósito geral baseado na plataforma existente PULP e que usa modificações arquiteturais como redundância e outros métodos de detecção e correção de falhas, para ser enviado em missões aeroespaciais.TCC Comparação de desempenho das implementações do algoritmo Deep Q-Network em Rust e Python no ambiente Cart Pole(Universidade Federal do Rio Grande do Norte, 2024-08-16) Coelho, João Vítor Venceslau; Madeira, Charles Andryê Galvão; Souza, Samuel Xavier de; https://orcid.org/0000-0001-8747-4580; http://lattes.cnpq.br/9892239670106361; https://orcid.org/0000-0002-4460-2877; http://lattes.cnpq.br/2381782879955327; https://orcid.org/0000-0003-1844-3435; http://lattes.cnpq.br/7132952687145871; Maia, Ranniery da Silva Maia; http://lattes.cnpq.br/7607725638613830; Araujo, Daniel Sabino Amorim de; https://orcid.org/0000-0001-5572-0505; http://lattes.cnpq.br/4744754780165354O aprendizado por reforço profundo ganhou destaque devido ao seu sucesso na resolução de problemas complexos, mas seus altos tempos de execução aumentam os custos, muitas vezes necessitando de hardware poderoso e caro. Este estudo visa reduzir esses custos aumentando a eficiência de algoritmos de aprendizagem por reforço profundo utilizando a linguagem Rust, conhecida por sua geração eficiente de código e gerenciamento seguro de memória sem coletor de lixo. Comparamos uma implementação Rust do algoritmo Deep Q-Network (DQN) com a implementação Python da biblioteca Stable Baselines3 no ambiente Cart Pole. Os resultados mostram que a implementação do Rust é mais rápida, mesmo com bindings para Python, alcançando uma menor proporção de tempo por passo.
- «
- 1 (current)
- 2
- 3
- »