Repositório RCAAP

A guarda compartilhada e a lei nº 13.058 de 2014 sob a ótica dos princípios constitucionais

A presente monografia analisa a guarda compartilhada no ordenamento jurídico brasileiro e as modificações introduzidas pela Lei nº 13.058/2014 por meio de uma leitura civil-constitucional dos mecanismos jurídicos de proteção dos filhos. Faz-se a pesquisa bibliográfica das fontes primárias, tais como doutrina e legislação sobre o assunto. Além disso, também se busca jurisprudências sobre o tema e publicações pertinentes. Inicia-se com o estudo do fenômeno da constitucionalização das disposições atinentes ao Direito de Família, para explicar o papel dos princípios constitucionais no tocante à tutela das relações entre pais e filhos, fundadas nos laços de afeto. A partir da Constituição Federal de 1988, consagra-se o princípio da dignidade da pessoa humana como macroprincípio orientador de todo o sistema jurídico, que serve como corolário ao princípio da igualdade entre o homem e a mulher e entre os filhos. Ademais, com base na Doutrina da Proteção Integral, as crianças e os adolescentes passam ser reconhecidos como sujeitos de direitos que gozam de prioridade absoluta, devendo sempre ser preservado o seu melhor interesse. Com as mudanças sociais impulsionadas pela entrada da mulher no mercado de trabalho, não persistem as diferenciações dos papéis parentais da mãe e do pai no âmbito familiar, ambos igualmente subordinados ao princípio da paternidade e maternidade responsáveis. Tanto é assim que a autoridade parental deve ser exercida igualmente entre os genitores, sendo instituto que verdadeiramente representa a gama de direitos e deveres do pai e da mãe no tocante à parentalidade. Ocorre que a guarda dos filhos, ao longo da história, foi prioritariamente materna, de modo que os pais nem sempre puderam estar efetivamente presentes na vida do filho. O principal objetivo da guarda compartilhada é dar maior realce à autoridade parental, por incentivar o exercício conjunto das responsabilidades. Esta é a modalidade ideal a ser buscada nas rupturas familiares por facilitar a manutenção de laços afetivos, porém teve sua aplicação restrita aos casos de ausência de litígio entre os genitores. Esse paradigma é afastado com a vigência da Lei nº 13.058 de 2014, que determina, dentre outros aspectos, a imperatividade da guarda compartilhada, a divisão equilibrada do convívio da criança com ambos os pais, bem como permite a prestação de contas com relação a questões que envolvam o filho. Por certo que o novo diploma legal apresenta um caráter educativo aos genitores, mas questiona-se, neste estudo, se as mudanças introduzidas encontram respaldo nos princípios constitucionais que orientam o tema, em especial o princípio do melhor interesse da criança e adolescente.

Ano

2022-12-06T16:18:06Z

Creators

Kasper, Bruna Weber

O uso de instrumentos econômicos na indução de boas práticas ambientais

Os problemas ecológicos são alvo de discussão e preocupação no mundo. A preservação dos recursos naturais e dos serviços ecossistêmicos é essencial, pois a vida humana depende deles para existir. Água, alimentos, regulação térmica, controle de chuvas e de pragas, bem estar espiritual são alguns bens que os serviços ecossistêmicos podem proporcionar. Para garantir a manutenção de um meio ambiente sadio e equilibrado o governo conta com mecanismos de comando e controle e instrumentos econômicos, os primeiros fiscalizam e punem ações danosas ao ambiente, seguindo o princípio do poluidor pagador; os segundos remuneram quem preserva ou recupera o meio ambiente, seguindo o princípio do protetor recebedor (PPR). Uma das principais aplicações do PPR são os pagamentos por serviços ambientais (PSA). Diversos estados brasileiros contam com programas e leis de PSA. Não há lei federal de PSA, apenas um projeto de lei que tramita desde 2007. Os mercados de PSA podem ser públicos ou privados, influenciados por lei ou voluntários. O Rio Grande do Sul não possui grandes exemplos de PSA, devido a esse fator, optou-se por realizar uma pesquisa exploratória com os moradores desse estado. A pesquisa apresenta um questionário estruturado com 24 perguntas, visa conhecer o comportamento ambiental dos moradores desse estado. A pesquisa dói disponibilizada online por email e Facebook®. As respostas mostraram que os participantes são na maioria, jovens de até 29 anos com graduação em andamento ou já concluída. Possuem baixo conhecimento sobre a fauna e a flora da sua região bem como em legislação ambiental e pagamentos por serviços ambientais. Apesar disso, consideram fundamental a preservação da biodiversidade e dos serviços ecossistêmicos. Possuem uma opinião e um comportamento bastante ecológico e uma visão mais voltada ao ecocentrismo. Separam seu lixo, não jogam o mesmo no chão, não cortariam árvores para não prejudicar o meio ambiente. Aceitariam manter seu lote de terra preservado em troca de benefícios econômicos; são mais motivadas com recompensas do que com punições. Acreditam que ter uma área preservada é um bônus e são pessimistas quanto ao futuro da natureza. As perspectivas desse trabalho são realizar análises estatísticas e publicar em uma revista de impacto.

Ano

2022-12-06T16:18:06Z

Creators

Bandeira, Clarissa Bertoldo

Towards synchronizing relations between artifacts in the Java technological space

O uso de modelos em processos de engenharia de software tem crescido nos últimos anos. Ao passo que o uso cresce, cresce também a relevância de alguns problemas relacionados à área. Um deles é o problema de sincronização de modelos, que consiste basicamente em manter todos os modelos de uma aplicação de software consistentes entre si. Em outras palavras, os modelos de um software tendem a ser mudados ao longo do seu tempo de vida, e quando isto acontece, estas mudanças têm que ser devidamente despachadas a todos os modelos. Para aplicações de software de grande porte é inviável realizar tal procedimento de sincronização manualmente, portanto, é desejada a criação de métodos automáticos capazes de sincronizar os modelos do software. Não exploramos este problema para qualquer tipo de software, ao invés disso limitamos nosso domínio ao espaço tecnológico Java, de maneira que o escopo deste trabalho permaneça factível. Procede-se, aqui, portanto (1) identificando e definindo formalmente alguns modelos do espaço tecnológico Java, (2) identificando e formalizando algumas relações entre eles, criando uma rede de metamodelos a ser mantida sincronizada, e mostrando como essas relações trabalham através de um caso representativo, e por fim (3) discutindo a sincronização desta rede de metamodelos. Os resultados incluem a implementação dessas relações e o relatório sobre a experiência do desenvolvimento deste trabalho.

Ano

2022-12-06T16:18:06Z

Creators

Silva, William Bombardelli da

Precisamos falar sobre as leading questions, não precisamos?

O presente trabalho tem por objeto as leading questions no direito estadunidense e a proibição, estabelecida pelo artigo 459 do Código de Processo Civil brasileiro de 2015, de formular perguntas que puderem induzir a resposta. O estudo consiste na análise do tratamento dado pela doutrina e pela jurisprudência norte-americanas às leading questions e na comparação entre esse tipo de questionamento e as perguntas indutivas do direito brasileiro, tencionando, sobretudo, compreender a proibição prevista no artigo 459 do Código de Processo Civil por meio da determinação de quais seriam as perguntas que podem induzir a resposta e de que modo induzem o respondente, com base não apenas na experiência norte-americana com as leading questions mas também nos estudos da semiótica e da psicologia comportamental. A monografia ainda se propõe a estabelecer determinados parâmetros segundo os quais os operadores do Direito possam observar a proibição de formular perguntas indutivas, contribuindo para diminuir, em alguma medida, o grau de discrição judicial que a proposição normativa do artigo 459 impõe quando de sua aplicação.

Ano

2022-12-06T16:18:06Z

Creators

Pinter, Rafael Wobeto

Predição da flexibilidade de aminoácidos utilizando neuroevolução de topologias crescentes

Este trabalho aborda o desafio da predição da estrutura tridimensional de uma dada sequência de aminoácidos, o que foi relatado pertencer à classe dos problemas NP-Completos. É apresentado um novo método baseado na evolução de redes neurais artificiais através de NeuroEvolução de Topologias Crescentes e em agrupamento hierárquico para extração de características estruturais de proteínas determinadas experimentalmente e definir a flexibilidade conformacional de uma sequência de aminoácidos alvo. A técnica proposta manipula informação estrutural do Protein Data Bank para gerar intervalos de ângulos de torção com probabilidades associadas para cada aminoácido em uma sequência alvo, representando a sua flexibilidade conformacional. Essa informação pode ser usada para predizer a estrutura tridimensional de sequências proteicas desconhecidas e ajudar na redução do espaço de busca conformacional de moléculas de proteína em métodos de predição da estrutura de proteínas baseados em conhecimento. O método proposto foi testado com uma variedade de proteínas e os resultados indicam que ele de fato é uma opção funcional de representar a flexibilidade de aminoácidos.

Ano

2022-12-06T16:18:06Z

Creators

Grisci, Bruno Iochins

Ferrmenta de auxílio à análise de anomalias em códigos orientados a objeto

Com o crescimento significativo da adoção de softwares para a realização das mais comuns tarefas diárias, é cada vez mais evidente a importância do investimento em técnicas e ferramentas que influem na qualidade dos mesmos, a fim de evitar riscos. Muitas vezes o impacto de uma falha pode causar grandes prejuízos, principalmente quando se trata de um sistema crítico. No intuito de influir na qualidade do software, são criados testes que exploram estruturas e funcionalidades do código. No contexto empresarial, códigos são dinâmicos e são integrados continuamente, sendo inviável a aplicação de testes estruturais contínuos sem a automatização de alguns passos da criação dos mesmos. A proposta deste trabalho consiste no desenvolvimento de uma ferramenta que implementa critérios de análise estática de código baseando-se nos relacionamentos interclasse existentes, visando à exploração de características comuns à programação orientada a objetos, com o intuito de aprimorar a qualidade dos casos de teste gerados.

Ano

2022-12-06T16:18:06Z

Creators

Ceconello, Jayne Guerra

Considerações sobre a eficiência, segundo a visão da economia, e sua repercussão jurídica

Nos organismos sociais indivíduos desenvolvem atividades que são avaliadas pela economia e regradas por normas jurídicas. O estudo de ambas, no entanto, costuma ser feito de modo apartado. Propugna-se que o uso de ferramentas econômicas na aplicação do direito não conduz à submissão deste por aquelas, mas propicia a edição de normas jurídicas e decisões judiciais vocacionadas à maior eficiência. Inclusive descortinando horizontes para que o jurista obtenha conhecimentos de outras áreas, que não jurídica, para ter a dimensão da repercussão econômica das decisões judiciais.

Ano

2022-12-06T16:18:06Z

Creators

Corso, Édison Luís

Improving black-box speech-to-text systems via machine learning techniques

There are several ways a user can interact with a computer. Not every way is equally appropriate for all situations: when typing, a keyboard is more appropriate; a mouse, on the other hand, is a better fit in case the user needs to control the cursor with precision. In some complex systems, the user might need to execute several different tasks, and, therefore, might need different ways to interact with the system. In order to simplify those interactions, the use of voice commands might be a good strategy, since they often allow the user to specify the task to be executed with a richer input vocabulary than that available via other, more standard input devices. However, the development of robust speech-to-text converters (SST converters) requires a lot of time and resources which development teams often do not have. There are widely-used SST converters available on the internet, such as theWeb Speech API from Google; these systems are in a very advanced stage of maturity considering general context applications—for instance, when they are used to analyze terms and words that occur in day-to-day conversations. However, these systems are often not efficient when used to analyze contextspecific terms, which occur only in particular systems or applications. Furthermore, these systems are usually black-box and cannot be modified or improved by developers who wish to use them to solve particular specialized speech-to-text problems. To analyze possible solutions to this problem, we study the development of an additional layer of software, trained via machine learning techniques, to correct or adapt the imperfect translations generated by a black-box STT when applied to a specific domain. In particular, we propose and evaluate several machine learning solutions to improve a complex flight tickets management system to which we wish to add voice-control capabilities. In the first part of this work, we discuss our motivation and describe the domain where the proposed methods evaluated. After that, mathematical theoretical background is presented and we introduce possible solutions to the particular domain at hand. At the end, a critical analysis of the results is made and future work is discussed.

Ano

2022-12-06T16:18:06Z

Creators

Schwade, Guilherme Vieira

Geração automática de mapas esquemáticos para o transporte público da cidade de Porto Alegre

Em Porto Alegre ainda não existem mapas que mostram em uma disposição esquemática as informações sobre os trajetos do transporte público. Tais mapas são comuns em várias cidades europeias, asiáticas e norte-americanas. A disponibilidade de mapas esquemáticos é importante para cidades grandes, pois nesse tipo de mapa são exibidas apenas as informações mais relevantes sobre o sistema de transporte público urbano, tornando mais fácil a visualização dos trajetos das linhas de ônibus da cidade. Mapas esquemáticos podem ser impressos e fixados em paradas de ônibus, dentro dos ônibus, e em diversos locais pela cidade, tornando assim mais democrático o acesso a essas informações. Hoje ainda não existe uma ferramenta que permita a geração automática desse tipo de mapa para Porto Alegre. Este trabalho apresenta portanto a implementação de um sistema para geração automática de mapas de transporte público para a cidade de Porto Alegre. Através do sistema implementado é possível gerar dois tipos de mapas esquemáticos: Mapa da Linha e da Parada. O Mapa da Linha exibe todas as paradas do trajeto de ida e volta de uma linha de ônibus, exibindo os endereços de todas as paradas, e também os trechos onde a ida é diferente da volta. O Mapa da Parada exibe todas as linhas que passam em uma parada de ônibus, possibilitando verificar quais destinos são alcançáveis através de uma parada de ônibus da cidade. Os algoritmos desenvolvidos utilizam dados relevantes para geração de mapas de transporte público encontrados em dois portais públicos da cidade: O DataPoa e o ObservaPoa. Os mapas são gerados em formato SVG, possibilitando que os mapas possam ser redimensionadas sem sofrer distorções. Portanto, a futura impressão dos mapas pode ser realizada em qualquer tamanho. A construção dos mapas envolveu a utilização de tecnologias de geoprocessamento, banco de dados e programação orientada a objetos.

Ano

2022-12-06T16:18:06Z

Creators

Cervo, Ricardo Antonio

Bancos de dados para monitoramento de desempenho de grandes redes

As operadoras de rede atualmente sentem a necessidade de monitorar em tempo real o desempenho fim a fim de suas redes (ex.: vazão de dados, qualidade da experiência do usuário, taxa de perda de pacotes, etc.). O problema enfrentado é o baixo desempenho de bancos de dados relacionais frente à grande quantidade de dados que é adquirida nos testes de monitoramento. Nesse contexto, têm surgido novos tipos de banco de dados que conseguem lidar com essas quantidades massivas de dados, e permitem que se construam aplicações de visualização destes dados em tempo quase real. O objetivo desse trabalho será comparar algumas dessas soluções de armazenamento de dados – seu funcionamento e suas implicações – neste caso, uma solução relacional tradicional – o PostgreSQL – versus uma especializada – time series databases – representado aqui pelo InfluxDB. Para isso serão definidas métricas e será efetuada uma implementação de método de teste para que sejam analisadas as soluções.

Ano

2022-12-06T16:18:06Z

Creators

Dlugokenski, Rodrigo

Instatiating the page object pattern in desktop applications

Teste de software está se tornando cada vez mais importante no desenvolvimento de software. Aplicações web têm o desafio de testar aplicações onde interfaces de usuário (UIs) são definidas em linguagens específicas (por exemplo, JSP e ASP), o que dificulta o seu teste. Padrões (por exemplo, o padrão Page Object) e tecnologias (por exemplo, Selenium) fornecem suporte para lidar com esta questão. Embora as aplicações web sejam populares, aplicações desktop ainda tem um papel crucial na indústria de software. Novas bibliotecas e frameworks são baseadas em outras linguagens, como o XML, para definição de interface. Isso traz o problema de aplicações web para as aplicações desktop também. Assim, este trabalho explora como instanciar o padrão objeto Page (POP) no contexto de aplicações POP. Page Objects são referidos como View Objects (VOs) neste caso. Um dos principais benefícios deste método é em relação ao modo de teste. Ao seguir os passos para implementar os VOs, preparamos nossos testes para executar no modo headless. Isso significa que a aplicação desktop não necessita ser instanciado para ser testado. Todas as operações são simuladas e feitas sem exibir a interface de usuário, simulando variáveis importantes da UI para ser usado dentro de VOs.

Ano

2022-12-06T16:18:06Z

Creators

Schmidt, Felipe de Medeiros

Solving the dial-a-ride problem with the firefly metaheuristic

Das Dial-a-Ride-Problem ist ein NP-schweres kombinatorisches Optimierungsproblem, das bei benutzerorientiertem öffentlichen Personenverkehr Anwendung findet. Das DARP ist ein Tourenplanungsproblem, dessen Instanzen aus einer Menge von Fahrzeugen und einer Menge von von Fahrgästen eingetragenen Aufträgen zum Abholen und zum Absetzen bestehen. Sein Ziel ist es, den Fahrzeugen die Aufträge zuzuweisen und die Routen jedes Wagens zu berechnen, sodass die Betriebskosten minimiert werden und alle Nebenbedingungen, wie z.B. Fahrzeugnutzlast, Zeitfenster für Ein- und Ausstieg, maximale Fahrtdauer, erfüllt werden. Diese Arbeit stellt eine mathematische Formulierung des Problems vor und versucht, es durch den Einsatz des Firefly-Algorithmus (FA) zu lösen. Der FA ist eine neue naturbasierte Metaheuristik, die vom Verhalten von Glühwürmchen inspiriert ist und das Konzept von Schwarmintelligenz anwendet, um mathematische Funktionen zu optimieren, indem sie quasi-optimale Lösungen sucht. Anhand dieses Verfahrens hat diese Arbeit einen Löser des DARP modelliert und implementiert, der den riesigen kombinatorischen, von Probleminstanzen generierten Suchraum effizienterweise erforscht. Letztendlich wurde ein Leistungsvergleich zwischen der vorgeschlagenen Methode und den Algorithmen aus der wissenschaftlichen Literatur durchgeführt, der zeigte, dass die vorgeschlagene Methode einen Durchschnitt von 90% von Optimalität für eine bestimmte Menge von Instanzen erreicht und in einigen Experimenten schnellere Ergebnisse liefert, als die von einem der Algorithmen, die von der Lietratur stammen, gelieferten Ergebnisse.

Ano

2022-12-06T16:18:06Z

Creators

Silva, Fernando Bombardelli da

Tratados internacionais em matéria tributária – internalização, interpretação e alcance aspectos controvertidos

O presente trabalho objetiva enfatizar a importância dos tratados internacionais em matéria tributária para o incremento do desenvolvimento econômico do país, assim como a necessidade de harmonização legislativa e de interpretação entre os tratados e o direito interno. Elenca os posicionamentos da doutrina e jurisprudência, desde a recepção e vigência dessas convenções internacionais, possíveis conflitos com o direito interno, como também sobre o alcance e limites de aplicação. Examina tratados destinados a evitar a dupla ou pluritributação diretamente, como também os que, dispondo de outras matérias, afetam o posicionamento fiscal dos contratantes, em razão da previsão de regimes de não-discriminação, de igualdade de tratamento, ou mesmo de aplicação da cláusula da nação mais favorecida, típicos de acordos regionais ou gerais.

Ano

2022-12-06T16:18:06Z

Creators

Bonzanini , Marilene

Pylinguistics : an open source library for readability assessment of texts written in Portuguese

Avaliação de inteligibilidade é um processo importante na simplificação automática de texto, visando computar um conjunto de métricas capazes de mensurar a complexidade de um texto. Nesse trabalho proponho o desenvolvimento de uma ferramenta de código aberto voltada para a medição de inteligibilidade de textos na língua portuguesa. Reporto o desenvolvimento da mesma, realizo uma avaliação comparativa, e obtenho resultados satisfatórios com sua performance. Para ilustrar as possibilidades da ferramenta, esse trabalho também apresenta uma análise empírica da inteligibilidade do jornalismo científico brasileiro.

Ano

2022-12-06T16:18:06Z

Creators

Castilhos, Suya Pereira

Direito intertemporal e o novo código florestal

A Lei Federal nº 12.651, de 25 de maio de 2012, foi o primeiro Código Florestal promulgado sob a égide da Constituição Federal de 1988 e trouxe significativas mudanças ao regime de proteção das áreas de preservação permanente e reserva legal. Algumas destas alterações ocasionaram uma sensível diminuição da proteção ambiental conferida anteriormente pela Lei nº 4.771, de 15 de setembro de 1965 (antigo Código Florestal), suscitando dúvidas acerca da aplicabilidade da nova lei no tempo. No ordenamento jurídico brasileiro a lei nova tem efeito imediato e pode retroagir se assim dispuser o legislador, desde que não o faça prejudicando direito adquirido, ato jurídico perfeito e coisa julgada, garantias fundamentais individuais, expressas no artigo 5º, inciso XXXVI da Constituição Federal, cujo fundamento filosófico está diretamente ligado à ideia de segurança jurídica. O presente trabalho analisa, a partir das regras de Direito Intertemporal, os institutos do Direito Adquirido, do Ato Jurídico Perfeito e da Coisa Julgada e, com isso, apresenta as soluções propostas pelo sistema para a aplicação do novo Código Florestal no tempo, bem como, o tratamento jurídico a ser conferido aos Termos de Ajustamento de Conduta e as sentenças proferidas sob a égide da legislação anterior, levando em consideração a natureza permanente e atemporal da relação jurídica ambiental.

Ano

2022-12-06T16:18:06Z

Creators

Scherer, Carolina Donay

Controle de movimento em grupo e coordenação de dispersão autônomos de veículos para trechos de animações no simulador virtual tático do sistema de simulação do Projeto ASTROS 2020

O avanço da tecnologia nos últimos anos, assim como o avanço das ferramentas de desenvolvimento, vem tornando ferramentas de simulação cada vez mais complexas, assim como mais comuns. Tais ferramentas de simulação são usadas em diversas áreas, muitas vezes para treinamento virtual antes do real, visando diminuir custos e riscos do treinamento real. Sistemas complexos ou perigosos, como treinamento de equipamentos militares, se beneficiam de simuladores uma vez que o uso de equipamentos custa caro assim como há riscos à saúde dos envolvidos em casos de erros, como erros causados por inexperiência e falta de treinamento. Buscando se aproveitar dessas vantagens de economia e segurança trazidas por simuladores, o Exército Brasileiro está desenvolvendo um simulador tático para o treinamento do sistema ASTROS 2020. O objetivo desse trabalho é realizar a prototipação de um simulador virtual tático para uma parte do sistema de simulação de lançadores de mísseis e foguetes, ASTROS 2020. São estudadas técnicas para simular comportamentos do mundo real de veículos autômatos. O comportamento estudado busca a criação de uma inteligência para que os veículos autômatos sejam capazes de se deslocarem em comboio ordenado e desviar de obstáculos ao longo do percurso, assim como se dispersarem ao chegarem ao destino. O simulador para o sistema ASTROS 2020 está sendo desenvolvido na plataforma Unity, uma das ferramentas que facilitam o desenvolvimento de jogos e simuladores. O comportamento foi, desse modo, implementando na plataforma Unity e, para tal, as ferramentas da plataforma usadas para o desenvolvimento são, também, estudadas nesse trabalho.

Ano

2022-12-06T16:18:06Z

Creators

Scheffer, Erik de Souza

Proposta de agente blackboard para a resolução de interoperabilidade semântica em IoT

A grande diversidade de aplicações em Internet das coisas gera um problema de interoperabilidade semântica, na medida que dois dispositivos que pertencem a aplicações diferentes precisam se comunicar. Esse trabalho propõe o agente tradutor, que funciona como um intermediário entre a comunicação entre dois dispositivos IoT. Ele é baseado na arquitetura blackboard dividido em áreas, onde cada área corresponde a um grupo de dispositivos IoT que utilizam a mesma ontologia. Outro agente proposto é o agente de alinhamento, que utiliza o algoritmo de similaridade N-GRAMA e módulos de ontologias dos dispositivos IoT, buscam encontrar conceitos relacionados entre aplicações, de forma que facilite o tratamento do problema de interoperabilidade semântica em Internet das Coisas. Esses agentes são aplicados em um sistema de impressão. O sistema de impressão é composto pelo agente usuário, que controla uma fila de impressão virtual, interagindo com o sistema para conseguir uma impressora para o usuário. O agente servidor é o outro agente que compõe o sistema e realiza o controle de acesso às impressoras pelo usuário e detém informações básicas do funcionamento delas. O agente impressora controla e interage com as impressoras do sistema. Cada agente do sistema tem sua própria ontologia e o agente tradutor e de alinhamento fazem a conversão das mensagens entre esses agentes.

Ano

2022-12-06T16:18:06Z

Creators

Ribeiro, Rodrigo Zanella

Extensible simulator for replay of trace files in the Pajé format

Observação do comportamento de programas através de arquivos de rastro é particularmente importante em Computação de Alta Performance, uma vez que permite uma análise de desempenho precisa. Neste contexto, a ferramenta Pajé é bastante utilizada para simular arquivos de rastro no formato de arquivo Pajé. O simulador funciona recriando o comportamento do programa em modo offline, permitindo que o analista de desempenho entenda melhor complicações que possam ter ocorrido durante a execução. Atualmente, há pelo menos três problemas com o simulador Pajé: pouca extensibilidade, falta de resultados parciais e resultados temporários. Embora o Pajé tenha sido construído para ser extensível, é necessário escrever um componente inteiro para atingir realmente a extensibilidade. Esta é uma tarefa complexa, pois implica em compreender a hierarquia de classes interna do programa. A segunda questão é que é impossível obter uma visão parcial dos dados simulados antes do final do arquivo de entrada. E, finalmente, o terceiro problema está relacionado com a efemeridade dos resultados: todos os dados simulados são descartados quando o Pajé termina de executar. Para resolver estas questões, um simulador extensível baseado em plugins chamado Aiyra foi concebido e implementado. O objetivo da Aiyra é permitir extrema extensibilidade deixando o analista de desempenho construir plugins que lidam com os dados simulados. Os plugins podem ser conectados ao simulador em pontos específicos onde eventos de rastreamento importantes são combinados. Como prova de conceito, implementamos plugins para mostrar na saída padrão dados parciais que acabaram de ser simulados e para tornar os resultados permanentes, inserindo os dados simulados em uma base de dados. Uma análise de desempenho foi conduzido para comparar Aiyra com o simulador Pajé existente. Nosso simulador apresentou melhores resultados de desempenho com arquivos maiores, o que foi atribuído ao fato de que o nosso solução mantém o consumo de memória baixo ao longo da execução. Nós também avaliamos o plugin de inserção em uma base de dados para diferentes cenários através de um rigoroso design experimental.

Ano

2022-12-06T16:18:06Z

Creators

Bellini, Tais Loureiro

Posicionamento global de células em circuitos VLSI

O posicionamento de células é a etapa da síntese automática de circuitos integrados responsável por determinar a localização das células na área do circuito. Como o posicionamento de células pertence a classe de problemas NP-Completo, é impossível obter a solução ótima em um tempo computacional razoável mesmo para instâncias com algumas poucas dezenas de células. Atualmente, os circuitos têm centenas de milhares a milhões de células, portanto, a medida que a tecnologia avança, torna-se imprescindível o desenvolvimento de novas heurísticas que sejam capazes de gerar soluções melhores, visto que a qualidade do posicionamento afeta fortemente o desempenho do chip, a área, consumo de energia e distribuição de calor. O problema de posicionamento é tradicionalmente dividido em três estágios: posicionamento global, legalização e posicionamento detalhado. O objetivo do posicionamento global é espalhar as células pela área do circuito enquanto otimiza o comprimento das conexões, congestionamento, entre outras métricas. Ainda, são permitidas sobreposições entre as células e não há a tentativa de alinhá-las nas bandas de posicionamento. Nesse trabalho é feito um estudo sobre o problema de posicionamento global e a implementação de uma ferramenta de posicionamento global. Para a implementação, foi proposto um algoritmo analítico quadrático que utiliza o modelo híbrido de conexões para construir o sistema linear, e para fazer o espalhamento das células pela área do circuito, foi utilizada a técnica Look-Ahead Legalization do algoritmo SimPL.

Ano

2022-12-06T16:18:06Z

Creators

Plácido, Henrique

Evaluation of arithmetic operators for the MPPA-256 manycore architecture

1.1 Introdução Este capítulo apresenta um resumo estendido em português sobre o Trabalho de Final de Estudos, escrito em inglês, realizado na França durante a participação do Programa de Intercâmbio Brafitec com a obtenção do duplo diploma. A motivação do trabalho assim como as etapas de desenvolvimento do mesmo são apresentadas brevemente para que se tenha uma compreensão geral texto. 1.1.1 Contexto do trabalho Este trabalho de conclusão de curso em microeletrônica, decorrente da co-tutela firmada entre as universidades Institut Polytechnique de Grenoble – École Nationale de Physique, Électronique et Matériaux (Phelma) e Universidade Federal do Rio Grande do Sul, foi realizado no período de seis meses na empresa KALRAY. Esta empresa tem atuação na área de microeletrônica voltada para desenvolvimento de microprocessadores manycore de alto desempenho e baixo consumo. O principal produto desenvolvido pela empresa é o processador MPPA-256 que contém 256 núcleos de processamento funcionando a 400 MHz. Baseando-se no massivo poder de processamento paralelo com núcleos VLIW e com uma frequência de operação mais baixa se comparada aos processadores mais comuns disponíveis no mercado, este processador é extremamente eficiente energeticamente uma vez que possui uma relação de taxa teórica de pico de computação por unidade de energia em torno de 25 GFLOPS/W. 1.1.2 Motivação Em processadores atuais mais populares, como aqueles pertencentes à família x86, a lógica de controle do processador é bastante engenhosa devido à retrocompatibilidade de instruções e à natureza superescalar desses processadores. Mecanismos de predição de desvios e escalonadores dinâmicos de instruções são exemplos de módulos de hardware consideravelmente complexos e, por consequência, possuem área consideravelmente grande em relação ao tamanho de cada núcleo de processamento. Assim, melhorias aportadas à construção da lógica de controle são mais propícias a surtirem efeitos consideráveis sobre consumo de energia e área utilizada do que modificações sobre a lógica das unidades operacionais. No processador MPPA-256 cada núcleo trabalha com um conjunto de instruções VLIW, logo algumas tarefas de otimização de execução – como a alocação de unidades funcionais – são realizadas pelo compilador. Logo, a lógica de controle do processador torna-se mais simples e, consequentemente, as unidades operacionais como somadores, multiplicadores, entre outros possuem uma representatividade maior na área e no consumo energético de cada núcleo. A partir dessa premissa, a empresa percebeu a necessidade de explorar a implementação de diversas arquiteturas de operadores aritméticos na tecnologia empregada, buscando melhorias no desempenho do processador. Haja visto a grande quantidade de arquiteturas existentes na literatura e os diversos requerimentos e restrições impostos para cada operador aritmético no âmbito de sua utiliação, torna-se necessário a criação de uma biblioteca de hardware com circuitos aritméticos descritos em linguagem HDL, testados e sintetizados e de fácil acesso às características destes a fim de melhorar e simplificar o processo de decisão do projeto do processador quanto à parte operativa. 1.2 Trabalho Desenvolvido Dado que existem diversas arquiteturas de somadores e multiplicadores definidas na literatura, é necessário efetuar um estudo sobre o estado da arte a fim de avaliar e comparar cada circuito. Dessa forma, a primeira etapa do trabalho desenvolvido remete a uma revisão teórica sobre os circuitos aritméticos assim como apresenta sucintamente todas as arquiteturas estudadas sobre as quais foram extraídos os dados da síntese. Nos anexos, encontram-se análises mais aprofundadas sobre área e timing para algumas arquiteturas selecionadas. Visando a avaliação completa de cada arquitetura estudada, foi definido um conjunto de métricas, ao qual deu-se o nome de Quality of Results (QoR), comum tanto aos somadores quanto aos multiplicadores. Nesse conjunto são listados diversos dados característicos de cada circuito, no qual frequências de operação, área utilizada e potência dissipada correspondem aos fatores mais importantes. Para implementar e comparar os resultados da síntese de cada arquitetura, algumas ferramentas foram desenvolvidas visando a simplificação e automatização desse processo. Quanto à implementação dos circuitos, foi desenvolvido um framework para flexibilizar a geração de códigos VHDL assim como a geração dos testbenches associados a esses circuitos. Também, diversos scripts foram desenvolvidos para que a síntese e a extração dos dados de cada circuito ocorresse de modo automático. Para catalogação dos dados, foi desenvolvido uma ferramenta de acesso ao banco de dados criado, permitindo ao usuário, de forma simples, visualizar e comparar arquiteturas para certos critérios informados. 1.2.1 Gerador de Código VHDL A descrição de circuitos em linguagem HDL pode ser uma tarefa longa e muito suscetível a erros. Além disso, certas arquiteturas são definidas a partir de modelos recursivos que cujos parâmetros de recursão dependem do tamanho dos dados de entrada. Essas arquiteturas são extremamente difíceis de descrever genericamente em VHDL e normalmente resultam em circuitos ineficientes. Para resolver esse problema, foi desenvolvido um framework em linguagem Python que contém os elementos básicos da lógica combinacional propostos pela linguagem VHDL. Todos os elementos da linguagem VHDL – fios, operadores lógicos, entidades, etc – são representados através de classes nesse framework. A vantagem desse framework reside justamente em resolver as complexidades inerentes a um algoritmo qualquer que descreve um circuito antes que este seja modelado através de uma linguagem HDL. Para descrever um circuito, o usuário cria um modelo em Python do algoritmo desejado usando os elementos disponibilizados pelo framework e as funcionalidades primitivas da linguagem Python. Assim, o resultado final é uma descrição VHDL completamente sintétizavel com todos os elementos do circuito contidos em um único arquivo. Vale ressaltar que esse arquivo não faz uso de recursos adicionais da linguagem VHDL tais como generic, for, etc, pois todas as dependências referentes a tamanho de dados e quantidade de instâncias de um componente dentro de um design são resolvidas pelo framework. Adicionalmente, esse framework suporta a geração automática de testbenches em linguagem SystemVerilog conforme solicitação do usuário. A escolha da linguagem para tais testes foi feita baseada no ambiente utilizado dentro da empresa. O usuário deve informar uma expressão compatível com a linguagem do teste que represente a função computada pelo circuito assim como as entradas e as saídas a serem analisadas. Ao final, são gerados dois arquivos onde um deles é responsável pela interface do módulo de teste e o outro contém as instanciações e testes necessários para a verificação do circuito segundo a expressão fornecida. 1.2.2 Scripts de automatização do fluxo Dado que a quantidade de circuitos a serem analisados é bastante grande, foi necessário automatizar o processo de geração dos arquivos HDL, verificação da corretude dos circuitos, sintetização da netlists e extração das características de cada arquitetura. Para tanto, diversos scripts foram desenvolvidos para que cada processo ocoresse automática e independentemente. Após a síntese de cada circuito com a ferramenta Cadence Encouter RTL Compiler ©, vários arquivos são gerados com características de potência, área, frequência, entre outros. A partir desses arquivos, as características de cada circuito são extraídas automaticamente através de um script e armazenadas em um arquivo CSV para ser uitlizado na análise de dados e atualização do banco de dados. 1.2.3 Ferramentas de análise de dados Com os arquivos CSV criados com as características dos circuitos, duas abordagens são propostas para análise de dados. A primeira abordagem é voltada para compreender o a variação do QoR de cada arquitetura para diferentes constraints. Para tanto, alguns scripts em Matlab foram desenvolvidos com a capacidade de gerar gráficos de comparação a partir de uma interface gráfica projetada. Os gráficos utilizados na seção de resultados deste trabalho foram gerados com esses scripts. Já a segunda abordagem remete à criação de um software responsável pelo gerenciamento de uma base de dados com as características de síntese extraídas para cada circuito. Essa ferramenta é importante pois permite escolher rapidamente qual arquitetura é mais adaptada para certos requisitos (área, tamanho de dados, etc) através de buscas parametrizadas pelo usuário. Apesar de ter sido desenvolvida para os circuitos aritméticos considerados nesse trabalho, o software é facilmente adaptável para suportar outros circuitos. 1.2.4 Análise dos Resultados Após a síntese e extração das características de cada arquitetura estudada, alguns gráficos comparando a área ocupada, frequência máxima de utilização e potência estática dissipada são apresentados. As análises apresentadas referem-se apenas aos piores casos, isto é, aos circuitos com a maior largura de dados. Com esses gráficos é possível verificar experimentalmente as vantagens e as desvantagens de cada arquitetura. Ainda, é apresentada uma conclusão sobre os circuitos mais adaptados ao processador MPPA-256. 1.3 Conclusão Sabe-se que hoje os processadores manycore são essenciais para obter sistemas de alta performance já que oferecem um poder de processamento paralelo elevado além de mitigar as restrições físicas do processo de fabricação de circuitos integrados, como a limitação da frequência. Para o processador de baixo consumo MPPA-256, em particular, foi imprescindível estudar o comportamento das arquiteturas dos operadores aritméticos para encontrar formas de otimização do circuito como um todo considerando três aspectos principais – frequência, área e consumo. A partir dos resultados obtidos do trabalho realizado, percebeu-se que a margem de otmização para somadores é muito pequena já que a abordagem atual apresenta-se mais eficiente em relação às arquiteturas estudadas. Entretanto, o mesmo não é válido para multiplicadores, onde há uma margem considerável para melhorias devido às otimizações arquiteturais apresentadas. Ainda, o sistema construído para armazenamento e consulta às características dos circuitos provou-se eficiente e extensível para outros tipos de circuito.

Ano

2022-12-06T16:18:06Z

Creators

Rocha, Leandro Mateus Giacomini