1 |
Fault supervision for multi robotics systemsRoman, Felipe de Fraga January 2015 (has links)
Made available in DSpace on 2015-12-09T01:03:58Z (GMT). No. of bitstreams: 1
000476572-Texto+Completo-0.pdf: 1895232 bytes, checksum: d360d64653c8369496f6a15db1b7c15f (MD5)
Previous issue date: 2015 / As robotics becomes more common and people start to use it in routine tasks, dependability becomes more and more relevant to create trustworthy solutions. A commonly used approach to provide reliability and availability is the use of multi robots instead of a single robot. However, in case of a large teams of robots (tens or more), determining the system status can be a challenge. This work presents a runtime monitoring solution for Multi Robotic Systems. It integrates Nagios IT Monitoring tool and ROS robotic middleware. One of the potential advantages of this approach is that the use of a consolidated IT infrastructure tool enables the reuse of several relevant features developed to monitor large datacenters. Another important advantage of that this solution does not require additional software at the robot side. The experimental results demonstrate that the proposed monitoring system has a small performance impact on the robot and the monitoring server can easily support hundreds or even thousands of monitored robots. / À medida que a robótica se torna mais comum e as pessoas começam a utilizá-la em suas tarefas de rotina, dependabilidade torna-se cada vez mais importante para a construção de uma solução digna de confiança. Uma abordagem comum de prover confiabilidade e disponibilidade é o uso de multi robôs ao invés de um único robô devido a sua redundância intrísica. Entretanto, no caso de um grande time de robôs (dezenas ou mais), uma tarefa aparentemente simples como a determinação do status do sistema pode se tornar um desafio. Este trabalho apresenta uma ferramenta de monitoramento de sistemas multi robôs em tempo de execução. Esta solução integra a ferramenta de monitoramento de TI Nagios com o middleware robótico ROS sem a necessidade de instalação de software adicional no robô. O uso de uma ferramenta de TI consolidada permite o reuso de diversas funcionalidades relevantes já empregadas amplamente no monitoramento de datacenters. Os resultados experimentais demonstram que a solução proposta tem um baixo impacto no desempenho do robô e o servidor de monitoramento pode facilmente monitorar centenas ou até milhares de robôs ao mesmo tempo.
|
2 |
Tolerância a falhas em elementos de processamento de MPSoCsBarreto, Francisco Favorino da Silva January 2015 (has links)
Made available in DSpace on 2015-12-15T01:05:04Z (GMT). No. of bitstreams: 1
000476711-Texto+Completo-0.pdf: 1459361 bytes, checksum: 48f64a1e41d4416a6b1e434eaf5ed4d3 (MD5)
Previous issue date: 2015 / The need of more processing capacity for embedded systems nowadays is pushing the research of MPSoCs with tens or hundreds of processors. These characteristics bring design challenges such as scalability and dependability. Such complex systems must have fault tolerant methods to ensure acceptable reliability and availability. This way, the user is not exposed to significant data losses, malfunctioning and even the total system failure. Considering this technology trend, the present work proposes a fault tolerance method with focus in fault recovery. The method uses concepts largely explored in distributed systems to solve the problem of permanent failures in the processing elements of MPSoCs. The implementation is exclusively in software, and recovers the system exposed to a permanent failure on processing elements, reallocating all tasks that were executing in the faulty element to a healthy processing element. The failed application tasks restart their executions since there is no context saving, enabling a lightweight method. The experiments are performed in the HeMPS platform, evaluating the most relevant parameters as recovery time, communication bandwidth impact, scalability and others. In the absence of faults, the proposed protocol has 21 Kbytes of memory area (20% more compared to the original kernel) and no overhead in terms of execution time. In the presence of faults, the results demonstrate total recovery times from 0. 2ms to 1ms, depending on the number of reallocated tasks (1 to 7). The biggest impact in the protocol time is related with the reallocation task phase. / A pesquisa em MPSoCs (do inglês, Multiprocessor System on Chip) tem sido motivada pela necessidade crescente de maior capacidade de processamento das aplicações de sistemas embarcados. Devido à esta tendência, os MPSoCs tornam-se cada vez mais complexos e miniaturizados. Estas características trazem associados desafios como escalabilidade e dependabilidade. O sistema que tem a necessidade de ser confiável e estar disponível em todo o seu tempo operação precisa ser tolerante a falhas a ponto de recuperar-se automaticamente. Dessa forma o usuário não será exposto a perdas de informação, execução malsucedida ou até mesmo a falha total do sistema. Este trabalho propõe um método de tolerância a falhas com foco na recuperação de falhas. O método utiliza conceitos utilizados em computação distribuída para solucionar o problema de falhas permanentes em elementos de processamento de um MPSoCs. O método proposto, implementado exclusivamente em software, recupera um sistema exposto a uma falha permanente de um elemento de processamento, realizando uma realocação das tarefas que estavam sendo executadas pelo elemento que falhou para um elemento de processamento saudável do sistema. As tarefas da aplicação que falharam devem reiniciar suas execuções do ponto de partida dado que o contexto da execução não é salvo, mantendo assim um baixo overhead no sistema, como demonstrado nos resultados obtidos. Os experimentos foram realizados na plataforma HeMPS com uma avaliação dos parâmetros mais relevantes como tempo de recuperação, impacto em banda de comunicação, escala e outros, que justificam a viabilidade e as vantagens do método proposto. Na ausência de falhas, o protocolo proposto não altera o tempo de execução, porém aumenta o tamanho de memória do kernel para 21 Kbytes, 20% de acréscimo comparado com o kernel original. Os resultados obtidos na presença de falhas mostram que o tempo total de recuperação de falhas do método é de 0,2ms a 1ms, dependendo do número de tarefas realocadas devido ao PE defeituoso. O maior impacto de tempo no protocolo se dá com a etapa de realocação de tarefas.
|
3 |
Uso de plug-in para interações multiparticipantes confiáveisPrevedello, Jeferson Librelotto January 2008 (has links)
Made available in DSpace on 2013-08-07T18:42:26Z (GMT). No. of bitstreams: 1
000404266-Texto+Completo-0.pdf: 1735778 bytes, checksum: d2509663d82001555e81c857677ae9f9 (MD5)
Previous issue date: 2008 / Current software systems are complex. This complexity is augmented due to reliability, availability and security needs. Dependable systems are systems that work acording to their specification despite the existence of faults. In order to implement such systems, it is important to use mechanisms that cope with problems that can happen during their execution. Diverse types of defects and non-expected situations can happen in an application executing in a distributed manner. To cope with these situations or defects one should use techniques to avoid or reduce there effects. Fault tolerance is one of such techniques. Its main goal is to offer alternatives to a system to keep working according to its specification despite residual faults in the system. The complexity to achieve dependability is even greater in systems in which several activites can be happening at the same time (parallel systems). Several mechanisms that are used to develop parallel applications are described in the literature. Usually, these mechanisms are called multiparty interactions. These multiparty interactions are composed by several parties (objects or processes) that somehow come together to produce a temporary combined state and execute a joint activity. When the activity is finished they continue their own execution. However, several times the interacton among the participants can lead the systems to a situation in which all the execution has to be redone (the domino effect). To avoid such situation and to help in the handling of concurrent exceptions when several participants are working together it is possible to use, for example, the Dependable Multiparty Interactions (DMIs). This mechanism has been used in the development of several applications in different areas. Nevertheless we noticed that in all applications, DMIs were applied in a ad hoc situation, that is, they were hard coded manually. Such situation can make the development phase quite tiresome and can also be prone to the introduction of faults in the final system. This work presents a proposal of an environment for the development of dependable applications that use the DMI mechanism. This environment uses the Eclipse Plug-in Development Environment (PDE). We include to the Eclipse PDE a new plug-in whose main goal is to automatize the development of applications that use DMIs as the means for fault tolerance. This proposal intends to improve developers productivity, to reduce the number of residual faults in the code, and also to easy the understanding of DMIs components and their inter-relations. / A complexidade de sistemas de software tem aumentado devido aos novos requisitos impostos pelas aplicações modernas, tais como confiabilidade, segurança e disponibilidade. Sistemas confiáveis são sistemas que mantém seu funcionamento de acordo com sua especificação mesmo na presença de situações excepcionais. Na tentativa de implementar sistemas mais robustos e confiáveis, torna-se imprescindível a utilização de mecanismos capazes de lidar com problemas que potencialmente possam afetar seu perfeito funcionamento. Variados tipos de defeitos e situações inesperadas podem ocorrer em aplicações que rodam sobre sistemas distribuídos. Para que seja atingido um grau satisfatório de utilização destes sistemas é extremamente importante que sejam utilizadas técnicas objetivando coibir ou minimizar a existência de falhas. Tolerância a Falhas é uma técnica que tem por objetivo oferecer alternativas que permitam ao sistema manter o funcionamento conforme sua especificação, mesmo na ocorrência de situações indesejadas. A literatura descreve diversos tipos de mecanismos que auxiliam no desenvolvimento de aplicações que possuem diversas atividades acontecendo simultaneamente. Em geral, um mecanismo composto por diversos participantes (objetos ou processos) executando um conjunto de atividades paralelamente é chamado de interação multiparticipante. Em uma interação multiparticipante diversos participantes de alguma maneira "se unem" para produzir um estado combinado, intermediário e temporário e utilizam este estado para executar alguma atividade. Após a atividade executada a interação é desfeita e então cada participante prossegue sua execução. Entretanto, diversas vezes a interação entre os participantes pode levar a situações onde toda a execução tem que ser refeita (efeito dominó). Para evitar este tipo de situação e para auxiliar no tratamento de exceções concorrentes que podem ocorrer nos diversos participantes de uma interação pode-se utilizar, por exemplo, o mecanismo de interações multiparticipantes confiáveis (Dependable Multiparty Interactions - DMIs). Este mecanismo tem sido utilizado para o desenvolvimento de aplicações em diversas áreas. Todavia, percebemos que todos os estudos de casos desenvolvidos utilizando DMIs foram implementados manualmente, ou seja, sem a utilização de nenhuma ferramenta de apoio. Tal situação além de acarretar um elevado tempo de desenvolvimento também facilita à inclusão de falhas no sistema. Nesta dissertação apresentamos uma proposta de desenvolvimento de aplicações confiáveis que utilizam o mecanismo de DMIs. Utilizando o IDE Eclipse desenvolvemos uma feramenta capaz de automatizar o processo de criação de aplicações que utilizam DMIs para tolerar falhas, proporcionando aos desenvolvedores ganho de produtividade, redução da possibilidade de inserção de falhas no código, assim como facilitar a compreensão dos elementos que compõem uma DMI e a maneira como os mesmos estão relacionados.
|
4 |
Tolerância a falhas com um modelo de agentesAntunes, Juliana Fonseca January 2009 (has links)
Made available in DSpace on 2013-08-07T18:43:20Z (GMT). No. of bitstreams: 1
000430145-Texto+Completo-0.pdf: 1689253 bytes, checksum: 95ce19fe718b20a4573cd392edd2c72a (MD5)
Previous issue date: 2009 / Nowadays, the computers have been used in most varied areas of the human knowledge and are indispensable in many essential activities in the society. Specifically in the context of the industrial applications the computational system must be dependable and fault-tolerance, that is, it must allow that the system remains keep on working when the faults occur. Based on this idea, this study aimed at describing a model for faults-tolerance agents. In order to achieve this objective, a study of essentials architecture concepts of deliberative agents based on mental states, described by beliefs, desires and intentions (Belief, Desire and lntention model) was carried out, these can be implemented using the agent-oriented programming language AgentSpeak and the mechanism of faults tolerance of dependable multiparty interaction (DMI). By means of these concepts, a system composed of various elements of interactive computer was implemented, these elements are called agents, because they interact with other agents, forming a multi-agent system that is implemented using the interpreter Jason of AgentSpeak language. This interpreter communicates with the simulator of FZl Production Cell, scheduling the cell production work through the beliefs and desires, re scheduling the task if occurs changes in the system state. The implementation of fault-tolerance agent allows the system executes concurrently actions even in the presence of faults because the mechanism DMI generates a multiparty interaction among the varied devices that permit the handling of concurrent faults. The multiparty interaction is created by the agents in conformity to perceptions acquired in the simulator of the cell production that is generating actions which are sent to the simulator and consequently are modifying the state of the devices. / Anualmente, os computadores sâo utilizados nas mais diversas áreas do conhecimento humano e são imprescindíveis em várias atividades fundamentais na sociedade. Particularmente em aplicações industriais, o sistema computacional têm que ser confiável e tolerante à falhas, ou seja permitir que o sistema permaneça operando mesmo na presença de falhas. Desta forma, esta dissertação tem como objetivo descrever um modelo de agentes tolerantes a falhas. A fim de atingir tal objetivo foi feito um estudo de conceitos fundamentais de arquiteturas de agentes deliberativos baseados em estados mentais, esses descritos por crenças, desejos e intenções (modeio Belief Desire Intention), que podem ser implemenados utilizando a linguagem de programação orientada a agentes AgentSpeak e o mecanismo de tolerância a falhas de interação multiparticipante confiável (Dependable Multiparty Interaction). Através destes conceitos é implementado um sistema composto por vários elementos computacionais interativos, denominados agentes, que interagem com outros agentes, formando um sistema multiagentes que são implementadas utilìzando o interpretador Jason de linguagem AgentSpeak. Esse interpretador se comunica com o simulador da Célula de Produção FZI, escalonando o trabalho da célula de produção através das crenças e desejos, re-escalonando o trabalho se ocorrer alguma mudança do estado do sistema. A implementação de um agente tolerante a falhas permite que o sistema execute ações concorrentemente mesmo na presença de falhas, pois o mecanismo DMI gera uma interação multiparticipante entre diversos dispositivos que permite o tratamento de falhas concorrentes. A interação multiparticipante é criada pelos agentes conforme as percepções adquiridas no simulador da célula de produção, gerando ações que são enviadas ao simulador, conseqüentemente, alterando o estado dos dispositivos.
|
5 |
Técnicas de tolerância a falhas aplicadas a redes intra-chipFochi, Vinicius Morais January 2015 (has links)
Made available in DSpace on 2015-06-17T02:04:12Z (GMT). No. of bitstreams: 1
000470587-Texto+Completo-0.pdf: 6163395 bytes, checksum: b88f0389d39c7cc7f197b32966e6fe29 (MD5)
Previous issue date: 2015 / The continuous development of the transistor technology has enabled hundreds of processors to work interconnected by a NoC (network-on-chip). Nanotechnology has enabled the development of complex systems, however, fault vulnerability also increased. The literature presents partial solutions for fault tolerance issues, targeting parts of the system. An important gap in the literature is an integrated method from the router-level fault detection to the correct execution of applications in the MPSoC. The main goal of this dissertation is to present a fault-tolerant method from the physical layer to the transport layer. The MPSoC is modeled at the RTL level using VHDL. This work proposes fault tolerance techniques applied to intra-chip networks. Related work on fault tolerance at a systemic level, router level, link level and routing algorithms are studied. This work presents the research and development of two techniques: (i) protocols to enable the correct communication between task with partial degradation of the link enabling the router to operate even with faulted physical channels; (ii) test recovery method and of the router. This Dissertation considers permanent and transient faults. The HeMPS platform is the reference platform to evaluate the proposed techniques, together with a fault injection campaign where up to five random failures were injected simultaneously at each simulated scenario. Two applications were used to evaluate the proposed techniques, MPEG encoder and a synthetic application, resulting in 2,000 simulated scenarios. The results demonstrated the effectiveness of the proposal, with most scenarios running correctly with routers operating in degraded mode, with an impact on the execution time below 1%, with a router area overhead around 30%. / O contínuo desenvolvimento na tecnologia de transistores possibilitou que centenas de processadores trabalhassem interconectados por NoCs (network-on-chip). A nanotecnologia permitiu o desenvolvimento de complexos sistemas, porém a vulnerabilidade a falhas também aumentou. A literatura apresenta soluções parciais para o tema de tolerância a falhas, tendo como alvo partes do sistema. Uma importante lacuna na literatura é um método integrado para detecção de falhas do nível do roteador até a correta execução das aplicações em MPSoC reais. O objetivo principal desta dissertação é apresentar um método com tolerância a falhas da camada física até a camada de transporte. O MPSoC é modelado em nível de RTL, usando VHDL.O presente trabalho propõe técnicas de tolerância a falhas aplicadas a redes intrachip. São estudadas técnicas de tolerância a falhas em nível sistêmico, nível do roteador, nível de enlace e algoritmos de roteamento tolerante a falhas. Este trabalho apresenta a pesquisa e o desenvolvimento de duas técnicas: (i) protocolos para permitir a correta transmissão dos dados com degradação parcial do enlace, de forma a permitir que o roteador opere mesmo com canais físicos falhos; (ii) método de teste e recuperação do roteador. O modelo de falhas utilizado nesta Dissertação é de falhas permanentes e transientes. Para avaliar as técnicas propostas, foi utilizada a plataforma HeMPS, juntamente com uma campanha de injeção de falhas onde até cinco falhas aleatórias foram injetadas nos canais de comunicação entre os roteadores simultaneamente em cada cenário. Foram utilizadas duas aplicações para avaliar as técnicas: codificador MPEG e uma aplicação sintética, com um total de 2,000 cenários simulados. Os resultados demonstram a efetividade da proposta, com a maioria dos cenários executando corretamente com roteadores operando em modo degradado, com um impacto no tempo de execução abaixo de 1% e um aumente do área de 30% no roteador.
|
6 |
Integration of a multi-agent system into a robotic framework: a case study of a cooperative fault diagnosis applicationMorais, Márcio Godoy January 2015 (has links)
Made available in DSpace on 2015-11-20T01:15:11Z (GMT). No. of bitstreams: 1
000476244-Texto+Completo-0.pdf: 569 bytes, checksum: 79838a20b7c104bffe3bdf660f64ba28 (MD5)
Previous issue date: 2015 / Programming multi-robot autonomous systems can be extremely complex without appropriate software development techniques to abstract hardware faults, as well as can be hard to deal with the complexity of software required the coordinated autonomous behavior. Real environments are dynamic and unexpected events may occur, leading a robot to unforeseen situations or even fault situations. This work presents a method of integration of Jason multi-agent system into ROS robotic framework. Through this integration, can be easier to describe complex missions by using Jason agent language and its resources, as well as abstracting hardware details from the decision-taken process. Moreover, software modules related to the hardware control and modules which have a high CPU cost are separated from the planning and decision-taken process in software layers, allowing plan and software modules reuse in different missions and robots. Through this integration, Jason resources such as plans reconsideration and contingency plans can be used in a way where they can enable the robot to reconsider its actions and strategies in order to reach its goals or to take actions to deal with unforeseen situations due the environment unpredictability or even some robot hardware fault. The presented integration method also allows the cooperation between multiple robots through a standardized language of communication between agents. The proposed method is validated by a case study applied in real robots where a robot can detect a fault in its hardware and diagnose it through the help of another robot, in a highly abstract method of cooperative diagnosis. / A programação de sistemas autônomos multi-robô pode ser extremamente complexa sem o uso de técnicas de desenvolvimento de software apropriadas à abstração de características de hardware, assim como pode ser difícil lidar com a complexidade de software necessária ao comportamento autônomo coordenado. Ambientes reais são dinâmicos e eventos inesperados podem ocorrer, levando um robô a situações não previstas ou até mesmo situações de falha. Este trabalho apresenta um método de integração do sistema multi-agente Jason com o framework robótico ROS. Através desta integração, missões complexas podem ser mais facilmete descritas tendo em vista o uso da linguagem de agentes e seus recursos, bem como a abstração de detalhes de hardware do processo de tomada de decisão. Além disso, módulos de software vinculados ao controle do hardware e módulos com alto consumo de recurso de CPU são separados das rotinas de planejamento e tomada de decisão através de camadas de software, possibilitando o reuso de planos e módulos de software em diferentes missões e robôs. Através desta integração, recursos do sistema multi-agente, tais como a reconsideração de planos e planos de contingência, podem ser utilizados de forma a permitir que o robô reavalie suas ações e estratégias a fim de atingir seus objetivos ou tome ações de forma a lidar com situações imprevistas diante da dinamicidade do ambiente ou quando falhas são detectadas no hardware do robô. A integração permite ainda a cooperação entre múltiplos robôs através de uma linguagem de comunicação padronizada entre agentes. O método proposto é validado através de um estudo de caso aplicado a robôs reais onde um robô pode detectar falhas em seu hardware e diagnosticá-las através da ajuda de outro robô, em um método cooperativo de diagnóstico altamente abstrato.
|
7 |
JFAULT: tolerância a falhas transparente utilizando reflexão e compilação dinâmica no modelo de meta-níveisScherer, Marcio Gustavo Gusmão January 2015 (has links)
Made available in DSpace on 2015-05-05T02:01:38Z (GMT). No. of bitstreams: 1
000467903-Texto+Completo-0.pdf: 2071415 bytes, checksum: 7b9c07b7d2604d46d4b4ea8d6c7bbfac (MD5)
Previous issue date: 2015 / Fault tolerance has become an important mean to achieve high availability in computational systems. However, building fault tolerant architectures is not a trivial task. Reflection in Meta-level architectures has been used for years as a mean for implementation of nonfunctional requirements. In this way it is possible to have a clear separation of its implementation from the implementation of the business logic itself (functional requirements) in layers or levels. These levels have become known, respectively, as base-level and metalevel and are regularly used in nowadays systems’ architecture since they bring several benefits such as increased reuse and reduced complexity, furthermore, they provide better responsibilities separation among systems’ components. On the other hand, if the meta-level is a useful architecture artifice there is still the need to build the meta-level components that intend to handle fault tolerance in application’s services, the components need to be implemented and integrated to the system’s architecture, which involves some development effort and complexity. This work presents a proposal to build, automatically and in runtime, the meta-level components for fault tolerance handling in application’s services. More precisely, it intends to propose a framework – named JFault – which using reflection and dynamic compilation will leverage those requirements transparently and with minor changes in the system. The framework is implemented in Java, language that supports both reflection and dynamic compilation, but could be built in any programming language that supports such APIs. / Tolerância a falhas tornou-se um importante meio para se garantir alta disponibilidade de sistemas computacionais. No entanto, a construção de arquiteturas tolerantes a falhas não é uma tarefa trivial. Reflexão em arquiteturas de meta-nível tem sido usada há anos como um meio para implementação de requisitos não-funcionais. Dessa forma é possível ter uma separação clara e em níveis entre a implementação da lógica de negócios do sistema (requisitos funcionais) e as relacionadas ao uso da aplicação em termos de desempenho, usabilidade, segurança, disponibilidade, etc (não funcionais). Estes níveis se tornaram conhecidos na literatura, respectivamente, como nível-base e meta-nível e são frequentemente utilizados em sistemas hoje em dia visto que trazem vários benefícios como aumento de reuso de código e redução de acoplamento entre os elementos da arquitetura, além de trazer uma melhor divisão de responsabilidades entre os componentes do sistema. Por outro lado, se as arquiteturas de meta-nível se tornaram um artifício útil, existe a necessidade de se implementar os componentes de meta-nível responsáveis pela criação de serviços tolerantes a falhas, o que envolve esforço de desenvolvimento, adaptações no sistema e geralmente adiciona certa complexidade à arquitetura. Este trabalho apresenta uma proposta de construir, de forma automática e em tempo de execução, os componentes de meta-nível para tolerância a falhas em serviços de aplicações. Mais precisamente, pretende propor um framework – chamado JFault - que usando reflexão e compilação dinâmica se propõe a preencher esse requisito de forma transparente e com pequenas alterações no sistema. O framework é implementado em Java, linguagem que suporta tanto reflexão como compilação dinâmica, mas poderia ser construído em qualquer linguagem de programação que suporta tais APIs.
|
8 |
Implementação e avaliação de métodos para confiabilidade de redes intra-chipSilva, Alzemiro Henrique Lucas da January 2010 (has links)
Made available in DSpace on 2013-08-07T18:42:44Z (GMT). No. of bitstreams: 1
000430304-Texto+Completo-0.pdf: 2164502 bytes, checksum: db47a771a28123bb6c1aa5df3d495e3b (MD5)
Previous issue date: 2010 / The innovations on integrated circuit fabrics are continuously reducing components size, which increases the logic density of systems‐on‐chip (SoC), but also affect the reliability of these components. Chip‐level global buses are especially subject to crosstalk faults, which can lead to increased delay and glitches. This work evaluates different fault tolerant approaches for Networkson‐ chip (NoCs) such that the network can maintain the original network performance even in the presence of faults. Four different approaches are presented and evaluated in terms of area overhead, packet latency, power consumption, and residual fault coverage. Results demonstrate that the use of CRC coding at each link is preferred when minimal area and power overhead are the main goals. However, each one of the methods presented here has its own advantages and can be applied depending on the target application. / As inovações na fabricação de circuitos integrados têm reduzido continuamente o tamanho dos componentes, permitindo um aumento na densidade lógica de sistemas eletrônicos complexos, denominados SoCs (Systems‐on‐a‐Chip), mas afetando também a confiabilidade destes componentes. Barramentos globais utilizados para interconexão de componentes em um chip estão cada vez mais sujeitos aos efeitos de crosstalk, que podem causar atrasos e picos nos sinais. Este trabalho apresenta e avalia diferentes técnicas para tolerância a falhas em redes intra‐chip, nos quais a rede é capaz de manter o mesmo desempenho da rede original mesmo na ocorrência de falhas. Quatro técnicas são apresentadas e avaliadas em termos de consumo adicional de área, latência dos pacotes, consumo de potência e análise de defeitos residuais. Os resultados demonstram que o uso de codificação CRC nos enlaces é vantajoso quando o mínimo acréscimo de área e consumo de potência é o principal objetivo. Entretanto, cada um dos métodos apresentados neste trabalho tem as suas próprias vantagens e podem ser utilizados dependendo da aplicação alvo.
|
9 |
Desenvolvimento de um I-IP para o monitoramento da atividade do sistema operacional em processadores multinúcleosOliveira, Chrístofer Caetano de January 2014 (has links)
Made available in DSpace on 2014-07-18T02:01:27Z (GMT). No. of bitstreams: 1
000459325-Texto+Completo-0.pdf: 2898170 bytes, checksum: 16df18a4b13e444ddaa394a95eaebeae (MD5)
Previous issue date: 2014 / The use of Real-Time Operating System (RTOS) became an attractive solution to design safety-critical real-time embedded systems. At the same time, we enthusiasti-cally observe the widespread use of multicore processors in an endless list of our daily applications. It is also a common agreement the increasing market pressure to reduce power consumption under which these embedded, portable systems have to operate. As the major consequence, these systems are becoming more and more sensitive to transi-ent faults originated from a large spectrum of noisy sources such as conducted and radi-ated Electromagnetic Interference (EMI) and ionizing radiation (single-event effect: SEE and total-ionizing dose: TID). Therefore, the system’s reliability degrades. In this work, we discuss the development and validation of an Infrastructure-Intellectual Prop-erty (I-IP) able to monitor the RTOS’ activity in a multicore processor system-on-chip. The final goal is to detect faults that corrupt the task scheduling process in embedded systems based on preemptive RTOS. Examples of such faults could be those that pre-vent the processor from attending an interruption of higher priority, tasks that are strict-ly allocated to run on a given core, but are running on another one, or even the execu-tion of low-priority tasks that are passed over high-priority ones in the ready-task list maintained on-the-fly by the RTOS. This I-IP, namely RTOS-Watchdog, was described in VHDL and is connected to each of the processor CPU-Addresses busses. The RTOS–Watchdog has a parameterizable interface to easily fit any processor bus. A case-study based on a multicore processor running different test programs under the control of a typical preemptive RTOS was implemented. The case-study was prototyped in a Xilinx Virtex4 FPGA mounted on a dedicated platform (board plus con-trol software) fully developed at the Computing Signals & Systems’ Group (SiSC) [1] of the Catholic University (PUCRS). For validation, the whole system was exposed to combined effects of EMI and TID. Such experiments were performed in several steps, part of them carried out at PUCRS, Brazil, and part at the Instituto Nacional de Tecnología Industrial (INTI) and Centro Atómico, both located in the city of Buenos Aires, Argentina. The obtained results demonstrate that the proposed approach provides higher fault coverage and reduced fault latency when compared to the native fault detec-tion mechanisms embedded in the kernel of the RTOS. / O uso de sistemas operacionais de tempo real (Real-Time Operating Systems, RTOS), tornou-se uma solução atrativa para o projeto de sistemas embarcados críticos de tempo real. Ao mesmo tempo, observamos com entusiasmo o amplo uso de proces-sadores multicores em uma lista interminável de nossas aplicações diárias. É também um acordo comum a crescente pressão do mercado para reduzir o consumo de energia em que estes sistemas portáteis embarcados necessitam para operar. A principal conse-quência é que estes sistemas estão se tornando cada vez mais suscetíveis à falhas transi-entes originadas por um amplo espectro de fontes de ruídos como Interferência Eletro-magnética (Electromagnetic Interference, EMI) conduzida e irradiada e radiação ioni-zante (single-event transient: SET e total-ionizing dose: TID). Portanto, a confiabilidade destes sistemas é degradada. Nesta dissertação, discute-se o desenvolvimento e valida-ção de um I-IP (Infrastructure-Intellectual Property) capaz de monitorar a atividade do RTOS em um processador multicore. O objetivo final é detectar falhas que corrompem o processo de escalonamento de tarefas em sistema sistemas embarcados baseados em RTOS preemptivos. Como exemplo destas falhas podem ser aquelas que impedem o processador de atender uma interrupção de alta prioridade, tarefas alocadas para serem executadas por um determinado núcleo, mas que são executadas por outro núcleo, ou até a execução de tarefas de baixa prioridade enquanto houver tarefas de alta prioridade na lista de tarefas prontas atualizada dinamicamente pelo RTOS. Este I-IP, chamado RTOS–Watchdog, foi descrito em VHDL e é conectado ao Barramento de Endereços da CPU em cada núcleo do processador. O RTOS–Watchdog possui uma interface parame-trizável de modo a facilitar a adaptação a qualquer processador. Um estudo de caso baseado em um processador multicore executando diferen-tes benchmarks sob o controle de um RTOS preemptivo típico foi desenvolvido. O es-tudo de caso foi prototipado em uma FPGA Xilinx Virtex4 montada em uma plataforma dedicada (placa mais software de controle) totalmente desenvolvida no Grupo Compu-ting Signals & Systems (SiSC) [1] da Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS). Para a validação, todo o sistema foi exposto aos efeitos combinados de EMI e TID. Estes experimentos foram realizados em diversos passos, parte deles foram realizados na PUCRS, Brasil e parte no Instituto Nacional de Tecnologia Industrial (INTI) e Centro Atómico, ambos na cidade de Buenos Aires, Argentina. Os resultados demonstram que a abordagem proposta fornece uma maior cobertura de falhas e latência de falhas reduzida quando comparados aos mecanismos de detecção de falhas nativos embarcados no kernel do RTOS.
|
10 |
Plataforma para injeção de falhas em System-on-Chip (SOC)Dias, Marcelo Mallmann January 2011 (has links)
Made available in DSpace on 2013-08-07T18:53:18Z (GMT). No. of bitstreams: 1
000434259-Texto+Completo-0.pdf: 861644 bytes, checksum: a1d7d01d86f05de127324b3bd5e5c832 (MD5)
Previous issue date: 2011 / The increasing number of embedded computer systems being used in several segments of our society, from simple consumer products to safety critical applications, has intensified the study and development of new test methodologies and fault tolerance techniques capable of assuring the high reliability expected from those systems. Fault injection represents an extremely efficient way of the test and the fault-tolerant techniques often adopted in complex integrated circuits, such as Systems-on-Chip (SoCs). This work proposes a new fault injection platform that combines concepts related to hardware-based and simulation-based fault injection techniques. This new platform is able to inject different kinds of faults into the busses present in several functional components in a VHDL described SoC. The use of saboteurs controlled by a fault injection manager instantiated in the same FPGA as the target system provides high controllability coupled with low intrusiveness and a wide range of possible fault models. Moreover, it is worth noting that the proposed platform represents an easy solution with respect to the configuration and automation of fault injection campaigns. / O aumento do número de sistemas computacionais embarcados sendo utilizados em diversos segmentos de nossa sociedade, de simples bens de consumo até aplicações críticas, intensificou o desenvolvimento de novas metodologias de teste e técnicas de tolerância a falhas capazes de garantir o grau de confiabilidade esperado os mesmos. A injeção de falhas representa uma solução extremamente eficaz de avaliar metodologias de teste e técnicas de tolerância a falhas presentes em circuitos integrados complexos, tais como Systems-on-Chip (SoCs). Este trabalho propõe uma nova plataforma de injeção de falhas que combina conceitos relacionados a técnicas de injeção de falhas baseadas em hardware e em simulação. Esta nova plataforma proposta é capaz de injetar diferentes tipos de falhas nos barramentos presentes em diversos componentes funcionais de um SoC descrito em VHDL. O uso de sabotadores controlados por um gerenciador de injeção de falhas instanciado no mesmo FPGA que o sistema a ser avaliado é capaz de prover uma alta controlabilidade aliada a baixa intrusividade e uma grande gama de modelos de falhas. Além disso, é importante salientar que a plataforma proposta representa uma solução fácil no que diz respeito à configuração e automação de experimentos de injeção de falhas.
|
Page generated in 0.0372 seconds