Spelling suggestions: "subject:"tolerance : falhas""
121 |
Avaliação dos detectores de defeitos e sua influência nas operações de consenso / On the evaluation of failure detectors and their influence on consensus operationsEstefanel, Luiz Angelo Barchet January 2001 (has links)
Este trabalho relata observações e analises sobre como os detectores de defeitos influenciam as operação de consenso. O conceito dos detectores de defeitos é essencial para as operações de consenso em sistemas distribuídos assíncronos, uma vez que esses representam uma das (micas formas de sobrepujar as limitações impostas pela chamada Impossibilidade FLP (impossibilidade de diferenciar um processo falho de um processo mais lento). Enquanto os detectores de defeitos tem seu funcionamento bem definido através de duas propriedades, completeness e accuracy, Não há nenhuma restrição quanto a forma de implementá-los. Na literatura são encontrados vários modelos de detectores de defeitos, construídos com as mais variadas estratégias, mecanismos de comunicação e de detecção. No entanto, estes modelos não costumam ser acompanhados de uma comparação com os detectores já existentes; os autores limitam-se a apresentar as inovações dos mecanismos sugeridos. De toda literatura pesquisada, apenas um trabalho procurou comparar diferentes modelos de detectores de defeitos, e através de simulações, avaliou o impacto destes detectores sobre o tempo de terminação das operações de consenso. Entretanto, aquele trabalho era bem limitado, tanto nos modelos de detectores analisados quanto nos objetivos das observações. O presente trabalho procurou estender aquele experimento, incluindo mais modelos de detectores, e transportando-os para um ambiente prático de execução. As observações realizadas não ficaram limitadas as avaliações já realizadas por aquele trabalho, de tal forma que os modelos de detectores testados foram analisados sob diversas métricas, situações e parâmetros de operação. Essas avaliações possibilitaram verificar o comportamento dos detectores frente aos padrões de falhas mais significativos, avaliar o impacto de cada detector sobre as operações de consenso e a sua interação com os elementos do ambiente de execução. Essas avaliações permitiram fazer uma comparação dos detectores, possibilitando a identificação de suas limitações, suas situações de melhor desempenho e possíveis otimizações para serem realizadas em trabalhos futuros. / This work presents our observations and analysis on the influence of the failure detectors on the consensus algorithm. Failure detectors are essential to the consensus over an asynchronous distributed system, as they represent one of the few techniques that are able to circumvent the limitation imposed by the FLP Impossibility (the impossibility to distinguish a crashed process from a slow one, in asynchronous systems). While failure detectors are well defined through two properties, completeness and accuracy, there's no rule about their implementation. Thus, in the literature there are many models of failure detectors, each one implemented using different approaches to the communication and detection strategies. However, these detectors seldom compare themselves to the existing ones; their authors usually present only the advantages and innovations of the new model. Indeed, we only found one work that tried to compare different failure detectors. Using simulation techniques, that work evaluated the impact of the failure detectors on the consensus termination time. However, that research was very limited in the number of detectors analyzed and in the evaluation goals. The present work extended that experience, including more detectors in the analysis and evaluating them in a practical environment. Also, the observations were not restricted to those from the original paper, and the detectors were analyzed with more metrics, failure patterns and operational parameters. The evaluation allowed us to identify the behavior from the detectors in face of the most significant failure patterns, their influence on the consensus operation and their interaction with the execution environment. These evaluation also enabled us to compare the detectors, identifying their limitations, their best employment situations and possible optimizations to future developments.
|
122 |
Definição de classes para comunicação Unicast e MulticastAmaral, Jeferson Botelho do January 2001 (has links)
No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.
|
123 |
Condução de experimentos de injeção de falhas em banco de dados distribuídosManfredini, Ricardo Augusto January 2001 (has links)
O presente trabalho realiza uma validação experimental, através da técnica de injeção de falhas por software, de sistemas de informações que utilizam gerenciadores de banco de dados distribuídos comerciais. Estes experimentos visam a obtenção de medidas da dependabilidade do SGBD utilizado, levantamento do custo de seus mecanismos de tolerância a falhas e a real aplicabilidade de SGBDs comerciais em sistemas de missão crítica. Procurou-se avaliar e validar as ferramentas de injeção de falhas utilizadas, no caso específico deste trabalho a ComFIRM e o FIDe. Inicialmente são introduzidos e reforçados os conceitos básicos sobre o tema, que serão utilizados no decorrer do trabalho. Em seguida são apresentadas algumas ferramentas de injeção de falhas em sistemas distribuídos, bem como os modelos de falhas em banco de dados distribuídos. São analisados alguns estudos de aplicação de ferramentas de injeção de falhas em bancos de dados distribuídos. Concluída a revisão bibliográfica é apresentado o modelo de software e hardware que foi implementado, destacando o gerador de cargas de trabalho GerPro-TPC e o gerenciador de injeções e resultados GIR. O GerPro-TPC segue as especificações TPC-c para a simulação de um ambiente transacional comercial padrão e o GIR realiza a integração das ferramentas de injeção de falhas utilizadas, bem como a elaboração do cenário de falhas a injetar e a coleta dos resultados das falhas injetadas. Finalmente são descritos os experimentos realizados sobre o SGBD PROGRESS. São realizados 361 testes de injeções de falhas com aproximadamente 43.000 falhas injetadas em experimentos distintos. Utiliza-se dois modelos de falhas: um focado em falhas de comunicação e outro em falhas de hardware. Os erros resultantes das falhas injetadas foram classificados em erros ignorados/mascarados, erros leves, erros graves e erros catastróficos. Dos modelos de falhas utilizados as que mais comprometeram a dependabilidade do SGBD foram as falhas de hardware. As falhas de comunicação somente comprometeram a disponibilidade do sistema alvo.
|
124 |
Extensão do suporte para simulação de defeitos em algoritmos distribuídos utilizando o Neko / Extension to support failures in distributed algorithm simulation using NekoRodrigues, Luiz Antonio January 2006 (has links)
O estudo e desenvolvimento de sistemas distribuídos é uma tarefa que demanda grande esforço e recursos. Por este motivo, a pesquisa em sistemas deste tipo pode ser auxiliada com o uso de simuladores, bem como por meio da emulação. A vantagem de se usar simuladores é que eles permitem obter resultados bastante satisfatórios sem causar impactos indesejados no mundo real e, conseqüentemente, evitando desperdícios de recursos. Além disto, testes em larga escala podem ser controlados e reproduzidos. Neste sentido, vem sendo desenvolvido desde 2000 um framework para simulação de algoritmos distribuídos denominado Neko. Por meio deste framework, algoritmos podem ser simulados em uma única máquina ou executados em uma rede real utilizando-se o mesmo código nos dois casos. Entretanto, através de um estudo realizado sobre os modelos de defeitos mais utilizados na literatura, verificou-se que o Neko é ainda bastante restrito nesta área. A única classe de defeito abordada, lá referida como colapso, permite apenas o bloqueio temporário de mensagens do processo. Assim, foram definidos mecanismos para a simulação das seguintes classes de defeitos: omissão de mensagens, colapso de processo, e alguns defeitos de rede tais como quebra de enlace, perda de mensagens e particionamento. A implementação foi feita em Java e as alterações necessárias no Neko estão documentadas no texto. Para dar suporte aos mecanismos de simulação de defeitos, foram feitas alterações no código fonte de algumas classes do framework, o que exige que a versão original seja alterada para utilizar as soluções. No entanto, qualquer aplicação desenvolvida anteriormente para a versão original poderá ser executada normalmente independente das modificações efetuadas. Para testar e validar as propostas e soluções desenvolvidas foram utilizados estudos de caso. Por fim, para facilitar o uso do Neko foi gerado um documento contendo informações sobre instalação, configuração e principais mecanismos disponíveis no simulador, incluindo o suporte a simulação de defeitos desenvolvido neste trabalho. / The study and development of distributed systems is a task that demands great effort and resources. For this reason, the research in systems of this type can be assisted by the use of simulators, as well as by means of the emulation. The advantage of using simulators is that, in general, they allow to get acceptable results without causing harming impacts in the real world and, consequently, preventing wastefulness of resources. Moreover, tests on a large scale can be controlled and reproduced. In this way, since 2000, a framework for the simulation of distributed algorithms called Neko has been developed. By means of this framework, algorithms can be simulated in a single machine or executed in a real network, using the same code in both cases. However, studying the most known and used failure models developed having in mind distributed systems, we realized that the support offered by Neko for failure simulation was too restrictive. The only developed failure class, originally named crash, allowed only a temporary blocking of process’ messages. Thus, mechanisms for the simulation of the following failure classes were defined in the present work: omission of messages, crash of processes, and some network failures such as link crash, message drop and partitioning. The implementation was developed in Java and the necessary modifications in Neko are registered in this text. To give support to the mechanisms for failure simulation, some changes were carried out in the source code of some classes of the framework, what means that the original version should be modified to use the proposed solutions. However, all legacy applications, developed for the original Neko version, keep whole compatibility and can be executed without being affected by the new changes. In this research, some case studies were used to test and validate the new failure classes. Finally, with the aim to facilitate the use of Neko, a document about the simulator, with information on how to install, to configure, the main available mechanisms and also on the developed support for failure simulation, was produced.
|
125 |
Implementação de um mecanismo de recuperação por retorno para a ferramenta ourgrid / Implementation of a rollback recovery mechanism for ourGrid toolkitSilva, Hélio Antônio Miranda da January 2007 (has links)
A computação em grid (ou computação em grade) emergiu como uma área de pesquisa importante por permitir o compartilhamento de recursos computacionais geograficamente distribuídos entre vários usuários. Contudo, a heterogeneidade e a dinâmica do comportamento dos recursos em ambientes de grid tornam complexos o desenvolvimento e a execução de aplicações. OurGrid é uma plataforma de software que procura contornar estas dificuldades: além de permitir a execução de aplicações distribuídas em ambientes de computação em grid, oferece e gerencia um esquema de troca de favores entre usuários. Neste esquema, instituições (ou usuários) que possuam recursos ociosos podem oferecê-los a outros que deles necessitem. Quanto mais um domínio oferecer recursos ao grid, mais será favorecido quando precisar, ou seja, terá prioridade mais alta quando requisitar máquinas ao grid. O software MyGrid é o principal componente do OurGrid. É através dele que o usuário interage com o grid, submetendo e gerenciando suas aplicações. No modelo de execução do MyGrid, as tarefas são lançadas por um nó central que coordena todo o escalonamento de tarefas que serão executadas no grid. Este nó apresenta uma fragilidade caracterizada na literatura como "ponto único de falhas", pois seu colapso faz com que os resultados do processamento corrente sejam perdidos. Isto pode significar horas ou, até mesmo, dias de processamento perdido, dependendo das aplicações. Visando suprir esta deficiência, este trabalho descreve o funcionamento e a implementação de um mecanismo de checkpointing (ou salvamento de estado), usado como base para a recuperação por retorno, que permite ao sistema voltar a um estado consistente, minimizando a perda de dados, após uma falha no nó central do MyGrid. Assim, ele salva, de forma estável, o estado da aplicação (estruturas de dados e informações de controle imprescindíveis) capaz de restaurar o sistema após o colapso, oferecendo uma alternativa à sua característica de ponto único de falhas. Os checkpoints são obtidos e salvos a cada mudança de estado do escalonador de tarefas do nó central. A eficiência do mecanismo de recuperação é comprovada através de experimentos que exercitam este mecanismo em cenários com diferentes características, visando validar e avaliar o impacto real no desempenho do MyGrid. / The grid computing has emerged as an important research area because it allows sharing geographically distributed computing resources among several users. However, resources in a grid are highly heterogeneous and dynamic, turning complex the development and the execution of applications. OurGrid is a software platform that intends to reduce these difficulties. Besides allowing the execution of distributed applications in grid environments, it offers and gives support to an exchange of favors between users. In this way, institutions (or users) that have idle resources can offer them to other users. The more resources a domain offers to the grid, the more it will be favored when in need. It will have higher priority when requesting machines to grid. MyGrid software is the main component of OurGrid: it constitutes the interface for user interaction as well as application submission and management. In the execution model of MyGrid, tasks are launched by a central node (home-machine), which manages the scheduling of tasks to be executed in the grid. This node constitutes a "single point of failure", because its crash causes the loss of results of the previous processing. Depending on the particular applications, this loss can be the result of hours or days of processing time. This dissertation aims to reduce the consequences of this problem offering an alternative to the single point of failure: here is proposed and implemented a checkpointing mechanism, used as basis for the rollback recovery. Checkpoints are taken synchronously with the state changes of the scheduler on the central node. After a failure affecting the home-machine of MyGrid, the system recovers information on the state of the application (data structures and essential control information) and results of previous computation, saved in stable storage, minimizing the loss of data. The efficiency of the recovery mechanism and its impact over MyGrid are evaluated through experiments that exercise this mechanism in scenarios with different characteristics.
|
126 |
Dealing with radiation induced long duration transient faults in future technologies / Lidando com falhas transitórias de longa duração provocadas por radiação em tecnologias futurasLisboa, Carlos Arthur Lang January 2009 (has links)
Com a evolução da tecnologia, dispositivos menores e mais rápidos ficam disponíveis para a fabricação de circuitos que, embora sejam mais eficientes, são mais sensíveis aos efeitos da radiação. A alta densidade, ao reduzir a distância entre dispositivos vizinhos, torna possível a ocorrência de múltiplas perturbações como resultado da colisão de uma única partícula. A alta velocidade, ao reduzir os ciclos de relógio dos circuitos, faz com que os pulsos transientes durem mais do que um ciclo. Todos estes fatos impedem o uso de diversas técnicas de mitigação existentes, baseadas em redundância temporal, e tornam necessário o desenvolvimento de técnicas inovadoras para fazer frente a este novo e desafiador cenário. Esta tese inicia com a análise da evolução da duração de pulsos transitórios nas diferentes tecnologias que dá suporte à previsão de que transitórios de longa duração (TLDs) irão afetar sistemas fabricados usando tecnologias futuras e mostra que diversas técnicas de mitigação baseadas em redundância temporal existentes não serão capazes de lidar com os TLDs devido à enorme sobrecarga que elas imporiam ao desempenho. Ao mesmo tempo, as técnicas baseadas em redundância temporal, embora sejam capazes de lidar com TLDs, ainda impõem penalidades muito elevadas em termos de área e energia, o que as torna inadequadas para uso em algumas áreas de aplicação, como as de sistemas portáteis e embarcados. Como uma alternativa para enfrentar estes desafios impostos aos projetistas pelas tecnologias futuras, é proposto o desenvolvimento de técnicas de mitigação com baixa sobrecarga, atuando em níveis de abstração distintos. Exemplos de novas técnicas de baixo custo atuando nos níveis de circuito, algoritmo e arquitetura são apresentados e avaliados. Atuando em nível de algoritmo, uma alternativa de baixo custo para verificação de multiplicação de matrizes é proposta e avaliada, mostrando-se que ela oferece uma boa solução para este problema específico, com uma enorme redução no custo de recomputação quando um erro em um elemento da matriz produto é detectado. Para generalizar esta idéia, o uso de invariantes de software na detecção de erros transitórios durante a execução é sugerido como outra técnica de baixo custo, e é mostrado que esta oferece alta capacidade de detecção de falhas, sendo, portanto, uma boa candidata para uso de maneira complementar com outras técnicas no desenvolvimento de software tolerante a falhas transitórias. Como exemplo de uma técnica em nível de arquitetura, é proposta e avaliada uma melhoria da clássica técnica de lockstep com checkpoint e rollback, mostrando uma redução significativa no número de operações de escrita necessárias para um checkpoint. Finalmente, como um exemplo de técnica de baixo custo baseada em redundância espacial, é proposto e avaliado o uso de código de Hamming na proteção de lógica combinacional, um problema ainda em aberto no projeto de sistemas usando tecnologias futuras. / As the technology evolves, faster and smaller devices are available for manufacturing circuits that, while more efficient, are more sensitive to the effects of radiation. The high transistor density, reducing the distance between neighbor devices, makes possible the occurrence of multiple upsets caused by a single particle hit. The achievable high speed, reducing the clock cycles of circuits, leads to transient pulses lasting longer than one cycle. All those facts preclude the use of several existing soft error mitigation techniques based on temporal redundancy, and require the development of innovative fault tolerant techniques to cope with this challenging new scenario. This thesis starts with the analysis of the transient width scaling across technologies, a fact that supports the prediction that long duration transients (LDTs) will affect systems manufactured using future technologies, and shows that several existing mitigation techniques based on temporal redundancy will not be able to cope with LDTs, due to the huge performance overhead that they would impose. At the same time, space redundancy based techniques, despite being able to deal with LDTs, still impose very high area and power penalties, making them inadequate for use in some application areas, such as portable and embedded systems. As an alternative to face those challenges imposed to designers by future technologies, the development of low overhead mitigation techniques, working at different abstraction levels, is proposed. Examples of new low cost techniques working at the circuit, algorithm, and architecture levels are presented and evaluated. Working at the algorithm level, a low cost verification algorithm for matrix multiplication is proposed and evaluated, showing that it provides a good solution for this specific problem, with dramatic reduction in the cost of recomputation when an error in one of the product matrix elements is detected. In order to generalize this idea, the use of software invariants to detect soft errors at runtime is suggested as a low cost technique, and shown to provide high fault detection capability, being a good candidate for use in a complementary fashion in the development of software tolerant to transient faults. As an example of architecture level technique, the improvement of the classic lockstep with checkpoint and rollback technique is proposed and evaluated, showing significant reduction in the number of write operations required for checkpoints. Finally, as an example of low cost space redundancy technique at circuit level, the use of Hamming coding to protect combinational logic, an open issue in the design of systems using future technologies, is proposed and evaluated through its application to a set of arithmetic and benchmark circuits.
|
127 |
Motf : meta-objetos para tolerância a falhas / Moft-metaobjects for fault-toleranceLisboa, Maria Lucia Blanck January 1995 (has links)
As técnicas de programação e os mecanismos de linguagens de programação destinados ao desenvolvimento de aplicações de alta confiabilidade são agrupadas sob a denominação de tolerância a falhas em software. A área de tolerância a falhas abrange uma serie de técnicas com funcionalidades e aplicabilidade bem definidas, permitindo que seja considerada um domínio próprio - o domínio de tolerância a falhas. O conteúdo de informação desse domínio não é auto-suficiente, uma vez que atua sobre outros domínios. Seu objetivo é garantir as funcionalidades das aplicações desenvolvidas em outros domínios. Ao conjugar o domínio de tolerância a falhas a um outro domínio, ou seja, ao domínio de uma aplicação, o primeiro passa a se responsável pelos requisitos não-funcionais da aplicação. Os requisitos não funcionais de uma aplicação, a exemplo de confiabilidade e segurança, são cruciais em muitas aplicações e exigem métodos e conhecimentos que são distintos do domínio da aplicação. O modelo de orientação a objetos incentiva o desenvolvimento de aplicações através da composição de objetos, cada qual com a sua estrutura e comportamento específicos. Cada particular composição de objetos forma um conjunto que deve observar um comportamento que atenda aos requisitos da aplicação, de forma confiável. Com o objetivo de aumentar a confiabilidade da aplicação e de minimizar o efeito de possíveis falhas do sistema, são propostos objetos tolerantes a falhas. Objetos tolerantes a falhas são objetos responsáveis por serviços críticos da aplicação e que possuem mecanismos que garantem a confiabilidade e disponibilidade destes serviços. Comportamentos tolerantes a falhas de objetos são obtidos por redundância de componentes, incluindo replicacão e diversidade. O gerenciamento da redundância é executado de forma independente do domínio da aplicação e exercido em um meta-nível, através de técnicas de reflexão computacional. A adoção de reflexão computacional no modelo de orientação a objetos permite organizar as atividades de tolerância a falhas sem interferir no aspecto estrutural dos objetos do domínio da aplicação. Os controles que devem ser exercidos pelos meta-objetos sobre os objetos da aplicação são realizados em um meta-nível, de forma a separar as funcionalidades especificas da aplicação daquelas pertinentes ao domínio de tolerância a falhas. Estes meta-objetos, são organizados na forma de um framework, denominado MOTF - Meta-objetos para Tolerância a Falhas. O projeto de MOTF é um framework que apóia o desenvolvimento de aplicações tolerantes a falhas, compreendendo múltiplas classes que definem as funcionalidades exigidas por diversas técnicas de tolerância a falhas. Adota uma arquitetura reflexiva, na qual o meta-nível é dedicado as atividades de detecção e recuperação de erros através da monitoração de objetos da aplicação, localizados no nível base. Características de tolerância a falhas podem ser adicionadas a objetos considerados críticos pela aplicação, assim distribuindo, e não centralizando, a propriedade de tolerar falhas entre objetos da aplicação. Incorporando os princípios de reflexão computacional ao modelo de orientação a objetos dois benefícios principais se salientam: promover a reutilização de objetos tolerantes a falhas e garantir a invulnerabilidade do objeto do domínio da aplicação, ao separar as ações pertinentes ao domínio da aplicação das específicas do sistema tolerante a falhas. / Software fault-tolerance encompasses all techniques and programming languages' mechanisms intended to support the development of high reliability software. We can consider the faulttolerance area a proper domain of knowledge composed by well-defined techniques used to guarantee the reliability of applications related to other domains. Therefore, the fault-tolerance domain acts over other domains. When the fault-tolerance domain is merged into an application domain it becomes responsible for the non-functional requirements of the application. Among those requirements, reliability and safety are crucial ones and they use methods and concerns not related to the application domain. The object-oriented approach to software development allows a software to be decomposed into a set of components - the objects. Each object has its own structure and behavior. The view of a system as composed by interacting objects can be quite convenient in expressing different degrees of fault tolerance. We can distinguish between critical and non-critical objects and we may even distinguish between critical and non-critical operations within a single object. The objective of this research is the exploitation of object-oriented approach to increase reliability and decrease the effects of failures based on the provision of fault-tolerant objects. Fault-tolerant objects are abstractions of high reliability components and are designed to support several fault-tolerance strategies. Furthermore, computational reflection is adopted to organize faulttolerant activities at a meta-level and to provide transparent interfacing among fault-tolerant and non-fault-tolerant objects. A fault-tolerant object can be defined as an object that represents a single interface to redundant services and whose behavior is controlled by a metaobject. Possible behaviors of fault-tolerant objects include replication or diversity and the associated metaobject adds a specific fault-tolerant behavior to its referent object without interfering in its internal structure. MOTF - Metaobjects for Fault Tolerance is a framework intended to support the development of fault-tolerant applications. This framework consists of reusable meta-level classes. Each meta-level class implements a fault-tolerant service, and metaobjects are used as monitoring agents of fault-tolerant objects. The reflective object-oriented architecture promotes reusability and hides the programming of fault-tolerant mechanisms from the application.
|
128 |
Sistema embarcado para a manutenção inteligente de atuadores elétricos / Embedded systems for intelligent maintenance of electrical actuatorsBosa, Jefferson Luiz January 2009 (has links)
O elevado custo de manutenção nos ambientes industriais motivou pesquisas de novas técnicas para melhorar as ações de reparos. Com a evolução tecnológica, principalmente da eletrônica, que proporcionou o uso de sistemas embarcados para melhorar as atividades de manutenção, estas agregaram inteligência e evoluíram para uma manutenção pró-ativa. Através de ferramentas de processamento de sinais, inteligência artificial e tolerância a falhas, surgiram novas abordagens para os sistemas de monitoramento a serviço da equipe de manutenção. Os ditos sistemas de manutenção inteligente, cuja tarefa é realizar testes em funcionamento (on-line) nos equipamentos industriais, promovem novos modelos de confiabilidade e disponibilidade. Tais sistemas são baseados nos conceitos de tolerância a falhas, e visam detectar, diagnosticar e predizer a ocorrência de falhas. Deste modo, fornece-se aos engenheiros de manutenção a informação antecipada do estado de comportamento do equipamento antes mesmo deste manifestar uma falha, reduzindo custos, aumentando a vida útil e tornando previsível o reparo. Para o desenvolvimento do sistema de manutenção inteligente objeto deste trabalho, foram estudadas técnicas de inteligência artificial (redes neurais artificiais), técnicas de projeto de sistemas embarcados e de prototipação em plataformas de hardware. No presente trabalho, a rede neural Mapas Auto-Organizáveis foi adotada como ferramenta base para detecção e diagnóstico de falhas. Esta foi prototipada numa plataforma de sistema embarcado baseada na tecnologia FPGA (Field Programmable Gate Array). Como estudo de caso, uma válvula elétrica utilizada em dutos para transporte de petróleo foi definida como aplicação alvo dos experimentos. Através de um modelo matemático, um conjunto de dados representativo do comportamento da válvula foi simulado e utilizado como entrada do sistema proposto. Estes dados visam o treinamento da rede neural e visam fornecer casos de teste para experimentação no sistema. Os experimentos executados em software validaram o uso da rede neural como técnica para detecção e diagnóstico de falhas em válvulas elétricas. Por fim, também realizou-se experimentos a fim de validar o projeto do sistema embarcado, comparando-se os resultado obtidos com este aos resultados obtidos a partir de testes em software. Os resultados revelam a escolha correta do uso da rede neural e o correto projeto do sistema embarcado para desempenhar as tarefas de detecção e diagnóstico de falhas em válvulas elétricas. / The high costs of maintenance in industrial environments have motivated research for new techniques to improve repair activities. The technological progress, especially in the electronics field, has provided for the use of embedded systems to improve repair, by adding intelligence to the system and turning the maintenance a proactive activity. Through tools like signal processing, artificial intelligence and fault-tolerance, new approaches to monitoring systems have emerged to serve the maintenance staff, leading to new models of reliability and availability. The main goal of these systems, also called intelligent maintenance systems, is to perform in-operation (on-line) test of industrial equipments. These systems are built based on fault-tolerance concepts, and used for the detection, the diagnosis and the prognosis of faults. They provide the maintenance engineers with information on the equipment behavior, prior to the occurrence of failures, reducing maintenance costs, increasing the system lifetime and making it possible to schedule repairing stops. To develop the intelligent maintenance system addressed in this dissertation, artificial intelligence (neural networks), embedded systems design and hardware prototyping techniques were studied. In this work, the neural network Self-Organizing Maps (SOM) was defined as the basic tool for the detection and the diagnosis of faults. The SOM was prototyped in an embedded system platform based on the FPGA technology (Field Programmable Gate Array). As a case study, the experiments were performed on an electric valve used in a pipe network for oil transportation. Through a mathematical model, a data set representative of the valve behavior was obtained and used as input to the proposed maintenance system. These data were used for neural network training and also provided test cases for system monitoring. The experiments were performed in software to validate the chosen neural network as the technique for the detection and diagnosis of faults in the electrical valve. Finally, experiments to validate the embedded system design were also performed, so as to compare the obtained results to those resulting from the software tests. The results show the correct choice of the neural network and the correct embedded systems design to perform the activities for the detection and diagnosis of faults in the electrical valve.
|
129 |
Avaliação dos detectores de defeitos e sua influência nas operações de consenso / On the evaluation of failure detectors and their influence on consensus operationsEstefanel, Luiz Angelo Barchet January 2001 (has links)
Este trabalho relata observações e analises sobre como os detectores de defeitos influenciam as operação de consenso. O conceito dos detectores de defeitos é essencial para as operações de consenso em sistemas distribuídos assíncronos, uma vez que esses representam uma das (micas formas de sobrepujar as limitações impostas pela chamada Impossibilidade FLP (impossibilidade de diferenciar um processo falho de um processo mais lento). Enquanto os detectores de defeitos tem seu funcionamento bem definido através de duas propriedades, completeness e accuracy, Não há nenhuma restrição quanto a forma de implementá-los. Na literatura são encontrados vários modelos de detectores de defeitos, construídos com as mais variadas estratégias, mecanismos de comunicação e de detecção. No entanto, estes modelos não costumam ser acompanhados de uma comparação com os detectores já existentes; os autores limitam-se a apresentar as inovações dos mecanismos sugeridos. De toda literatura pesquisada, apenas um trabalho procurou comparar diferentes modelos de detectores de defeitos, e através de simulações, avaliou o impacto destes detectores sobre o tempo de terminação das operações de consenso. Entretanto, aquele trabalho era bem limitado, tanto nos modelos de detectores analisados quanto nos objetivos das observações. O presente trabalho procurou estender aquele experimento, incluindo mais modelos de detectores, e transportando-os para um ambiente prático de execução. As observações realizadas não ficaram limitadas as avaliações já realizadas por aquele trabalho, de tal forma que os modelos de detectores testados foram analisados sob diversas métricas, situações e parâmetros de operação. Essas avaliações possibilitaram verificar o comportamento dos detectores frente aos padrões de falhas mais significativos, avaliar o impacto de cada detector sobre as operações de consenso e a sua interação com os elementos do ambiente de execução. Essas avaliações permitiram fazer uma comparação dos detectores, possibilitando a identificação de suas limitações, suas situações de melhor desempenho e possíveis otimizações para serem realizadas em trabalhos futuros. / This work presents our observations and analysis on the influence of the failure detectors on the consensus algorithm. Failure detectors are essential to the consensus over an asynchronous distributed system, as they represent one of the few techniques that are able to circumvent the limitation imposed by the FLP Impossibility (the impossibility to distinguish a crashed process from a slow one, in asynchronous systems). While failure detectors are well defined through two properties, completeness and accuracy, there's no rule about their implementation. Thus, in the literature there are many models of failure detectors, each one implemented using different approaches to the communication and detection strategies. However, these detectors seldom compare themselves to the existing ones; their authors usually present only the advantages and innovations of the new model. Indeed, we only found one work that tried to compare different failure detectors. Using simulation techniques, that work evaluated the impact of the failure detectors on the consensus termination time. However, that research was very limited in the number of detectors analyzed and in the evaluation goals. The present work extended that experience, including more detectors in the analysis and evaluating them in a practical environment. Also, the observations were not restricted to those from the original paper, and the detectors were analyzed with more metrics, failure patterns and operational parameters. The evaluation allowed us to identify the behavior from the detectors in face of the most significant failure patterns, their influence on the consensus operation and their interaction with the execution environment. These evaluation also enabled us to compare the detectors, identifying their limitations, their best employment situations and possible optimizations to future developments.
|
130 |
Proposta de mecanismo de checkpoint com armazenamento de contexto em memória para ambientes de computação voluntária / A Proposal for a checkpoint mechanism based on memory execution-context storage for volunteer computing environmentsDal Zotto, Rafael January 2010 (has links)
Computação voluntária é um tipo de computação distribuída na qual o proprietário do computador cede parte dos seus recursos computacionais, tais como poder de processamento ou armazenamento, para a execução de um ou mais projetos de pesquisa de seu interesse. Na área de processamento de alto desempenho, o modelo de computação voluntária desempenha um papel muito importante. Sistemas de computação voluntária de larga escala provaram ser mecanismos eficientes para resolução de problemas complexos. Em tais sistemas, que são essencialmente centralizados, centenas ou milhares de computadores são organizados em rede para processar uma série de tarefas, encaminhadas e distribuídas por um servidor central. Nesse tipo de solução, é imprescindível ter um mecanismo para a persistência dos resultados intermediários produzidos, de maneira periódica, para evitar a perda de informações em caso de falhas. Esse mecanismo, chamado de checkpoint, também é importante, em ambientes de computação voluntária, para garantir que no momento em que o proprietário do recurso retomar sua utilização, os resultados intermediários produzidos sejam armazenados para uma posterior recuperação. Sem um mecanismo de checkpoint consistente, resultados produzidos pelos nodos de computação voluntária podem ser perdidos, gerando um desperdício do poder de computação. A pesquisa contemplada nessa dissertação tem por objetivo propor um mecanismo de checkpoint baseado no armazenamento do contexto de execução, através da prevalência de objetos. Essa abordagem proporciona a participação, em sistemas de computação voluntária, de recursos com capacidades limitadas de processamento, memória e espaço em disco que possuam curtos, porém frequentes, períodos de inatividade. Dessa forma, esses recursos poderão realizar checkpoints rápidos e frequentes, produzindo resultados efetivos. / Volunteer computing is a type of distributed computing in which resource owners donate their computing resources, such as processing power and storage, to one or more projects of interest. In the high-performance computing field, the volunteer computing model has been playing an important role. On current volunteer computing systems, which are essentially center-based, hundreds or thousands of computers are organized in a network to process a series of tasks, originally distributed by a centralized server. For this kind of environment, it is essential to have a mechanism to ensure that all intermediate produced results are stored, avoiding the loss of already processed data in case of failures. This mechanism, known as checkpoint, is also important in volunteer computing environments to ensure that when the resource owner takes control of the activities, all intermediate results are saved for later recovery. Without a consistent checkpoint mechanism, already produced data could be lost, leading to waste of computing power. The research done on this dissertation aims mainly at introducing a checkpoint mechanism based on context execution storage, through object prevalence. On it, resources which usually have limited processing power, memory and storage and with small but frequent periods of inactivity could be allowed to join volunteer computing environments. This is possible because they would be able to execute fast and frequent checkpoint operations in short period of times and therefore, be able to effectively produce results during its inactivity periods.
|
Page generated in 0.0784 seconds