• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 881
  • 128
  • 7
  • 6
  • 6
  • 6
  • 6
  • 2
  • Tagged with
  • 1020
  • 364
  • 295
  • 264
  • 243
  • 170
  • 161
  • 117
  • 113
  • 111
  • 108
  • 107
  • 98
  • 96
  • 94
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
341

Integration of a multi-agent system into a robotic framework : a case study of a cooperative fault diagnosis application

Morais, M?rcio Godoy 11 March 2015 (has links)
Submitted by Setor de Tratamento da Informa??o - BC/PUCRS (tede2@pucrs.br) on 2015-11-19T16:26:49Z No. of bitstreams: 1 476244 - Texto Completo.pdf: 2378601 bytes, checksum: 4c28a7ac36972e53ed94255e9583c2b2 (MD5) / Made available in DSpace on 2015-11-19T16:26:50Z (GMT). No. of bitstreams: 1 476244 - Texto Completo.pdf: 2378601 bytes, checksum: 4c28a7ac36972e53ed94255e9583c2b2 (MD5) Previous issue date: 2015-03-11 / 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.
342

Fault supervision for multi robotics systems

Roman, Felipe de Fraga 25 March 2015 (has links)
Submitted by Setor de Tratamento da Informa??o - BC/PUCRS (tede2@pucrs.br) on 2015-12-08T16:42:31Z No. of bitstreams: 1 476572 - Texto Completo.pdf: 1895232 bytes, checksum: d360d64653c8369496f6a15db1b7c15f (MD5) / Made available in DSpace on 2015-12-08T16:42:31Z (GMT). No. of bitstreams: 1 476572 - Texto Completo.pdf: 1895232 bytes, checksum: d360d64653c8369496f6a15db1b7c15f (MD5) Previous issue date: 2015-03-25 / 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.
343

Toler?ncia a falhas em elementos de processamento de MPSoCs

Barreto, Francisco Favorino da Silva 13 March 2015 (has links)
Submitted by Setor de Tratamento da Informa??o - BC/PUCRS (tede2@pucrs.br) on 2015-12-14T20:02:04Z No. of bitstreams: 1 476711 - Texto Completo.pdf: 1459361 bytes, checksum: 48f64a1e41d4416a6b1e434eaf5ed4d3 (MD5) / Made available in DSpace on 2015-12-14T20:02:04Z (GMT). No. of bitstreams: 1 476711 - Texto Completo.pdf: 1459361 bytes, checksum: 48f64a1e41d4416a6b1e434eaf5ed4d3 (MD5) Previous issue date: 2015-03-13 / 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.
344

Scalable state machine replication / Replicação escalável de máquina de estados

Bezerra, Carlos Eduardo Benevides January 2016 (has links)
Redundância provê tolerância a falhas. Um serviço pode ser executado em múltiplos servidores que se replicam uns aos outros, de maneira a prover disponibilidade do serviço em caso de falhas. Uma maneira de implementar um tal serviço replicado é através de técnicas como replicação de máquina de estados (SMR). SMR provê tolerância a falhas, ao mesmo tempo que é linearizável, isto é, clientes não são capazes de distinguir o comportamento do sistema replicado daquele de um sistema não replicado. No entanto, ter um sistema completamente replicado e linearizável vem com um custo, que é escalabilidade – por escalabilidade, queremos dizer que adicionar servidores ao sistema aumenta a sua vazão, pelo menos para algumas cargas de trabalho. Mesmo com uma configuração cuidadosa e usando otimizações que evitam que os servidores executem ações redundantes desnecessárias, em um determinado ponto a vazão de um sistema replicado com SMR não pode ser mais aumentada acrescentando-se servidores; na verdade, adicionar réplicas pode até degradar a sua performance. Uma maneira de conseguir escalabilidade é particionar o serviço e então permitir que partições trabalhem independentemente. Por outro lado, ter um sistema particionado, porém linearizável e com razoavelmente boa performance não é trivial, e esse é o tópico de pesquisa tratado aqui. Para permitir que sistemas escalem, ao mesmo tempo que se garante linearizabilidade, nós propomos as seguinte ideias: (i) Replicação Escalável de Máquina de Estados (SSMR), (ii) Multicast Atômico Otimista (Opt-amcast) e (iii) S-SMR Rápido (Fast-SSMR). S-SMR é um modelo de execução que permite que a vazão do sistema escale de maneira linear com o número de servidores, sem sacrificar consistência. Para reduzir o tempo de resposta dos comandos, nós definimos o conceito de Opt-amcast, que permite que mensagens sejam entregues duas vezes: uma entrega garante ordem atômica (entrega atômica), enquanto a outra é mais rápida, mas nem sempre garante ordem atômica (entrega otimista). A implementação de Opt-amcast que nós propomos nessa tese se chama Ridge, um protocolo que combina baixa latência com alta vazão. Fast-SSMR é uma extensão do S-SMR que utiliza a entrega otimista do Opt-amcast: enquanto um comando é ordenado de maneira atômica, pode-se fazer alguma pré-computação baseado na entrega otimista, reduzindo assim tempo de resposta. / Redundancy provides fault-tolerance. A service can run on multiple servers that replicate each other, in order to provide service availability even in the case of crashes. A way to implement such a replicated service is by using techniques like state machine replication (SMR). SMR provides fault tolerance, while being linearizable, that is, clients cannot distinguish the behaviour of the replicated system to that of a single-site, unreplicated one. However, having a fully replicated, linearizable system comes at a cost, namely, scalability—by scalability we mean that adding servers will always increase the maximum system throughput, at least for some workloads. Even with a careful setup and using optimizations that avoid unnecessary redundant actions to be taken by servers, at some point the throughput of a system replicated with SMR cannot be increased by additional servers; in fact, adding replicas may even degrade performance. A way to achieve scalability is by partitioning the service state and then allowing partitions to work independently. Having a partitioned, yet linearizable and reasonably performant service is not trivial, and this is the topic of research addressed here. To allow systems to scale, while at the same time ensuring linearizability, we propose and implement the following ideas: (i) Scalable State Machine Replication (S-SMR), (ii) Optimistic Atomic Multicast (Opt-amcast), and (iii) Fast S-SMR (Fast-SSMR). S-SMR is an execution model that allows the throughput of the system to scale linearly with the number of servers without sacrificing consistency. To provide faster responses for commands, we developed Opt-amcast, which allows messages to be delivered twice: one delivery guarantees atomic order (conservative delivery), while the other is fast, but not always guarantees atomic order (optimistic delivery). The implementation of Opt-amcast that we propose is called Ridge, a protocol that combines low latency with high throughput. Fast-SSMR is an extension of S-SMR that uses the optimistic delivery of Opt-amcast: while a command is atomically ordered, some precomputation can be done based on its fast, optimistically ordered delivery, improving response time.
345

Investigating techniques to reduce soft error rate under single-event-induced charge sharing / Investigando técnicas para reduzir a taxa de erro de soft sob evento único induzido de carga compartilhada

Almeida, Antonio Felipe Costa de January 2014 (has links)
The interaction of radiation with integrated circuits can provoke transient faults due to the deposit of charge in sensitive nodes of transistors. Because of the decrease the size in the process technology, charge sharing between transistors placed close to each other has been more and more observed. This phenomenon can lead to multiple transient faults. Therefore, it is important to analyze the effect of multiple transient faults in integrated circuits and investigate mitigation techniques able to cope with multiple faults. This work investigates the effect known as single-event-induced charge sharing in integrated circuits. Two main techniques are analyzed to cope with this effect. First, a placement constraint methodology is proposed. This technique uses placement constraints in standard cell based circuits. The objective is to achieve a layout for which the Soft-Error Rate (SER) due charge shared at adjacent cell is reduced. A set of fault injection was performed and the results show that the SER can be minimized due to single-event-induced charge sharing in according to the layout structure. Results show that by using placement constraint, it is possible to reduce the error rate from 12.85% to 10.63% due double faults. Second, Triple Modular Redundancy (TMR) schemes with different levels of granularities limited by majority voters are analyzed under multiple faults. The TMR versions are implemented using a standard design flow based on a traditional commercial standard cell library. An extensive fault injection campaign is then performed in order to verify the softerror rate due to single-event-induced charge sharing in multiple nodes. Results show that the proposed methodology becomes crucial to find the best trade-off in area, performance and soft-error rate when TMR designs are considered under multiple upsets. Results have been evaluated in a case-study circuit Advanced Encryption Standard (AES), synthesized to 90nm Application Specific Integrated Circuit (ASIC) library, and they show that combining the two techniques, the error rate resulted from multiple faults can be minimized or masked. By using TMR with different granularities and placement constraint methodology, it is possible to reduce the error rate from 11.06% to 0.00% for double faults. A detailed study of triple, four and five multiple faults combining both techniques are also described. We also tested the TMR with different granularities in SRAM-based FPGA platform. Results show that the versions with a fine grain scheme (FGTMR) were more effectiveness in masking multiple faults, similarly to results observed in the ASICs. In summary, the main contribution of this master thesis is the investigation of charge sharing effects in ASICs and the use of a combination of techniques based on TMR redundancy and placement to improve the tolerance under multiple faults.
346

The effects of the compiler optimizations in embedded processors reliability

Lins, Filipe Maciel January 2017 (has links)
O recente avanço tecnológico dos processadores embarcados aumentou a complexidade dos compiladores e o uso de recursos heterogêneos, como Arranjo de Portas Programáveis em Campo (Field Programmable Gate Array - FPGA) e Unidade de Processamento Gráfico (Graphics Processing Unit - GPU), integrado aos processadores. Além disso, aumentou-se o uso de componentes de prateleira (Commercial off-the-shelf - COTS) em aplicações críticas, ao invés de chips tolerantes a radiação, pois os COTS podem ser mais baratos, flexíveis, terem uma rápida colocação no mercado e um menor consumo de energia. No entanto, mesmo com essas vantagens, os COTS são suscetíveis a falha sendo necessário garantir uma alta confiabilidade nos sistemas utilizados. Assim como, no caso de aplicações em tempo real, também se precisa respeitar os requisitos determinísticos. Como caso de estudo, este trabalho utiliza a Zynq que é um dispositivo COTS do tipo Sistema em Chip Totalmente Programável (All Programmable System on Chip - APSoC) no qual possui um processador ARM Cortex-A9 embarcado. Nesta pesquisa, investigou-se o impacto das falhas que afetam o arquivo de registradores na confiabilidade dos processadores embarcados. Para tanto, experimentos de injeção de falhas e de radiação de íons pesados foram realizados. Além do mais, avaliou-se como os diferentes níveis de otimização do compilador modificam o uso e a probabilidade de falha do arquivo de registradores do processador. Selecionou-se seis benchmarks representativos, cada um compilado com três níveis diferentes de otimização. Realizamos campanhas exaustivas de injeção de falhas para medir o Fator de Vulnerabilidade Arquitetural (Architectural Vulnerability Factor - AVF) de cada código e configuração, identificando os registradores que são mais propensos a gerar uma corrupção de dados silenciosos (Silent Data Corruption - SDC) ou uma interrupção funcional de evento único (Single Event Functional Interruption - SEFI). Também foram correlacionadas as variações de confiabilidade observadas com a utilização do arquivo de registradores. Finalmente, irradiamos com íons pesados dois dos benchmarks selecionados compilados com dois níveis de otimização. Os resultados mostram que mesmo com o melhor desempenho, o menor uso do arquivo de registradores ou o menor AVF não é garantido que as aplicações irão alcançar a maior Carga de Trabalho Média Entre Falhas (Mean Workload Between Failure - MWBF). Por exemplo, os resultados mostram que o melhor desempenho da aplicação Multiplicação de Matrizes (Matrix Multiplication - MxM) é alcançado no nível de otimização mais alta. No entanto, nos resultados dos experimentos de injeção de falhas, a maior confiabilidade é alcançada no menor nível de otimização que possuem os menores AVFs e o menor uso do arquivo de registradores. Os resultados também mostram que o impacto das otimizações está fortemente relacionado com o algoritmo executado e como o compilador faz esta otimização. / The recent advances in the embedded processors increase the compilers complexity, and the usage of heterogeneous resources such as Field Programmable Gate Array (FPGA) and Graphics Processing Unit (GPU) integrated with the processors. Additionally, the increase in the usage of Commercial off-the-shelf (COTS) instead of radiation hardened chips in safety critical applications occurs because the COTS can be more flexible, inexpensive, have a fast time-to market and a lower power consumption. However, even with these advantages, it is still necessary to guarantee a high reliability in a system that uses a COTS for safety critical applications because they are susceptible to failures. Additionally, in the case of real time applications, the time requirements also need to be respected. As a case of study, this work uses the Zynq which is a COTS device classified as an All Programmable System-on-Chip (APSOC) and has an ARM Cortex-A9 as the embedded processor. In this research, the impact of faults that affect the register file in the embedded processors reliability was investigated. For that, fault-injection and heavy-ion radiation experiments were performed. Moreover, an evaluation of how the different levels of compiler optimization modify the usage and the failure probability of a processor register file. A set of six representative benchmarks, each one compiled with three different levels of compiler optimization. Exhaustive fault injection campaigns were performed to measure the registers Architectural Vulnerability Factor (AVF) of each code and configuration, identifying the registers that are more likely to generate Silent Data Corruption (SDC) or Single Event Functional Interruption (SEFI). Moreover, the observed reliability variations with register file utilization were correlated. Finally, two of the selected benchmarks, each one compiled with two different levels of optimization were irradiated in the heavy ions experiments. The results show that the best performance, the minor register file usage, or the lowest AVF does not always bring the highest Mean Workload Between Failures (MWBF). As an example, in the Matrix Multiplication (MxM) application, the best performance is achieved in the highest compiler optimization. However, in the fault injection, the higher reliability is obtained in the lower compiler optimization which has, the lower AVFs and the lower register file usage. Results also show that the impact of optimizations is strongly related to the executed algorithm and how the compiler optimizes them.
347

A platform to evaluate the fault sensitivity of superscalar processors

Tonetto, Rafael Billig January 2017 (has links)
A diminuição agressiva dos transistores, a qual levou a reduções na tensão de operação, vem proporcionando enormes benefícios em termos de poder computacional, mantendo o consumo de energia em um nível aceitável. No entanto, à medida que o tamanho dos recursos e a tensão diminuem, a susceptibilidade a falhas tende a aumentar e a importância das avaliações com falhas cresce. Os processadores superescalares, que hoje dominam o mercado, são um exemplo significativo de sistemas que se beneficiam destas melhorias tecnológicas e são mais suscetíveis a erros. Juntamente com isso, existem vários métodos para injeção de falhas, que é um meio eficiente para avaliar a resiliência desses processadores. No entanto, os métodos tradicionais de injeção de falhas, como a técnica baseada em hardware, impõem que o processador seja implementado fisicamente antes que os testes possam ser conduzidos, sem fornecer níveis razoáveis de controlabilidade. Por outro lado, as técnicas baseadas em simuladores implementados em software oferecem altos níveis de controlabilidade. No entanto, enquanto os simuladores em SW de alto nível (que são rápidos) podem levar a uma avaliação incompleta, ou mesmo equivocada, da resiliência do sistema, uma vez que não modelam os componentes internos do hardware (como os registradores do pipeline), simuladores em SW de baixo nível são extremamente lentos e dificilmente estão disponíveis em RTL (Register-Transfer Level). Considerando este cenário, propomos uma plataforma que preenche a lacuna entre as abordagens em HW e SW para avaliar falhas em processadores superescalares: é rápida, tem alta controlabilidade, disponível em software, flexível e, o mais importante, modela o processador em RTL. A ferramenta foi implementada sobre a plataforma usada para gerar o processador superescalar The Berkeley Out-of-Order Machine (BOOM), que é um processador altamente escalável e parametrizável. Esta propriedade nos permitiu experimentar três arquiteturas diferentes do processador: single-, dual- e quad-issue, e, ao analisar como a resiliência a falhas é influenciada pela complexidade de diferentes processadores, usamos os processadores para validar nossa ferramenta.
348

Adaptive and polymorphic VLIW processor to dynamically balance performance, energy consumption, and fault tolerance / Processador VLIW adaptativo e polimórfico para equilibrar de forma dinâmica o desempenho, o consumo de energia e a tolerância a falhas

Sartor, Anderson Luiz January 2018 (has links)
Ao se projetar um novo processador, o desempenho não é mais o único objetivo de otimização. Reduzir o consumo de energia também é essencial, pois, enquanto a maior parte dos dispositivos embarcados depende fortemente de bateria, os processadores de propósito geral (GPPs) são restringidos pelos limites da energia térmica de projeto (TDP – thermal design power). Além disso, devido à evolução da tecnologia, a taxa de falhas transientes tem aumentado nos processadores modernos, o que afeta a confiabilidade de sistemas tanto no espaço quanto no nível do mar. Adicionalmente, a maioria dos processadores homogêneos e heterogêneos tem um design fixo, o que limita a adaptação em tempo de execução. Nesse cenário, nós propomos dois designs de processadores que são capazes de realizar o trade-off entre esses eixos de acordo com a aplicação alvo e os requisitos do sistema. Ambos designs baseiam-se em um mecanismo de duplicação de instruções com rollback que detecta e corrige falhas, um módulo de power gating para reduzir o consumo de energia das unidades funcionais. O primeiro é chamado de processador adaptativo e usa thresholds, definidos em tempo de projeto, para adaptar a execução da aplicação Adicionalmente, ele controla o ILP da aplicação para criar mais oportunidade de duplicação e de power gating. O segundo design é chamado processador polimórfico e ele avalia (em tempo de execução) a melhor configuração de hardware a ser usada para cada aplicação. Ele também explora o hardware disponível para maximizar o número de aplicações que são executadas em paralelo. Para a versão adaptativa usando uma configuração orientada a otimização de energia, é possível, em média, economizar 37,2% de energia com um overhead de apenas 8,2% em performance, mantendo baixos níveis de defeito, quando comparado a um design tolerante a falhas. Para a versão polimórfica, os resultados mostram que a reconfiguração dinâmica do processador é capaz de adaptar eficientemente o hardware ao comportamento da aplicação, de acordo com os requisitos especificados pelo designer, chegando a 94.88% do resultado de um processador oráculo quando o trade-off entre os três eixos é considerado. Por outro lado, a melhor configuração estática apenas atinge 28.24% do resultado do oráculo. / Performance is no longer the only optimization goal when designing a new processor. Reducing energy consumption is also mandatory: while most of the embedded devices are heavily dependent on battery power, General-Purpose Processors (GPPs) are being pulled back by the limits of Thermal Design Power (TDP). Moreover, due to technology scaling, soft error rate (i.e., transient faults) has been increasing in modern processors, which affects the reliability of both space and ground-level systems. In addition, most traditional homogeneous and heterogeneous processors have a fixed design, which limits its runtime adaptability. Therefore, they are not able to cope with the changing application behavior when one considers the axes of fault tolerance, performance, and energy consumption altogether. In this context, we propose two processor designs that are able to trade-off these three axes according to the application at hand and system requirements. Both designs rely on an instruction duplication with rollback mechanism that can detect and correct errors and a power gating module to reduce the energy consumption of the functional units The former design, called adaptive processor, uses thresholds defined at design time to allow runtime adaptation of the application’s execution and controls the application’s Instruction-Level Parallelism (ILP) to create more slots for duplication or power gating. The latter design (polymorphic processor) takes the former one step further by dynamically reconfiguring the hardware and evaluating different processor configurations for each application, and it also exploits the available pipelanes to maximize the number of applications that are executed concurrently. For the adaptive processor using an energy-oriented configuration, it is possible, on average, to reduce energy consumption by 37.2% with an overhead of only 8.2% in performance, while maintaining low levels of failure rate, when compared to a fault-tolerant design. For the polymorphic processor, results show that the dynamic reconfiguration of the processor is able to efficiently match the hardware to the behavior of the application, according to the requirements of the designer, achieving 94.88% of the result of an oracle processor when the trade-off between the three axes is considered. On the other hand, the best static configuration only achieves 28.24% of the oracle’s result.
349

Uma ferramenta multiplataforma para prevenção de buffer overflow / A Multiplatform tool to prevent buffer overflows

Mello, Paulo Estima January 2009 (has links)
Este trabalho apresenta um método para prevenir as vulnerabilidades causadas por erros de programação insegura que, normalmente, é resultado da solução de um problema proposto ou do desenvolvimento de funcionalidade sem levar em consideração a segurança do sistema como um todo. Os erros de programação (no contexto da segurança de um sistema e não apenas da sua funcionalidade) são normalmente frutos da ignorância do programador sobre as vulnerabilidades apresentadas pelas suas ferramentas para construção de programas. O estado da arte é brevemente apresentado demonstrando as soluções atuais em termos de proteção contra ataques de buffer overflow baseado em pilha. Soluções em tempo de compilação e pós-compilação por parte do sistema operacional são as mais comuns. Neste escopo é demonstrada a solução proposta por um protótipo funcional que valida o modelo para uma série de aplicações em duas plataformas diferentes (Windows e Linux). A solução converge a instrumentação de aplicações com o uso de um repositório de endereços de retorno para prevenir o retorno de funções a endereços não legalmente especificados. Testes do protótipo foram realizados em ambas as plataformas e mostraram a eficácia do protótipo prevenindo falhas em casos reais de buffer overflow baseado em pilha. / This paper presents a method to prevent the vulnerabilities caused by insecure programming which, usually, is an outcome of taking into account only the solution of a proposed problem or the development of new functionalities disregarding security on development of the system as a whole. The programming mistakes (in the context of the system security despite the system's functionality) are usually a result of the unawareness of the programmed about the vulnerabilities contained on the tools they use to develop software. The state of the art is briefly presented showing the current solutions related to preventing buffer overflows based on stack. Both compile time and post-compilation solutions (usually as part of the operating system) are the most widely used. In this work the proposed solution is demonstrated by a functional prototype which validates the model for a set of applications in two different platforms (Windows and Linux). The solution converges process instrumentation with a return address repository to prevent a function from returning to an address not legally specified. Testes of the prototype were performed in both platforms previously mentioned and have proved the correctness of the prototype by actually preventing exploitation on real case scenarios of real world applications.
350

Geologia estrutural aplicada a mineração subterrânea de carvão: Mina D, Araranguá, SC

Petry, Thales Sebben January 2017 (has links)
A mineração subterrânea na região carbonífera de Santa Catarina possui forte controle estrutural. A área de pesquisa da Mina D situa-se na porção NE do município de Araranguá. Este trabalho definiu o comportamento estrutural das rochas sedimentares e da camada de carvão Barro Branco na área de pesquisa através da avaliação integrada de imagens de satélite e dados de 100 furos de sondagem. As principais direções dos lineamentos identificadas nas imagens de satélite são N30º-60ºW, N60º-80ºE e N30º-60ºE. O mapa de contorno estrutural da camada de carvão e as seções geológicas mostram que a área é afetada por falhas normais de direção N30°-60°W, N50°-70°E, N10°-20°W e E-W. As falhas normais de direção NE apresentam extensão regional e exercem significativa influência no arranjo estrutural da área. Nesses casos os rejeitos são expressivos (>100 metros) e inviabilizam a recuperação econômica do carvão em algumas porções da área. A orientação das galerias deve ser de modo paralelo a estas falhas nas suas proximidades. As falhas normais de direção NW são as mais frequentes e possuem extensão e rejeitos menores (<30 metros). O planejamento da lavra deve considerar esse sistema de falhas, evitando o cruzamento das mesmas. As falhas normais de direção N-S foram identificadas na área e apresentam rejeitos expressivos (>70 metros). Ocorrem ainda falhas inversas associadas ao soerguimento ocasionado por intrusões de diabásio. Próximo a estas áreas podem ocorrer zonas de acúmulo de tensões, geralmente associadas a problemas de instabilidade de teto e levantamento de piso. A metodologia aplicada demonstrou ser eficiente na determinação prévia das estruturas tectônicas e na avaliação preliminar da sua influência na mineração subterrânea de carvão. / The underground coal mining in the carboniferous region of Santa Catarina state has a great structural control. The Mina D research area is located in the NE portion of the Araranguá city. This study has defined the structural bearing of the sedimentary rocks and the Barro Branco coal seam in the research area through the integrated evaluation of satellite images and 100 boreholes data. The major lineaments identified in the satellite images have N30º-60ºW, N60º-80ºE and N30º-60ºE directions. The coal seam structural contour map and the geological sections presents that the area is affected by normal faults which have N30°- 60°W, N50°-70°E, N10°-20°W and E-W directions. The NE direction normal faults have regional extension and are the most influent in the structural arrangement of the area. This faults have expressive tailings (>100 meters) and prevent the economic recover of the coal in some portions of the area. The galleries should be oriented parallel to it. The normal faults with NW direction is the most frequent and have minor extension and tailings (<30 meters). The mining plan should consider it in order to avoid have to cross it. The N-S direction normal faults were identified in the area and presents expressive tailings (>70 meters). Inverse faults occur associated with the uplift related to diabase sills intrusion. Close to this area may occur stress accumulation zones usually related to roof instability and floor heaving problems. The applied methods proved to be efficient in the determination of tectonic structures and in the preliminary evaluation of their influence on underground coal mining.

Page generated in 0.0382 seconds