• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 422
  • 83
  • 3
  • 2
  • 2
  • Tagged with
  • 516
  • 506
  • 273
  • 254
  • 174
  • 114
  • 94
  • 85
  • 69
  • 57
  • 50
  • 49
  • 47
  • 47
  • 44
  • 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.
201

Reduzindo o consumo de energia em MPSoCs heterogêneos via clock gating / Reducing energy consumption in heterogeneous MPSoCs through clock gating

Motta, Rodrigo Bittencourt January 2008 (has links)
Nesse trabalho é apresentada uma arquitetura que habilita a geração de MPSoCs (Multiprocessors Systems-on-Chip) heterogêneos escaláveis, baseados em barramento, suportando ainda o uso de diferentes organizações de memória. A comunicação entre as tarefas é especificada por meio de uma estrutura de memória compartilhada, que evita colisões e promove ganhos energéticos através do disparo dinâmico de clock gating. Também é introduzida a técnica DCF (Dynamic Core Freezing), que incrementa a eficiência energética do MPSoC tirando proveito dos ciclos ociosos dos processadores durante os acessos à memória. Mais, a combinação das organizações de memória propostas habilita a exploração de migração de tarefas na arquitetura proposta, por meio da troca de contexto das tarefas na memória compartilhada. Além disso, é mostrado o simulador de alto-nível, baseado na arquitetura proposta, criado com o propósito de extrair os ganhos energéticos propiciados com o uso do clock gating e da técnica DCF. O simulador aceita como entrada arquivos de trace de execução de aplicações Java, com os quais ele gera um novo arquivo contendo o mapeamento das instruções encontradas nos arquivos de trace para diferentes classes de instrução. Dessa forma, podem ser modeladas diferentes arquiteturas de processadores, usando o arquivo com o mapeamento para simular o MPSoC. Mais, o simulador habilita ainda a exploração das diferentes organizações de memória da arquitetura proposta, de maneira que se pode estimar o seu impacto no número de instruções executadas, contenções no barramento, e consumo energético. Experimentos baseados em uma aplicação sintética, executando em um MPSoC composto por diferentes versões de um processador Java mostram um grande aumento na eficiência energética com um custo mínimo em área. Além disso, também são apresentados experimentos baseados em aplicações do benchmark SPECjvm98, que mostram o impacto causado na eficiência energética quando o tipo de aplicação é alterado. Mais, os experimentos mostram drásticos ganhos energéticos obtidos com a aplicação da técnica DCF sobre as memórias do MPSoC. / In this work we present an architecture that enables the generation of bus-based, scalable heterogeneous Multiprocessor Systems-on-Chip (MPSoCs), supporting different memory organizations. Intertask communication is specified by means of a shared memory structure that assures collision avoidance and promotes energy savings through a dynamic clock gating triggering. We also introduce a Dynamic Core Freezing (DCF) technique, which boosts energy savings taking advantage of processor idle cycles during memory accesses. Moreover, the combination of the memory organizations enables the architecture to exploit easy task migration by means of the task context saving in the shared data memory. Moreover, we show the high-level simulator, based on the proposed architecture, created in order to extract the energy savings enabled with the clock gating and the DCF techniques. The simulator accepts as input execution trace files of Java applications, from which it generates a new file that contains the mapping of the instructions found in the trace file for different instruction classes. This way, we can model different processor architectures, using the mapping file to simulate the MPSoC. Also, the simulator enables us to experiment with different memory organizations to estimate their impact on the executed instructions, bus contention, and energy consumption. As case study we have modeled different versions of a Java processor in order to experiment with different execution patterns over different memory organizations. Experiments based on a synthetic application running on an MPSoC containing different versions of a Java processor show a large improvement in energy efficiency with a minimal area cost. Besides that, we also present experiments based on applications of the SPECjvm98 benchmark, which show the impact on the energy efficiency when we change the application type. Moreover, the experiments show a huge improvement in the energy efficiency when applying the DCF technique to the MPSoC memories.
202

Transparent reconfigurable architecture for heterogeneous applications / Uma arquitetura reconfigurável transparente para aplicações heterogêneas

Beck Filho, Antonio Carlos Schneider January 2008 (has links)
Atualmente, pode-se observar que a Lei de Moore vem estagnando. A freqüência de operação já não cresce da mesma forma, e a potência consumida aumenta drasticamente em processadores de propósito geral. Ao mesmo tempo, sistemas embarcados vêm se tornando cada vez mais heterogêneos, caracterizados por uma grande quantidade de modelos computacionais diferentes, sendo executados em um mesmo dispositivo. Desta maneira, como novas tecnologias que irão substituir totalmente ou parcialmente o silício estão surgindo, novas soluções arquiteturais são necessárias. Apesar de sistemas reconfiguráveis já terem demonstrado serem candidatos em potencial para os problemas supracitados, ganhos significativos de desempenho são alcançados apenas em programas que manipulam dados massivamente, não representando a realidade dos sistemas atuais. Ademais, o seu uso em alta escala ainda está limitado à utilização de ferramentas ou compiladores que, claramente, não mantêm a compatibilidade de software e a reutilização do código binário já existente. Baseando-se nestes fatos, a presente tese propõe uma nova técnica para, utilizando um sistema reconfigurável, otimizar tanto programas orientados a dados como aqueles orientados a controle, sem a necessidade de modificação do código fonte ou binário. Para isto, um algoritmo de Tradução Binária, que trabalha em paralelo ao processador, foi desenvolvido. O mecanismo proposto é responsável pela transformação de seqüências de instruções, em tempo de execução, para serem executadas em uma unidade funcional reconfigurável de granularidade grossa, suportando execução especulativa. Desta maneira, é possível aproveitar as vantagens do uso da lógica combinacional para aumentar o desempenho e reduzir o gasto de energia, mantendo a compatibilidade binária em um processo totalmente transparente. Três diferentes estudos de caso foram feitos: os processadores Java e MIPS R3000 – representando o campo de sistemas embarcados – e o conjunto de ferramentas Simplescalar, que simula um processador superescalar baseado no MIPS R10000 – representando o mercado de processadores de propósito geral. / As Moore’s law is losing steam, one already sees the phenomenon of clock frequency reduction caused by the excessive power dissipation in general purpose processors. At the same time, embedded systems are getting more heterogeneous, characterized by a high diversity of computational models coexisting in a single device. Therefore, as innovative technologies that will completely or partially replace silicon are arising, new architectural alternatives are necessary. Although reconfigurable computing has already shown to be a potential solution for such problems, significant speedups are achieved just in very specific dataflow oriented software, not representing the reality of nowadays systems. Moreover, its wide spread use is still withheld by the need of special tools and compilers, which clearly preclude software portability and reuse of legacy code. Based on all these facts, this thesis presents a new technique using reconfigurable systems to optimize both control and dataflow oriented software without the need of any modification in the source or binary codes. For that, a Binary Translation algorithm has been developed, which works in parallel to the processor. The proposed mechanism is responsible for transforming sequences of instructions at runtime to be executed on a dynamic coarse-grain reconfigurable array, supporting speculative execution. This way, it is possible to take advantage of using pure combinational logic to speed up the execution, maintaining full binary compatibility in a totally transparent process. Three different case studies were evaluated: a Java Processor and a MIPS R3000 – representing the embedded systems field – and the Simplescalar Toolset, a widely used toolset that simulates a superscalar architecture based on the MIPS R10000 processor – representing the general-purpose market.
203

Framework para criação de sistemas supervisórios dinâmicos em dispositivos móveis. / Framework for building dynamical supervisory systems in mobile devices

Machado, Eduardo Martins January 2012 (has links)
Esta dissertação apresenta o framework DynamicML para o desenvolvimento de aplicações (sistemas supervisórios) dinâmicas para telefones celulares. A proposta é que o aplicativo seja criado usando a linguagem DynamicML; assim, através deste arquivo, que é enviado ao dispositivo móvel (com o framework previamente instalado), este é então interpretado e, finalmente, a aplicação gerada. Além disso, a qualquer momento o arquivo de configuração pode ser alterado e isso se refletirá imediatamente na aplicação. Assim, torna-se possível a adaptação/evolução de aplicações na plataforma Java ME em tempo de execução, além de proporcionar uma maneira de desenvolver aplicações de forma rápida, e com qualidade; abstraindo do desenvolvedor a maior parte da complexidade de programação. A fim de permitir maior portabilidade nos celulares atuais, a proposta é implementada usando Java ME (Java Micro Edition) tendo como principal alvo a configuração CLDC (a mais difundida nos aparelhos atuais), mas que também é suportada na configuração CDC. Existem vários esforços para permitir o carregamento de componentes em tempo de execução na plataforma Java ME: alguns têm como alvo a configuração CDC, e consequentemente exigem hardware avançado e/ou específico; outros têm propostas que exigem um enorme esforço de desenvolvimento, exigindo uma implementação para cada plataforma alvo. A principal vantagem deste trabalho está no uso da DynamicML como uma metalinguagem para a descrição de aplicações, o que torna possível gerar a aplicação dinamicamente. Dessa forma, não é necessária nenhuma biblioteca extra (indisponível na maioria dos aparelhos) e nem o desenvolvimento de uma solução para cada plataforma alvo. A validação da proposta foi realizada através do desenvolvimento de um protótipo aplicado a três casos de uso nas áreas de automação residencial e supervisão industrial. O protótipo consiste num sistema para celulares usando o framework, e uma arquitetura web para interagir com os sistemas supervisionados e simular o funcionamento do conjunto para demonstração. / This dissertation presents the DynamicML, a framework for developing dynamic applications (supervisory systems) for mobile phones. The proposal is that the application is created using the DynamicML language, so through this file, which is sent to the mobile device (pre-installed with the framework), is then interpreted and, finally, the application is generated. Also, the configuration file may be changed at any time and this will immediately reflect on the application. Thus, it becomes possible adaptation/evolution of applications at runtime on the Java ME platform, while providing a way to quickly develop applications, with quality; and abstracting most of the complexity of programming from the developer. In order to allow greater portability in the today cell phones, the proposal is implemented using the Java ME (Java Micro Edition) having as the primary target the CLDC configuration (the most widespread in the current devices), but that is also supported in the CDC configuration. There are several efforts to allow the loading of components at runtime in Java ME platform: some are targeted to the CDC configuration, and consequently require advanced and/or specific hardware, others have proposals requiring a huge development effort, requiring one implementation for each target platform. The main advantage of this research is the use of DynamicML as a metalanguage for describing applications, which makes it possible to dynamically build the application. Thus, there is no need for extra library (not available on most devices) and even the development of a solution for each target platform. The validation of the proposal was done by developing a prototype applied to three use cases in the fields of residential automation and industrial supervision. The prototype consists of a system for mobile phones using the framework, and a web architecture to interact with the supervised systems and simulate the operation of the set for demonstration.
204

Efficient online embedding of secure virtual nteworks / Mapeamento eficiente e on-line de redes virtuais seguras

Bays, Leonardo Richter January 2013 (has links)
A virtualização de redes tem se tornado cada vez mais proeminente nos últimos anos. Tal técnica permite a criação de infraestruturas de rede que se adaptam a necessidades específicas de aplicações de rede distintas, além de dar suporte à instanciação de ambientes favoráveis para o desenvolvimento e avaliação de novas arquiteturas e protocolos. Apesar de esforços recentes (motivados principalmente pela busca de mecanismos para avaliar propostas relacionadas à Internet do Futuro) terem contribuído substancialmente para a materialização desse conceito, nenhum preocupou-se em conciliar alocação eficiente de recursos e satisfação de requisitos de segurança (e.g., confidencialidade). É importante ressaltar que, no contexto de redes virtuais, a proteção de infraestruturas de rede compartilhadas constitui condição fundamental para seu uso em larga escala. É de grande importância que o impacto negativo causado pelo aprovisionamento de segurança seja considerado no processo de mapeamento de redes virtuais, de forma a permitir o uso integral dos recursos físicos sem subestimar requisitos de capacidade. Portanto, nesta dissertação, são propostos um modelo ótimo e um al- goritmo heurístico para realizar o mapeamento de redes virtuais em substratos físicos que têm por objetivo otimizar a utilização de recursos físicos garantindo a satisfação de requisitos de segurança. Ambas as abordagens possuem uma modelagem precisa de custos adicionais associados a mecanismos de segurança usados para proteger re- des virtuais, e são capazes de atender requisições de redes virtuais de forma online. Além disso, são apresentados os resultados de um extensivo processo de avaliação realizado, incluindo uma comparação detalhada entre o modelo ótimo e o algoritmo heurístico. Os experimentos revelam que o modelo baseado em Programação Linear Inteira é capaz de alocar redes virtuais de forma ótima em substratos físicos com até cem roteadores, enquanto que o algoritmo heurístico é capaz de adaptar-se a infraestruturas maiores, provendo mapeamentos sub-ótimos em um curto espaço de tempo. / Network virtualization has become increasingly prominent in recent years. It enables the creation of network infrastructures that are specifically tailored to the needs of distinct network applications and supports the instantiation of favorable en- vironments for the development and evaluation of new architectures and protocols. Although recent efforts (motivated mainly by the search for mechanisms to eval- uate Future Internet proposals) have contributed substantially to materialize this concept, none of them has attempted to combine efficient resource mapping with ful- fillment of security requirements (e.g., confidentiality). It is important to note that, in the context of virtual networks, the protection of shared network infrastructures constitutes a fundamental condition to enable its use in large scale. Considering the negative impact of security provisions in the virtual network embedding process is of paramount importance in order to fully utilize physical re- sources without underestimating capacity requirements. Therefore, in this thesis we propose both an optimal model and a heuristic algorithm for embedding virtual networks on physical substrates that aim to optimize physical resource usage while meeting security requirements. Both approaches feature precise modeling of over- head costs of security mechanisms used to protect virtual networks, and are able to handle virtual network requests in an online manner. In addition, we present the results of an extensive evaluation we carried out, including a detailed comparison of both the optimal model and the heuristic algorithm. Our experiments show that the Integer Linear Programming (ILP) model is capable of optimally embedding virtual networks on physical infrastructures with up to a hundred routers, while the heuristic algorithm is capable of scaling to larger infrastructures, providing timely, sub-optimal mappings.
205

Análise de desempenho da camada de segurança de aplicações DPWS / Performance analysis of security layer of DPWS application

Marcelo, Alisson January 2013 (has links)
A disseminação dos dispositivos embarcados por diferentes domínios de aplicação torna necessário que a interação entre eles dispense ao máximo a intervenção humana. Diversos protocolos e tecnologias foram criados para a atingir este objetivo. Uma destas tecnologias é o Device Profile for Web Services (DPWS), que tem tido relativa aceitação tanto em ambientes industriais quanto residenciais. A expressividade e flexibilidade do DPWS tem permitido integrar dispositivos com recursos reduzidos diretamente com os sistema de gerenciamento das organizações. Com a diversidade dos dispositivos disponíveis e o crescimento das aplicações de redes sem fio, torna-se importante que os dados possam ser protegidos para manter a sua integridade e sigilo. Em aplicações como controle de processos, aquisição de dados estratégicos, medição de consumo de energia, entre outras, os prejuízos causados por interferências indevidas justificam a aplicação de estratégias de proteção dos dados, mesmo com o custo que elas podem gerar. Neste trabalho, são estudados os impactos da união da flexibilidade e expressividade do DPWS com a criptografia e compressão, fornecendo subsídios para que seja avaliado o custo de cada combinação destas soluções para definir quais níveis de proteção e otimização são mais adequados a cada cenário em que o DPWS possa ser aplicado. Ao fim do estudo realizado, demonstra-se o custo da criptografia na proteção dos dados, avaliando-se diferentes suítes de cifragem nas quais os algoritmos RC4 e o AES se mostram como opções viáveis em ambientes embarcados apesar do custo inerente ao processo de criptografia. Outro ponto importante é a comprovação estatística de que a compressão dos dados propicia um ganho de desempenho com redução de banda ocupada capaz de compensar o custo computacional da sua aplicação. Estas análises comprovam que o uso do tráfego seguro não pode ser aplicado a todos os casos devido às suas exigências de recursos. Em certas aplicações é possível achar um ponto intermediário onde se garanta apenas a autenticidade dos dados, deixando a criptografia completa para os casos mais críticos. Por fim, a conclusão à qual se chega é que o DPWS pode ser um substituto para as opções atuais de gerenciamento, sobre as quais tem como principal vantagem a capacidade de crescer em representatividade e complexidade de acordo com os recursos computacionais disponíveis. / The growth of use of embedded devices in several application domains makes necessary the reduction of human interaction for the devices control and has motivated the development of new technologies to achieve this goal. The Device Profile for Web Services (DPWS) is one of such technologies. It has been adopted on both industrial and home applications due to its flexibility, scalability and interoperability that allows the direct integration between deeply embedded devices and enterprise management systems. The remote device management requires a high level of data protection that could guarantee the integrity and confidentiality needed by industrial applications. In applications such as process control, strategic data acquisition, power consumption measurement, the possible harm caused by undue interference justify the use of data protection strategies despite the increasing of cost added by security technologies. This paper presents the results of a statistically proven study on the security layer applications of DPWS embedded devices using compressed data. The main objective of this work is to provide the background required to DPWS secure devices design, estimating the impact of many combinations of compression and security algorithms such as gzip, RC4 and AES. It proves that these technologies fit in embedded devices applications when data security is a strong requirement. Additionally, it is shown that performance degradation caused by data compression is compensated by the reduction of the amount of data to be encrypted. Best results were obtained when the compressed data fit in one Ethernet packet. Finally, is concluded that DPWS can replace the current alternatives to process management, having the advantages of scalability direct connection between deeply embedded devices and enterprise management systems.
206

A reconfigurable heterogeneous multicore system with homogeneous ISA / Um sistema multinucleo, heterogeneo e reconfiguravel de ISA homogênea

Souza, Jeckson Dellagostin January 2016 (has links)
Dada a grande diversidade de aplicações embarcadas presentes nos atuais dispositivos portáveis, ambos os paralelismos em nível de threads e de instruções devem ser explorados para obter ganhos de desempenho e energia. Enquanto MPSoCs (sistemas em chip de múltiplos núcleos) são amplamente usados para esse propósito, estes falham quando consideramos produtividade de software, já que eles são compostos de chips com diferentes arquiteturas que precisam ser programados separadamente. Por outro lado, processadores multi núcleos de propósito geral implementam a mesma arquitetura, mas são compostos de núcleos homogêneos de processadores superescalares que consomem muita potência. Nesta dissertação, propõe-se um novo sistema, que tira proveito de circuitos reconfiguráveis para criar diferentes organizações que implementam a mesma arquitetura, capazes de apresentar alto desempenho com baixo custo energético. Para garantir a compatibilidade binária, usa-se um mecanismo de tradução binária que transforma o código a ser executado no circuito reconfigurável durante a execução. Usando aplicações representativas, mostra-se que uma versão do sistema heterogêneo pode ganhar da sua versão homogênea em média de 59% em desempenho e 10% em energia, com melhoras em EDP (Energy-Delay Product – Produto da energia pelo tempo de execução) em quase todos os cenários. Além disso, este trabalho também propõe e avalia seis escalonadores para este sistema heterogêneo: dois algoritmos estáticos, os quais alocam as threads no primeiro núcleo livre, onde elas permanecerão durante toda a execução; um escalonador direcionado por contagem de instruções, o qual realoca as threads durante pontos de sincronização de acordo com a sua contagem de instruções; um escalonador de Feedback, que usa dados de dentro da unidade reconfigurável para realocar threads; o PC-Feedback, que adiciona um mecanismo de reuso de dados ao último escalonador; e um escalonador Oráculo, que é capaz de decidir a melhor alocação de threads possível. Mostra-se que o algoritmo estático pode ter alto desempenho em aplicações com alto paralelismo, contudo para um desempenho mais uniforme em todas as aplicações os algoritmos de Feedback e PC-Feedback são mais indicados. / Given the large diversity of embedded applications one can find in current portable devices, for energy and performance reasons one must exploit both Thread- and Instruction Level Parallelism. While MPSoCs (Multiprocessor system-on-chip) are largely used for this purpose, they fail when one considers software productivity, since it comprises different ISAs (Instruction Set Architecture) that must be programmed separately. On the other hand, general purpose multicores implement the same ISA, but are composed of a homogeneous set of very power consuming superscalar processors. In this dissertation, we show how one can effectively use a reconfigurable unit to provide a number of different possible heterogeneous configurations while still sustaining the same ISA, capable of reaching high performance with low energy cost. To ensure ISA compatibility, we use a binary translation mechanism that transforms code to be executed on the fabric at run-time. Using representative benchmarks, we show that one version of the heterogeneous system can outperform its homogenous counterpart in average by 59% in performance and 10% in energy, with EDP (Energy-Delay Product) improvements in almost every scenario. Furthermore, this work also proposes and evaluates six schedulers for the heterogeneous system: two static algorithms, which allocate the threads on the first free core, where they will run during the entire execution; an Instruction Count (IC) Driven scheduler, which reallocates threads during synchronization points accordingly to their instruction count; a Feedback scheduler, which uses data from inside the reconfigurable unit to reallocate threads; the PCFeedback scheduler, that adds a reuse mechanism to the last one; and an Oracle scheduler, which is capable of deciding the best thread allocation possible. We show that the static algorithm can reach high performance in applications with high parallelism, however for uniform performance in all applications, the Feedback and PC-Feedback algorithms are better designated.
207

A transparent and energy aware reconfigurable multiprocessor platform for efficient ILP and TLP exploitation

Rutzig, Mateus Beck January 2012 (has links)
As the number of embedded applications is increasing, the current strategy of several companies is to launch a new platform within short periods, to execute the application set more efficiently, with low energy consumption. However, for each new platform deployment, new tool chains must come along, with additional libraries, debuggers and compilers. This strategy implies in high hardware redesign costs, breaks binary compatibility and results in a high overhead in the software development process. Therefore, focusing on area savings, low energy consumption, binary compatibility maintenance and mainly software productivity improvement, we propose the exploitation of Custom Reconfigurable Arrays for Multiprocessor System (CReAMS). CReAMS is composed of multiple adaptive reconfigurable systems to efficiently explore Instruction and Thread Level Parallelism (ILP and TLP) at hardware level, in a totally transparent fashion. Conceived as homogeneous organization, CReAMS shows a reduction of 37% in energy-delay product (EDP) compared to an ordinary multiprocessing platform when assuming the same chip area. When a variety of processor with different capabilities on exploiting ILP are coupled in a single die, conceiving CReAMS as a heterogeneous organization, performance improvements of up to 57% and energy savings of up to 36% are showed in comparison with the homogenous platform. In addition, the efficiency of the adaptability provided by CReAMS is demonstrated in a comparison to a multiprocessing system composed of 4- issue Out-of-Order SparcV8 processors, 28% of performance improvements are shown considering a power budget scenario.
208

Uma abordagem para estimação prévia dos requisitos não funcionais em sistemas embarcados utilizando métricas de software / An approach to early estimation of non-functional requirements for embedded systems using software metrics

Vieira, Andrws Aires January 2015 (has links)
O crescente aumento da complexidade dos sistemas embarcados demanda consigo a necessidade do uso de novas abordagens que acelerem o seu desenvolvimento, como por exemplo, o desenvolvimento baseado em modelos. Essas novas abordagens buscam aumentar o nível de abstração, utilizando conceitos de orientação a objetos e UML para modelar um software embarcado. Porém, com o aumento do nível de abstração, o projetista de software embarcado não possui a ideia exata do impacto de suas decisões de modelagem em questões importantes, como desempenho, consumo de energia, entre tantas outras que são de suma importância em um projeto embarcado. Dessa forma, se fazem necessárias técnicas de análise e/ou estimação de projeto que, em um ambiente de desenvolvimento mais abstrato, possam auxiliar o projetista a tomar melhores decisões nas etapas inicias de projeto, garantindo assim, as funcionalidades (requisitos funcionais) e os requisitos não funcionais do sistema embarcado. Neste trabalho, propõe-se estimar os requisitos não funcionais de um sistema embarcado a partir de informações (métricas) extraídas das etapas iniciais do projeto. Pretende-se com isso auxiliar o projetista na exploração do espaço de projeto já nos estágios iniciais do processo de desenvolvimento, através de uma rápida realimentação sobre o impacto de uma decisão de projeto no desempenho da aplicação em uma dada plataforma de execução. Os resultados experimentais mostram a aplicabilidade da abordagem, principalmente para um ambiente de evolução e manutenção de projetos de software, onde se tem um histórico de métricas de aplicações semelhantes para serem usadas como dados de treinamento. Neste cenário, a abordagem proposta possui acurácia de pelo menos 98% para as estimativas apresentadas ao projetista. Em um cenário heterogêneo, assumindo o uso da metodologia em um sistema diferente daquele usado para treinamento, a acurácia do método de estimação cai para pelo menos 80%. / The increasing complexity of embedded systems demands the use of new approaches to accelerate their development, such as model-driven engineering. Such approaches aim at increasing the level of abstraction using concepts such as object-orientation and UML for modeling the embedded software. However, with the increase of the abstraction level, the embedded software developer looses controllability and predictability over important issues such as performance, power dissipation and memory usage for a specific embedded platform. Thus, new design estimation techniques that can be used in the early development stages become necessary. Such a strategy may help the designer to make better decisions in the early stages of the project, thus ensuring the final system meets both functional and non-functional requirements. In this work, we propose an estimation technique of non-functional requirements for embedded systems, based on data (metrics) extracted from early stages of the project. The proposed methodology allows to better explore different design options in the early steps of software development process and can therefore provide a fast and yet accurate feedback to the developer. Experimental results show the applicability of the approach, particularly for software evolution and maintenance, which has a history of similar applications metrics to be used as training data. In this scenario, the accuracy of the estimation is at least of 98%. In a heterogeneous scenario, where the estimation is performed for a system that is different from the one used during training, the accuracy drops to 80%.
209

Projeto da arquitetura de software embarcado de um veículo aéreo não tripulado

Gonçalves, Fernando Silvano January 2014 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2014. / Made available in DSpace on 2015-02-05T20:37:39Z (GMT). No. of bitstreams: 1 328200.pdf: 3381287 bytes, checksum: ba3e65ec10b7f2ea5b8df03a6daa8fd3 (MD5) Previous issue date: 2014 / O projeto de Veículos Aéreos Não Tripulados (VANTs) é um processo complexo, pois diferentes fatores devem ser considerados visando garantir tanto a confiabilidade do sistema, quanto a integridade física da aeronave. Neste contexto a técnica do Hardware-in-The-Loop (HIL) tem sido aplicada de modo a proporcionar uma plataforma de testes confiável e segura para a concepção tanto da arquitetura de software, quanto dos sistemas de controle. Nesta pesquisa um ambiente de emulação em HIL é desenvolvido de forma a proporcionar a realização de testes da arquitetura de software, sendo este baseado na aplicação da técnica dos Anytime Algorithms. Esses algoritmos são aplicados tanto isolados quanto associados aos algoritmos de controle do VANT, desta forma os benefícios da sua utilização podem ser corretamente avaliados. O ambiente HIL pode ser utilizado diretamente no Matalab/Simulink, o que facilita o desenvolvimento de diferentes estratégias de controle por meio do uso desta ferramenta.<br> / Abstract : Designing Unmanned Aerial Vehicles (UAVs) is a complex process, sincedifferent engineering domains must be considered to ensure that it will flyproperly, without putting in danger the aircraft and life on the ground. Consideringthe design of the embedded computing system, the Hardware-in-The-Loop (HIL) can be applied in order to provide a test platform for both thesoftware architecture and the control algorithms. In this work a HIL structureis created to test the software architecture, which is based in the applicationof Anytime Algorithms. Such algorithms are used isolated and associatedwith the UAV control algorithms, so that their benefits for the project can beproperly evaluated. The developed HIL can be used directly by the Matlab/-Simulink tool, which facilitates its use since most control applications aredeveloped in such tool.
210

WCET-aware prefetching of unlocked instruction caches

Wuerges, Emílio January 2015 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015. / Made available in DSpace on 2015-09-08T04:10:00Z (GMT). No. of bitstreams: 1 334103.pdf: 474482 bytes, checksum: e8c8770f10b59df4df1e70854aa60a94 (MD5) Previous issue date: 2015 / A computação embarcada requer crescente vazão sob baixa potência. Ela requer um aumento de eficiência energética quando se executam programas de crescente complexidade. Muitos sistemas embarcados são também sistemas de tempo real, cuja correção temporal precisa ser garantida através de análise de escalonabilidade, a qual costuma assumir que o WCET de uma tarefa é conhecido em tempo de projeto. Como resultado da crescente complexidade do software, uma quantidade significativa de energia é gasta ao se prover instruções através da hierarquia de memória. Como a cache de instruções consome cerca de 40% da energia gasta em um processador embarcado e afeta a energia consumida em memória principal, ela se torna um relevante alvo para otimização. Entretanto, como ela afeta substancialmente o WCET, o comportamento da cache precisa ser restrito via  cache locking ou previsto via análise de WCET. Para obter eficiência energética sob restrições de tempo real, é preciso estender a consciência que o compilador tem da plataforma de hardware. Entretanto, compiladores para tempo real ignoram a energia, embora determinem rapidamente limites superiores para o WCET, enquanto compiladores para sistemas embarcados estimem com precisão a energia, mas gastem muito tempo em  profiling . Por isso, esta tese propõe um método unificado para estimar a energia gasta em memória, o qual é baseado em Interpretação Abstrata, exatamente o mesmo substrato matemático usado para a análise de WCET em caches. As estimativas mostram derivadas que são tão precisas quanto as obtidas via  profiling , mas são computadas 1000 vezes mais rápido, sendo apropriadas para induzir otimização de código através de melhoria iterativa. Como  cache locking troca eficiência energética por previsibilidade, esta tese propõe uma nova otimização de código, baseada em pré-carga por software, a qual reduz a taxa de faltas de caches de instruções e, provadamente, não aumenta o WCET. A otimização proposta é comparada com o estado-da-arte em  cache locking parcial para 37 programas do  Malardalen WCET benchmark para 36 configurações de cache e duas tecnologias distintas (2664 casos de uso). Em média, para obter uma melhoria de 68% no WCET,  cache locking parcial requer 8% mais energia. Por outro lado, a pré-carga por software diminui o consumo de energia em 11% enquanto melhora em 15% o WCET, reconciliando assim eficiência energética e garantias de tempo real.<br> / Abstract : Embedded computing requires increasing throughput at low power budgets. It asks for growing energy efficiency when executing programs of rising complexity. Many embedded systems are also real-time systems, whose temporal correctness is asserted through schedulability analysis, which often assumes that the WCET of each task is known at design-time. As a result of the growing software complexity, a significant amount of energy is spent in supplying instructions through the memory hierarchy. Since an instruction cache consumes around 40% of an embedded processor s energy and affects the energy spent in main memory, it becomes a relevant optimization target. However, since it largely impacts the WCET, cache behavior must be either constrained via cache locking or predicted by WCET analysis. To achieve energy efficiency under real-time constraints, a compiler must have extended awareness of the hardware platform. However, real-time compilers ignore energy, although they quickly determine bounds for WCET, whereas embedded compilers accurately estimate energy but require time-consuming profiling. That is why this thesis proposes a unifying method to estimate memory energy consumption that is based on Abstract Interpretation, the very same mathematical framework employed for the WCET analysis of caches. The estimates exhibit derivatives that are as accurate as those obtained by profiling, but are computed 1000 times faster, being suitable for driving code optimization through iterative improvement. Since cache locking gives up energy efficiency for predictability, this thesis proposes a novel code optimization, based on software prefetching, which reduces miss rate of unlocked instruction caches and, provenly, does not increase the WCET. The proposed optimization is compared with a state-of-the-art partial cache locking technique for the 37 programs of the Malardalen WCET benchmarks under 36 cache configurations and two distinct target technologies (2664 use cases). On average, to achieve an improvement of 68% in the WCET, partial cache locking required 8% more energy. On the other hand, software prefetching decreased the energy consumption by 11% while leading to an improvement of 15% in the WCET, thereby reconciling energy efficiency and real-time guarantees.

Page generated in 0.0356 seconds