1000 resultados para Algoritmos computacionais


Relevância:

20.00% 20.00%

Publicador:

Resumo:

O objetivo deste trabalho consiste no desenvolvimento de alguns avanços, teóricos e numéricos, no método LTSN visando implementar a primeira versão de um código computacional, para resolver a equação de transporte utilizando formulação LTSN na forma de multigrupos em geometria plana. Os avanços para o método LTSN estão fundamentados na solução iterativa para o sistema de equações que constituem as condições de contorno, um novo método para a busca do valor de keff baseado no método da bissecção. O desenvolvimento desta metodologia permitiu realizar o calculo muito rápido com altas ordens de quadratura e com esforço computacional muito reduzido. Juntos os avanços matemáticos e numéricos, implementados nesta primeira versão de um código fortran, tal como nos códigos já conhecidos permite solucionar a equação de transporte na forma de multigrupos, tanto para o cálculo direto como para o adjunto, com fontes arbitrárias. Este código utiliza de recursos computacionais da linguagem FORTRAN e as bibliotecas LAPACK, para a otimização de seus algoritmos, facilitando o desenvolvimento futuro. A validação deste trabalho foi feita utilizando dois problemas: um relativo ao fluxo angular e escalar, tanto para o fluxo direto como para o adjunto, cuja importância está relacionada com busca de convergência, relação de reciprocidade e comprovação da solução adjunta, e; um problema de criticalidade, para comprovar a eficácia do algoritmo de busca iterativa de keff e espessura crítica. Com este trabalho se abrem muitas possibilidades tanto teóricas como numéricas a investigar com o método LTSN.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A modelagem e desenvolvimento de sistemas embarcados ("embedded systems") de forma distribuída, tende a ser uma tarefa extremamente complexa, especialmente quando envolve sistemas heterogêneos e sincronização de tarefas. Com a utilização do modelo de componentes de software é possível descrever, de uma forma simplificada, todos os elementos de distribuição e de comunicação para este tipo de sistemas. Neste sentido, a especificação de uma ferramenta capaz de auxiliar na modelagem e no desenvolvimento deste tipo de aplicação, certamente irá tornar o trabalho mais simples. Esta dissertação inicia por uma análise comparativa entre as tecnologias passíveis de serem utilizadas na definição de sistemas distribuídos heterogêneos, focando-se principalmente nas metodologias de modelagem, e nos mecanismos e middlewares de comunicação. Dos conceitos formados a partir desta análise é descrita uma ferramenta, baseada em componentes de software. A ferramenta é uma extensão do projeto SIMOO-RT, onde foram adicionados os conceitos de componente de software, biblioteca de componentes e diagrama de implantação. Além disso, foram realizadas modificações no sistema de geração de código, para dar suporte aos novos conceitos da ferramenta. A dissertação termina com a descrição de alguns estudos de caso utilizados para validar a ferramenta.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The recent advances in CMOS technology have allowed for the fabrication of transistors with submicronic dimensions, making possible the integration of tens of millions devices in a single chip that can be used to build very complex electronic systems. Such increase in complexity of designs has originated a need for more efficient verification tools that could incorporate more appropriate physical and computational models. Timing verification targets at determining whether the timing constraints imposed to the design may be satisfied or not. It can be performed by using circuit simulation or by timing analysis. Although simulation tends to furnish the most accurate estimates, it presents the drawback of being stimuli dependent. Hence, in order to ensure that the critical situation is taken into account, one must exercise all possible input patterns. Obviously, this is not possible to accomplish due to the high complexity of current designs. To circumvent this problem, designers must rely on timing analysis. Timing analysis is an input-independent verification approach that models each combinational block of a circuit as a direct acyclic graph, which is used to estimate the critical delay. First timing analysis tools used only the circuit topology information to estimate circuit delay, thus being referred to as topological timing analyzers. However, such method may result in too pessimistic delay estimates, since the longest paths in the graph may not be able to propagate a transition, that is, may be false. Functional timing analysis, in turn, considers not only circuit topology, but also the temporal and functional relations between circuit elements. Functional timing analysis tools may differ by three aspects: the set of sensitization conditions necessary to declare a path as sensitizable (i.e., the so-called path sensitization criterion), the number of paths simultaneously handled and the method used to determine whether sensitization conditions are satisfiable or not. Currently, the two most efficient approaches test the sensitizability of entire sets of paths at a time: one is based on automatic test pattern generation (ATPG) techniques and the other translates the timing analysis problem into a satisfiability (SAT) problem. Although timing analysis has been exhaustively studied in the last fifteen years, some specific topics have not received the required attention yet. One such topic is the applicability of functional timing analysis to circuits containing complex gates. This is the basic concern of this thesis. In addition, and as a necessary step to settle the scenario, a detailed and systematic study on functional timing analysis is also presented.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A equação de complexidade de um algoritmo pode ser expressa em termos de uma equação de recorrência. A partir destas equações obtém-se uma expressão assintótica para a complexidade, provada por indução. Neste trabalho, propõem-se um esquema de solução de equações de recorrência usando equações características que são resolvidas através de um "software" de computação simbólica, resultando em uma expressão algébrica exata para a complexidade. O objetivo é obter uma forma geral de calcular a complexidade de um algoritmo desenvolvido pelo método Divisão-e-Conquista.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho apresenta novos algoritmos para o roteamento de circuitos integrados, e discute sua aplicação em sistemas de síntese de leiaute. As interconexões têm grande impacto no desempenho de circuitos em tecnologias recentes, e os algoritmos propostos visam conferir maior controle sobre sua qualidade, e maior convergência na tarefa de encontrar uma solução aceitável. De todos os problemas de roteamento, dois são de especial importância: roteamento de redes uma a uma com algoritmos de pesquisa de caminhos, e o chamado roteamento de área. Para o primeiro, procura-se desenvolver um algoritmo de pesquisa de caminhos bidirecional e heurístico mais eficiente, LCS*, cuja aplicação em roteamento explora situações específicas que ocorrem neste domínio. Demonstra-se que o modelo de custo influencia fortemente o esforço de pesquisa, além de controlar a qualidade das rotas encontradas, e por esta razão um modelo mais preciso é proposto. Para roteamento de área, se estuda o desenvolvimento de uma nova classe de algoritmos sugerida em [JOH 94], denominados LEGAL. A viabilidade e a eficiência de tais algoritmos são demonstradas com três diferentes implementações. Devem ser também estudados mecanismos alternativos para gerenciar espaços e tratar modelos de grade não uniforme, avaliando-se suas vantagens e sua aplicabilidade em outros diferentes contextos.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O presente trabalho apresenta uma comparação entre resultados computacionais, obtidos através do "software" EnergyPlus e experimentais do comportamento térmico de um ambiente condicionado e não condicionado. Para tanto, monitoraram-se os dados climáticos de radiação, velocidade do vento e temperatura, no período de 11 a 20 de janeiro de 2002 e produziu-se um arquivo climático. Simultaneamente, fez-se a aquisição das temperaturas de uma sala-teste, localizada no terceiro pavimento de um prédio na cidade de Porto Alegre, bem como das salas adjacentes. As temperaturas do ar de insuflamento e de retorno dos condicionadores de ar, localizados na sala-teste, foram medidas durante o dia, em seis dias do período de monitoramento. Mediu-se também a velocidade do ar de retorno e determinou-se a potência sensível de refrigeração. Os ganhos de calor interno da sala também foram medidos e utilizaramse as formulações apresentadas pela ASHRAE, 2001, para determiná-los em relação às pessoas e à infiltração. Tais dados foram declarados ao programa como variáveis de entrada. As simulações do comportamento térmico da sala-teste foram implementadas informando-se ao programa a temperatura das salas ou os coeficientes de uma equação representativa das mesmas. Por considerar que a primeira representava melhor as condições térmicas das salas contíguas, utilizou-se esta modalidade para análise As simulações foram conduzidas, alterando-se opções fornecidas pelo programa: modelo de céu isotrópico e anisotrópico, coeficiente de convecção simples e detalhado. Os resultados da carga térmica e temperatura ambiente da sala-teste obtidos nas simulações foram comparados com os dados experimentais do período de monitoramento. A melhor concordância foi obtida para o modelo anisotrópico, coeficiente de convecção detalhado. Constatou-se uma grande discrepância entre as cargas térmicas, para o modelo de convecção simples. Assim, conclui-se que o "software" EnergyPlus representa bem o comportamento térmico de uma edificação "termicamente pesada" para coeficiente de convecção detalhado, necessitando pesquisa para as demais edificações.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O uso da recuperação de processos para obter sistemas computacionais tolerantes a falhas não é um assunto novo. Entretanto, a discussão de algoritmos para a recuperação em sistemas distribuídos, notadamente aqueles que se enquadram na categoria assíncrona, ainda encontra pontos em aberto. Este é o contexto do presente trabalho. Este trabalho apresenta um novo algoritmo de recuperação por retorno, em sistemas distribuídos. O algoritmo proposto é do tipo coordenado, e seus mecanismos componentes determinam que seja classificado como um algoritmo baseado em índices (index-based coordinated). Desta forma, a tolerância a falhas é obtida através do estabelecimento de linhas de recuperação, o que possibilita um retorno consideravelmente rápido, em caso de falha. Seu desenvolvimento foi feito com o objetivo de minimizar o impacto ao desempenho do sistema, tanto quando este estiver operando livre de falhas como quando ocorrerem as falhas. Além disso, os mecanismos componentes do algoritmo foram escolhidos visando facilitar a futura tarefa de implementação. A satisfação dos objetivos decorre principalmente de uma importante característica assegurada pelos mecanismos propostos no algoritmo: o não bloqueio da aplicação, enquanto é estabelecida uma nova linha de recuperação. Esta característica, associada ao rápido retorno, oferece uma solução promissora, em termos de eficiência, para a recuperação, um vez que o impacto no desempenho tende a ser reduzido, quando o sistema encontra-se operando em ambas condições: livre de erros ou sob falha. Diferentemente da maioria dos algoritmos coordenados encontrados na literatura, o algoritmo proposto neste trabalho trata as mensagens perdidas. A partir da análise das características das aplicações, bem como dos canais de comunicação, quando estes interagem com o algoritmo de recuperação, concluiu-se que os procedimentos usados para recuperação de processos devem prever o tratamento desta categoria de mensagens. Assim, o algoritmo proposto foi incrementado com um mecanismo para tratamento das mensagens que têm o potencial de tornarem-se perdidas, em caso de retorno, ou seja, evita a existência de mensagens perdidas. Uma das decisões tomadas durante o desenvolvimento do algoritmo foi a de permitir um processamento não determinístico. Na realidade, esta escolha visou o aumento do espectro das falhas que poderiam ser tratadas pela recuperação. Tradicionalmente, a recuperação por retorno é empregada para tolerar falhas temporárias. Entretanto, a diversidade de ambiente, freqüente nos SDs, também pode ser usada para tolerar algumas falhas permanentes. Para verificar a correção do algoritmo, decidiu-se empregar um formalismo existente. Assim, a lógica temporal de Lamport (TLA) foi usada na especificação dos mecanismos do algoritmo bem como em sua demonstração de correção. O tratamento referente às mensagens perdidas, atrav´es do uso de mensagens de resposta, associado com o uso de uma lógica temporal, levou à necessidade de rever os critérios de consistência. Esta revisão gerou um conjunto de fórmulas de consistência ajustadas à existência de mensagens de diferentes classes: mensagens da aplicação e mensagens de resposta.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho faz uma análise ampla sobre os algoritmos de posicionamento. Diversos são extraídos da literatura e de publicações recentes de posicionamento. Eles foram implementados para uma comparação mais precisa. Novos métodos são propostos, com resultados promissores. A maior parte dos algoritmos, ao contrário do que costuma encontrar-se na literatura, é explicada com detalhes de implementação, de forma que não fiquem questões em aberto. Isto só possível pela forte base de implementação por trás deste texto. O algorítmo de Fidduccia Mateyeses, por exemplo, é um algorítmo complexo e por isto foi explicado com detalhes de implementação. Assim como uma revisão de técnicas conhecidas e publicadas, este trabalho oferece algumas inovações no fluxo de posicionamento. Propõe-se um novo algorítimo para posicionamento inicial, bem como uma variação inédita do Cluster Growth que mostrta ótimos resultados. É apresentada uma série de evoluções ao algorítmo de Simulated Annealling: cálculo automático de temperatura inicial, funções de perturbação gulosas (direcionadas a força), combinação de funções de perturbação atingindo melhores resultados (em torno de 20%), otimização no cálculo de tamanho dos fios (avaliação das redes modificadas e aproveitamento de cálculos anteriores, com ganhos em torno de 45%). Todas estas modificações propiciam uma maior velocidade e convergência do método de Simulated Annealling. É mostrado que os algorítmos construtivos (incluindo o posicionador do Tropic, baseado em quadratura com Terminal Propagation) apresentam um resultado pior que o Simulated Annealling em termos de qualidade de posicionamento às custas de um longo tempo de CPD. Porém, o uso de técnicas propostas neste trabalho, em conjunto com outras técnicas propostas em outros trabalhos (como o trabalho de Lixin Su) podem acelerar o SA, de forma que a relação qualidade/tempo aumente.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A análise de um algoritmo tem por finalidade melhorar, quando possível, seu desempenho e dar condições de poder optar pelo melhor, dentre os algoritmos existentes, para resolver o mesmo problema. O cálculo da complexidade de algoritmos é muito dependente da classe dos algoritmos analisados. O cálculo depende da função tamanho e das operações fundamentais. Alguns aspectos do cálculo da complexidade, entretanto, não dependem do tipo de problema que o algoritmo resolve, mas somente das estruturas que o compõem, podendo, desta maneira, ser generalizados. Com base neste princípio, surgiu um método para o cálculo da complexidade de algoritmos no pior caso. Neste método foi definido que cada estrutura algorítmica possui uma equação de complexidade associada. Esse método propiciou a análise automática da complexidade de algoritmos. A análise automática de algoritmos tem como principal objetivo tornar o processo de cálculo da complexidade mais acessível. A união da metodologia para o pior caso, associada com a idéia da análise automática de programas, serviu de motivação para o desenvolvimento do protótipo de sistema ANAC, que é uma ferramenta para análise automática da complexidade de algoritmos não recursivos. O objetivo deste trabalho é implementar esta metodologia de cálculo de complexidade de algoritmos no pior caso, com a utilização de técnicas de construção de compiladores para que este sistema possa analisar algoritmos gerando como resultado final a complexidade do algoritmo dada em ordens assintóticas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O projeto de edificações é um dos processos mais importantes em empreendimentos de construção pelo seu impacto em termos de custo e qualidade do produto final. Entretanto, observam-se muitos problemas relacionados ao gerenciamento inadequado do mesmo, tais como ineficiente comunicação entre os intervenientes, indefinição de responsabilidades e ocorrência de erros em projetos. Muitos destes problemas dizem respeito à sub utilização dos sistemas CAD e tecnologias da informação. O presente trabalho tem como objetivo propor diretrizes e padrões para gestão do fluxo de informações e para produção de desenhos no processo de projeto utilizando recursos computacionais. Busca-se, assim, o aumento da eficiência do uso dos sistemas CAD e tecnologias da informação e também uma maior eficiência nas trocas de informações entre os intervenientes. Para tal, foram realizados dois estudos de caso em empresas construtoras incorporadoras de pequeno porte situadas na Região Metropolitana de Porto Alegre - RS. A partir dos estudos de caso, foram desenvolvidos os seguintes padrões: estrutura de diretórios, back up de arquivos de desenho, nomenclatura de arquivos de desenho, protocolos de envio e recebimento de arquivos ou plantas, controle de versões de plantas ou memoriais descritivos enviados à obra, nomenclatura de layers, layers para integração, diretrizes para produção de desenhos no computador e diretrizes para apresentação de plantas. Além disso, foram identificadas e discutidas novas tendências em termos de aplicação das tecnologias da informação no processo de projeto. No entanto, salienta-se que este trabalho não tem a intenção de quebrar o paradigma atual do processo de projeto, mas sim, contribuir para preparar as empresas construtoras incorporadoras e escritórios de projeto para as tendências futuras de informatização.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Como resultados constatou-se que o modelo de tradução de políticas proposto permite automatizar o gerenciamento da infra-estrutura de grid e rede. Além disso, a solução apresentada fornece novas facilidades de gerenciamento em comparação as soluções de gerenciamento de grid baseadas em políticas encontradas na literatura. A implementação do protótipo do modelo junto ao sistema QAME permitiu que o gerenciamento do grid e da rede fosse realizado de maneira integrada usando uma hierarquia de tradução de políticas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Nesse trabalho apresentamos algoritmos adaptativos do M´etodo do Res´ıduo M´ınimo Generalizado (GMRES) [Saad e Schultz, 1986], um m´etodo iterativo para resolver sistemas de equa¸c˜oes lineares com matrizes n˜ao sim´etricas e esparsas, o qual baseia-se nos m´etodos de proje¸c˜ao ortogonal sobre um subespa¸co de Krylov. O GMRES apresenta uma vers˜ao reinicializada, denotada por GMRES(m), tamb´em proposta por [Saad e Schultz, 1986], com o intuito de permitir a utiliza¸c˜ao do m´etodo para resolver grandes sistemas de n equa¸c˜oes, sendo n a dimens˜ao da matriz dos coeficientes do sistema, j´a que a vers˜ao n˜ao-reinicializada (“Full-GMRES”) apresenta um gasto de mem´oria proporcional a n2 e de n´umero de opera¸c˜oes de ponto-flutuante proporcional a n3, no pior caso. No entanto, escolher um valor apropriado para m ´e dif´ıcil, sendo m a dimens˜ao da base do subespa¸co de Krylov, visto que dependendo do valor do m podemos obter a estagna¸c˜ao ou uma r´apida convergˆencia. Dessa forma, nesse trabalho, acrescentamos ao GMRES(m) e algumas de suas variantes um crit´erio que tem por objetivo escolher, adequadamente, a dimens˜ao, m da base do subespa¸co de Krylov para o problema o qual deseja-se resolver, visando assim uma mais r´apida, e poss´ıvel, convergˆencia. Aproximadamente duas centenas de experimentos foram realizados utilizando as matrizes da Cole¸c˜ao Harwell-Boeing [MCSD/ITL/NIST, 2003], que foram utilizados para mostrar o comportamento dos algoritmos adaptativos. Foram obtidos resultados muito bons; isso poder´a ser constatado atrav´es da an´alise das tabelas e tamb´em da observa ¸c˜ao dos gr´aficos expostos ao longo desse trabalho.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Simulador de processos é uma ferramenta valiosa, pois possibilita desde a validação de projetos e sua operabilidade prática até aumentos de produção e redução de custos. Devido a estes e outros fatores, o interesse industrial em técnicas e pacotes computacionais para a modelagem, simulação e otimização de processos tem crescido muito nos últimos anos. Juntamente com este interesse cresce a qualidade das ferramentas disponíveis no mercado para tal, mas estas ainda não satisfazem totalmente as expectativas de seus usuários. Este trabalho consiste no projeto de um novo simulador genérico para processos dinâmicos que satisfaça os usuários de forma mais completa do que os disponíveis atualmente no mercado. Para tanto, foram reunidas e, quando necessário, desenvolvidas novas técnicas relativas à descrição, análise e solução de problemas dinâmicos. Uma nova linguagem de modelagem orientada a objetos e um sistema de tradução da representação nesta linguagem para sistemas de equações foram propostos. Métodos de análise dos sistemas de equações provenientes da modelagem foram desenvolvidos com o intuito de auxiliar o usuário na detecção de erros de modelagem. Algoritmos para solução de sistemas dinâmicos e estacionários foram reunidos e uma arquitetura interna foi proposta. Por fim, o sistema como um todo foi testado através de sua aplicação em problemas típicos e outros que não podem ser resolvidos diretamente com os pacotes computacionais disponíveis no mercado. O teste com os problemas práticos provou que a estrutura proposta é adequada e apresenta uma série de vantagens quando comparada com softwares largamente utilizados na simulação de processos.