281 |
Design space exploration of SW and HW IP based on object oriented methodology for embedded system applications / Exploração do espaço de projeto de IPs de SW e HW em uma metodologia orientada a objetos para aplicações embarcadasMattos, Julio Carlos Balzano de January 2007 (has links)
O software vem se tornando cada vez mais o principal fator de custo no desenvolvimento de dispositivos embarcados. Atualmente, com o aumento aumentando da complexidade dos sistemas embarcados, se faz necessário o uso de técnicas e metodologias que, ao mesmo tempo, permitam o aumento da produtividade do desenvolvimento de software e permitam manipular as restrições dos sistemas embarcados como tamanho de memória, comportamento de tempo real, desempenho e energia. A análise e projeto orientado a objetos são altamente conhecidos e utilizados na comunidade de engenharia de software. Este paradigma auxilia no desenvolvimento e manutenção do software, porém apresenta uma signi cativa sobrecarga em termos de memória, desempenho e tamanho do código. Esta tese introduz uma metodologia e um conjunto de ferramentas que permitem o uso concomitante de orientação a objetos e os diferentes requisitos dos sistemas embarcados. Para atingir este objetivo, esta tese apresenta uma metodologia para exploração de software embarcado orientado a objetos que permite melhoria em diferentes níveis do processo de desenvolvimento do software baseado em diferentes implementações do mesmo processador. Os resultados da metodologia são apresentados baseados na aplicação de um tocador de MP3. / Software is increasingly becoming the major cost factor for embedded devices. Nowadays, with the growing complexity of embedded systems, it is necessary to use techniques and methodologies that can, at the same time, increase software productivity and manipulate embedded systems constraints - like memory footprint, real-time behavior, performance and energy. Object-oriented modeling and design is a widely known methodology in software engineering. This paradigm may satisfy software portability and maintainability requirements, but it presents overhead in terms of memory, performance and code size. This thesis introduces a methodology and a set of tools that can deal, at the same time, with object orientation and di erent embedded systems requirements. To achieve this goal, the thesis presents a methodology to explore object-oriented embedded software improving di erent levels in the software design based on di erent implementations with the same processor. The results of the methodology are presented based on an MP3 player application.
|
282 |
Middleware adaptativo para sistemas embarcados e de tempo-real / Adaptive middleware for real-time embedded systemsSilva Júnior, Elias Teodoro da January 2008 (has links)
Um dos principais desafios no desenvolvimento de ferramentas e metodologias para sistemas multiprocessados, embarcados e de tempo-real é o reuso de software já desenvolvido, mantendo baixa utilização de recursos como memória, energia e desempenho de CPU, e ainda atendendo às restrições temporais. O presente trabalho procura atacar este problema no nível do middleware, comumente utilizado como forma de integrar componentes de software reusáveis, diminuindo o tempo e o esforço desprendido no desenvolvimento de aplicações e serviços com alta qualidade. Este trabalho especifica e implementa um middleware para uma plataforma MPSoC voltada para sistemas embarcados e de tempo-real, permitindo adaptações durante o projeto e/ou execução da aplicação, a fim de otimizar o uso dos recursos e atender às restrições de projeto. Ao projetista da aplicação é permitido reusar os serviços do middleware e da plataforma em diferentes aplicações. Igualmente, aplicações escritas sobre o middleware podem ser portadas para outras plataformas onde o middleware possa ser executado. O middleware proposto oferece serviços implementados em hardware e encapsulamento da comunicação hardware-software na própria aplicação. Além disso, são oferecidos meios para gerenciamento de requisitos não funcionais de energia e tempo-real, como deadline e tempo de execução. / One of the main challenges in the development of tools and methodologies for a multiprocessor real-time embedded system is to reuse already developed software, but at the same time obtaining low memory footprint, low energy consumption, and minimal area, obviously addressing the real-time constraints. This work aims at facing these problems at the middleware level, frequently used to integrate components of reusable software, accelerating development cycle and reducing the effort to develop applications and services with high quality. The present work specifies and implements a middleware for an MPSoC platform oriented to real-time and embedded systems, providing adaptations at development and execution time, in order to optimize resources usage and fulfill design restrictions. The designer can reuse middleware services and the platform as well, when developing different applications. Likewise, applications developed under the middleware can be ported to run in other platforms where the middleware was ported to. The proposed middleware offers hardware implemented services and encapsulates hardware-software communication in the application. Moreover, it permits to specify non-functional requirements of energy and real-time, as deadline and execution time.
|
283 |
Redes-em-chip para sistemas embarcados visando a otimização de medidas de qualidade de serviço para aplicações de tempo real / Networks on chip in embedded systems for optimization of quality of service measurement for real time applicationsCorrêa, Edgard de Faria January 2007 (has links)
O avanço da tecnologia, com a possibilidade de inclusão de um número cada vez maior de transistores em uma única pastilha de silício, tem permitido integração de diversos blocos, formando sistemas completos em um único chip. Esses sistemas em chip possuem uma maior capacidade, mas também uma maior complexidade de projeto. Um dos aspectos a ser resolvido no projeto é que infra-estrutura de comunicação será utilizada na interconexão dos diversos blocos do sistema. Nos últimos anos, as propostas têm apontado para a utilização de redes em chip (NoC – do inglês, Network on Chip) para solucionar este problema de comunicação. Essas redes possuem capacidade de reuso de componentes, escalabilidade, paralelismo, embora apresentem maiores custos e latência que outras soluções. Entretanto, a latência pode ser atenuada, em alguns casos, através de ajustes na configuração da rede, tais como: topologia, arbitragem, mecanismos de controle de fluxo, política de roteamento, tamanho dos buffers. Por outro lado, os sistemas embarcados apresentam, geralmente, requisitos cada vez mais rígidos em relação à qualidade de serviço (QoS – do inglês, Quality of Service) e a restrições temporais. Dessa forma, esses requisitos temporais e de QoS aumentam ainda mais a complexidade do projeto de sistemas embarcados. Em virtude desse aumento da complexidade, o ideal é que a exploração do espaço de projeto seja feita no nível de abstração mais alto possível. Com isso, espera-se manter o tempo de projeto dentro dos níveis adequados, além de permitir uma exploração de espaço de projeto mais ampla e rápida. Nessa exploração, a configuração da rede têm impacto direto sobre os requisitos temporais e de QoS. Esta tese situa-se no contexto de investigar a influência da estrutura de comunicação no atendimento aos requisitos de QoS das aplicações de tempo real. Frente aos requisitos dessas aplicações, especificamente em relação ao atendimento dos deadlines das tarefas e a latência das comunicações, este trabalho apresenta mecanismos de ajustes no planejamento e configuração da NoC em sistemas embarcados, objetivando a garantia desses requisitos. As estratégias utilizadas nos ajustes das características da NoC objetivam permitir o uso mínimo de recursos para atender os requisitos das aplicações de tempo real, dentro das exigências de QoS. Os resultados apresentados comprovam que o ajuste correto nos parâmetros da estrutura de comunicação tem impacto direto no desempenho do sistema, especificamente em relação ao atendimento dos deadlines das mensagens e na redução da latência das comunicações. / With the technology advancing, a huge number of transistors can be included in a single chip. As a consequence, it is possible to integrate many blocks to build a complete system on a chip (SoC). These SoCs have more capacity, but their designs are more complex. One of the problems to solve is the design of the communication infrastructure to interconnect the systems blocks. In the last years, the utilization of networks as a solution for the communication problem has been proposed. These Networks-on-Chip (NoCs) have some interesting characteristics, such as reuse of components, scalability, and parallelism. On the other side, NoCs have higher costs and latency if compared to others solutions. The latency can be reduced, in some cases, by the adaptation of the network configuration, for instance adjusting topology, arbitration, flow control mechanisms, routing policy, size of buffers, etc. However, in general, embedded systems have increasingly rigid requirements regarding quality of service (QoS) and timing constraints. These timing and QoS requirements increase the complexity of embedded systems design. Due to this increased complexity, it is better that the design space exploration is performed at the highest possible abstraction level. With this, it is expected that the design time can be kept within adequate values, besides allowing a faster and broader design space exploration. In this exploration, the network configuration has direct impact upon timing and QoS requirements. The context of this thesis is the investigation of the influence of the communication structure on meeting QoS requirements in real time applications, in particular with respect to the fulfillment of task deadlines and latencies. This work shows mechanisms for adaptation of the NoC configuration for embedded systems, in order to meet the application requirements. The strategies used in the adjustment of the NoC characteristics allow the minimum use of resources to meet the real time application constraints, among the QoS requirements. The presented results demonstrate that the correct adjustment in the communication structure parameters has direct impact on the system performance, specifically with respect to the fulfillment of message deadlines and to the reduction of the communication latencies.
|
284 |
Javarray : uma arquitetura reconfigurável para o aumento de performance e economia de energia de aplicações embarcadas baseadas em Java / Javarray : a reconfigurable architecture for performance speedup and energy saving of embedded Java applicationsOtero, João Cláudio Soares January 2006 (has links)
A popularidade da linguagem Java no mercado de sistemas embarcados está aumentando como uma alternativa à necessidade de compatibilidade de software e ao crescimento da complexidade das aplicações, notadamente em eletrônica de consumo e automação industrial, mercado que também está se expandindo. Apesar de um melhor gerenciamento da complexidade do software permitido pela linguagem Java, as restrições de necessidade de economia de energia, baixo consumo de potência e necessidade de desempenho impostas aos sistemas embarcados, com especial ênfase aos sistemas portáteis, são potencializadas. Entretanto, as características da Java Virtual Machine, baseada em uma máquina de pilha, abrem possibilidades de otimização do processamento de aplicações embarcadas inerentes às máquinas de pilha e ainda não devidamente exploradas pelos processadores Java atuais. Com a aplicação de tradução binária ao código Java e utilização de técnicas de reconfiguração, consegue-se obter aumento de performance com simultânea economia de energia, permitindo-se uma melhor adequação da execução das aplicações Java para o domínio dos sistemas embarcados. Este trabalho apresenta uma unidade reconfigurável de granularidade grossa, o Javarray, a ser acoplada a um processador de execução Java nativa, destinada à execução otimizada dos blocos básicos mais representativos das aplicações embarcadas Java. Dessa forma, conseguimos explorar ILP de uma maneira simples e com a reconfiguração de poucos blocos básicos obtivemos uma redução no número de instruções executadas em até 42%, aumentamos o desempenho das aplicações em até 2,6 vezes e obtivemos economias de energia de até 64%, ao mesmo tempo em que mantivemos compatibilidade de software com as aplicações Java, e em muitos casos obtivemos simultânea redução na potência consumida. Esses dados referem-se a um conjunto de 3 aplicações específicas utilizadas por nosso grupo. A topologia básica do Javarray é desenvolvida a partir da análise de profiles de aplicações embarcadas, a partir da qual algumas variações organizacionais são exploradas. Em especial, desenvolveu-se uma arquitetura seqüencial, que habilita a utilização de técnicas de pipeline no Javarray, permitindo a exploração de paralelismo de mais alto nível. Como produto secundário dos esforços pela busca de economia de energia através do aumento de desempenho – foco deste trabalho – apresenta-se então os primeiros estudos acerca da possibilidade de execução de processamento do tipo stream em um pipeline de instruções reconfiguráveis no Javarray, aumentando dessa forma o IPC e reduzindo o impacto do consumo estático de energia. / Althought with a better management of the softwares’ complexity, allowed by the Java language, the restrictions of energy saving, low power consumption and the need of performance imposed to the embedded systems, with special emphasis to the mobile systems, are potentialized The popularity of the Java language in the embedded systems market is increasing as an alternative to the software compatibility necessity and the applications’ complexity growth, notably at consumption electronic and industrial automation, market which is also expanding. However, the characteristics of Java Virtual Machine, based upon a stack machine, open new possibilities to the optimization of embedded systems processing inherent to the stack machines and not yet properly explored by the actual Java processors. With the exploitation of binary translation to the Java code and the use of reconfiguration techniques, we can improve the performance with simultaneous energy savings, achieving achieving a better fit of Java applications execution to the embedded systems domain. This work presents a coarse grain reconfigurable unit, the Javarray, to be coupled to a native execution Java microcontroller, designed to the optimized execution of the embedded systems applications more representative basic blocks. With this, we can explore ILP in a simple way and reduce the number of the executed instructions up to 42%, improving the performance up to 2.6 times and saving energy up to 64%, at the same time in which allowing for Java compatibility and, in many cases, still having less power consumption. This data refer to a set of 3 specific applications used by our research group. The basic Javarray topology is developed from the analysis of the embedded application profiles, form which some organizational variations are explored. In special, it was designed a sequential architecture, which enables the use of pipeline techniques on the Javarray, allowing for the exploitation of coarser grains parallelism. As a secondary product of the search for the energy savings through the performance speedup – focus of this work – it is presented the first studies about the possibility of stream-based processing execution in a pipeline of reconfigurable instructions on the Javarray, this way increasing the IPC and reducing the static energy consumption impact.
|
285 |
Gerenciamento automático de recursos reconfiguráveis visando a redução de área e do consumo de potência em dispositivos embarcados / Automatic reconfigurable resources management aim to reduce area and power consumption on embedded systemsRutzig, Mateus Beck January 2008 (has links)
A complexidade dos sistemas embarcados está crescendo devido à agregação de funcionalidades em um único dispositivo eletrônico e a heterogeneidade de comportamento das aplicações que compõe estas funcionalidades agrava este cenário. Atualmente, os projetistas de processadores estão buscando outro paradigma de computação para ser empregado neste tipo de dispositivo. A aceleração da execução dos processadores Superescalares está estagnada, a extração do paralelismo no modelo Von- Neumann está chegando ao limite teórico. Arquiteturas Dataflow são uma possível solução para este problema, entretanto a área disponível em silício da tecnologia atual não comporta a implementação deste tipo de arquitetura. Arquiteturas reconfiguráveis aparecem como uma solução viável para a exploração de um alto nível de paralelismo, sendo factível a implementação deste tipo de arquitetura nas atuais tecnologias CMOS. Entretanto, a inserção do hardware reconfigurável ocasiona uma elevação na área ocupada e, conseqüentemente, na potência consumida. É neste cenário que este trabalho se insere. Uma arquitetura reconfigurável foi escolhida como estudo de caso, sendo acoplada a um processador MIPS R3000. Além disto, foi desenvolvida uma ferramenta que, automaticamente, constrói um hardware otimizado através da exploração de recursos necessários para obter o máximo grau de paralelismo da execução de um conjunto de aplicações. O acoplamento desta ferramenta com a técnica de tradução binária utilizada nesta arquitetura reconfigurável provê uma exploração estática/dinâmica. Estática pelo ponto de vista de construção de uma nova unidade reconfigurável otimizada em área antes da fabricação do chip. Dinâmica devido a adaptabilidade da execução do tradutor binário, após a fabricação da unidade otimizada gerada pela ferramenta, a unidade otimizada alcança as mesmas acelerações demonstradas na unidade não otimizada com uma menor área ocupada e potência consumida. Além disto, neste trabalho é demonstrado o impacto na potência consumida pelo sistema fornecido por uma técnica de desligamento de blocos da unidade funcional reconfigurável. Assim, as explorações da área e do consumo de potência demonstraram ser factível a inserção da arquitetura reconfigurável proposta em um dispositivo embarcado. / Nowadays, the large amount of complex and heterogeneous functionalities that are found on a single embedded device has driven designers to create novel solutions to increase the performance of embedded processors and, at the same time, maintain power dissipation as low as possible. While the instruction level parallelism exploitation is reaching the theoretical limit, Dataflow architectures are seen as a reasonable proposal to solve this problem. However, even for near future CMOS technologies, the price to pay for using such architectures is still too high. Reconfigurable architectures could be a possible solution to explore higher-levels of parallelism, and their deployment on current CMOS technologies is feasible. However, the fusion of a reconfigurable hardware with a general-purpose processor still implies in a high area overhead, besides the elevated power consumption. The proposal of this work is to couple static and dynamic techniques to achieve a low-power, high performance reconfigurable architecture that can show speed ups for several heterogeneous applications with the minimum possible area overhead. At design time, the static exploitation produces a new reconfigurable unit optimized in area. Thanks to the proposed dynamic reconfiguration mechanism, the optimized reconfigurable unit provides acceleration and low power dissipation, adapting to the different degrees of parallelism available in the application, and accelerating applications not foreseen at design time.
|
286 |
Macanudo : uma abordagem baseada em componentes voltada a reuso de projetos de hardware / Macanudo: a component-based approach to reuse in hardware designsHernandez, Émerson Barbiero January 2005 (has links)
Como as tecnologias de CI avançam através de melhoras de desempenho, maiores são as densidades e a complexidade de projetos. Esse avanço cria a necessidade de novas ferramentas CAD e metodologias de projeto para lidar com um ritmo aceitável de desenvolvimento. Inúmeras soluções foram propostas, entre elas está a utilização de conceitos de reuso, metodologia abordada nesse trabalho. O projeto reusável vem do pensamento de que funcionalidades realizadas são muitas vezes similares ou até mesmo idênticas em inúmeras aplicações. Circuitos como somadores e multiplicadores são exemplos de blocos comuns utilizados em diferentes soluções. Este trabalho apresenta uma abordagem baseada em componentes para descrições de hardware, com o objetivo de maximizar reuso, através de composição e montagem gráfica de componentes. Para lidar com esse paradigma, é apresentado um processo chamado Macanudo. Mesmo que linguagens de descrição de hardware tenham ajudado os processos de projeto a alcançar reusabilidade, essa abordagem tem o objetivo de trazer uma forma mais eficiente de guiar o processo a esse resultado. Esta abordagem é composta por um modelo de componentes que descreve como cada uma dessas entidades deve ser criada e suas interações, assim como sua evolução e distribuição. Juntamente a esse modelo, foi criada um ambiente de desenvolvimento integrado para dar suporte a esse paradigma. Esse programa trabalha com o conceito de projetos, pois a evolução do mesmo traz intrinsecamente uma forma de usabilidade de grande importância. Isso se deve ao fato de no decorrer do tempo, grupos de componentes serem melhorados e adaptados para satisfazer novos requisitos. Assim, o ambiente permite que um determinado componente seja modificado em seu interior para satisfazer necessidades específicas como desempenho, por exemplo. O ambiente dá suporte a construção gráfica de componentes, usando como base a idéia de estrutura comumente encontrada em sistemas eletrônicos: conjuntos de entidades que se conectam. Cada uma dessas entidades pode igualmente ser formada de blocos interconectados ou de apenas um bloco básico de projeto, reutilizados em diferentes níveis de abstração e hierarquia. Alguns circuitos foram montados através desse processo, gerando novos componentes e códigos VHDL, sendo possível sua integração no ambiente e em outros projetos externos. / As integrated circuit technologies advance towards higher performance, greater densities and increasing system complexity, CAD tools and design methodologies struggle to keep pace. Many solutions have been proposed, and one of them is the concept of reuse, which is the adopted methodology in this work. The reusable design comes from the idea that almost duplicated or even equal functionalities appear in several applications. Circuits such as adders and multipliers are examples of common building blocks needed in many different applications. This work presents a component-based approach in hardware descriptions, with the main goal of maximizing reuse, through graphical building and assembly of components. To deal with this paradigm, it is presented a process called Macanudo. Even with hardware description languages leading to a major leap in design reusability, this new approach has the objective of bringing an efficient way to guide the process to a better result. A component model describing how these entities must be created and assembled, as well as its evolution and distribution, composes this process. The model is followed with an IDE that supports this paradigm. The software deals with the concept of designs, because its evolution provides yet another form of a useful functionality, with great importance. This happens because over the time groups of products are updated and adapted to satisfy new requirements, such as performance. The environment supports graphical component building, using the idea based upon an usual structure found in electronics systems: a set of entities that connect to each other. Interconnected blocks or a simple design block, reused in different levels of abstraction and hierarchy, can equally form each of these entities. Initial circuits have been assembled through this approach, generating new components and VHDL code, making its integration under the environment and others external designs possible.
|
287 |
Femtonode : arquitetura de nó-sensor reconfigurável e customizável para rede de sensores sem fioAllgayer, Rodrigo Schmidt January 2009 (has links)
Com o crescimento e o desenvolvimento de aplicações para Redes de Sensores sem Fio (RSSF), os nós-sensores passaram a realizar o tratamento de eventos mais complexos, exigindo um maior desempenho de processamento e flexibilidade do hardware. Estas novas características visam atender os requisitos de diversas aplicações, assim como, apresentarem plataformas customizáveis que possuem somente os recursos necessários para atender estes requisitos. As RSSF, muitas vezes, necessitam de uma arquitetura flexível e que estejam aptas a adaptar-se a alterações de projeto ou do próprio ambiente em que se encontram inserido. A utilização de arquiteturas reconfiguráveis é uma solução que introduz esta flexibilidade e uma grande capacidade de processamento ao nó-sensor. Comparando com as arquiteturas ASICs (Application Specific Integrated Circuit), as arquiteturas reconfiguráveis apresentam um custo reduzido no desenvolvimento de aplicações, visto que a plataforma não fica fixa a somente uma aplicação. A reconfigurabilidade permite um ganho no custo e tempo de projeto, além de possibilitar o desenvolvimento de plataformas genéricas para atender um número maior de aplicações. A proposta destas plataformas é, não apenas oferecer uma plataforma eficiente e flexível, mas também potencializar a aplicação em sistemas mais complexos que necessitem de uma maior capacidade de processamento. Este trabalho apresenta o desenvolvimento de um nó-sensor reconfigurável e customizável para RSSF denominado FemtoNode. O FemtoNode possui em sua plataforma reconfigurável um processador especificado a partir de uma linguagem orientada a objetos Java e um módulo de comunicação sem fio para suportar comunicação entre os nós da rede. A arquitetura proposta foi validada com o estudo de caso de uma rede de sensores heterogênea composta por nós-sensores com plataformas distintas, sendo a análise realizada na presente dissertação. / With the growth and the development of new applications for Wireless Sensor Networks (WSN), sensors nodes are able to handle more complex events that require higher processing performance and hardware flexibility. These new features are intended to meet the requirements of various applications, as well to provide customized platforms that have only the resources needed to meet these requirements. WSNs often need a flexible architecture able to adapt to design and environment changes. The use of reconfigurable architectures is an alternative to bring more flexibility and more processing capability for the sensor-node. Compared with ASICs (Application Specific Integrated Circuit) architectures, which have a high cost in production setup, reconfigurable architectures enable a reduction in these costs because its architecture is not fixed to a single application. Reconfigurability allows a gain in the project costs and time development, and it enables the development of generic platforms to deal with a greater number of applications. Therefore, the proposal target architecture that aims to provide a flexible and efficient platform that require greater processing capacity which support the development of applications. In this work a reconfigurable and customizable sensor-node called FemtoNode is proposed. The FemtoNode has a reconfigurable platform and a wireless module to support applications for WSNs, using an object-oriented language Java as specification language of its architecture. The proposed concepts were validated with a case study of an heterogeneous wireless sensor composed of sensors nodes with different platforms, whose results are described in this work.
|
288 |
OSGi-FEMTOJAVA : plataforma reconfigurável para gerenciamento de serviços segundo o padrão OSGiBreier, Guilherme Petry January 2009 (has links)
Este trabalho apresenta o desenvolvimento de um sistema reconfigurável, baseado em OSGi (Open Services Gateway Initiative) para gateway residenciais utilizando-se da tecnologia FemtoJava, com o objetivo de automatizar a descoberta de serviços. Como sistemas de automação residencial/predial normalmente incluem produtos de diferentes fabricantes e possuem protocolos de comunicação diferentes, é necessário o uso de um agente que gerencie essa comunicação. Para que isso ocorra com sucesso, a OSGi Aliança oferece um conjunto de especificações numa plataforma aberta, em Java, para a entrega de vários tipos de serviços aos usuários finais. Utilizando as características do framework OSGi focados em ambientes inteligentes, é proposto um novo sistema de controle através desta arquitetura orientada a serviços para gateway residencial. O sistema foi implementado em uma plataforma reconfigurável da família Xilinx com o auxílio da ferramenta de síntese ISE. O trabalho também apresenta a validação da arquitetura proposta em um estudo de caso utilizando-se de dois módulos para interagir com o meio simulando um sistema de controle de temperatura. / This work presents the development of a reconfigurable system based on OSGi (Open Services Gateway Initiative) home gateway using the FemtoJava technology, aiming to automate the discovery of services. Automation home systems usually include products from different manufacturers and have different communication protocols, it is necessary to use an agent to manage this communication. For this to occur successfully, OSGi Alliance offers a range of specifications in an open platform, Java, for the delivery of various types of services to end users. Using OSGi framework features, intelligent environments focused on a new control system using this architecture targeted to services for residential gateway. The system was implemented on a reconfigurable platform family with the help of Xilinx ISE synthesis tool. The work also presents the validation of the architecture proposed in a case study using the two modules to interact with the environment simulating a temperature control system.
|
289 |
Avaliação do desempenho e consumo energético de diferentes interfaces de programação paralela em sistemas embarcados e de propósito geralLorenzon, Arthur Francisco January 2014 (has links)
Nos sistemas computacionais atuais, enquanto é necessário explorar a disponibilidade de múltiplos núcleos, também é obrigatório consumir menos energia. Para acelerar o processo de desenvolvimento de aplicações paralelas e o tornar mais transparente ao programador, Interfaces de Programação Paralela (IPPs) são largamente utilizadas. Entretanto, cada IPP implementa diferentes formas para trocar dados usando regiões compartilhadas da memória. Estas regiões são, geralmente, mais distantes do processador do que regiões privadas da memória e, por consequência, possuem maior tempo de acesso e consumo de energia. Ademais, o sistema de memória dos processadores embarcados é diferente em hierarquia, tamanho, tempo de acesso, consumo de energia, etc., quando comparado aos processadores de propósito geral. Assim, considerando o cenário supracitado, com diferentes IPPs sendo utilizadas em sistemas multicore com diferentes requisitos, neste trabalho será mostrado que cada interface possui comportamento diferente em termos de desempenho, consumo de energia e Energy-Delay Product (EDP), e que este comportamento varia de acordo com a característica da aplicação e o processador utilizado (propósito geral ou embarcado). Por exemplo, Pthreads consome 8% menos energia que o melhor caso de OpenMP; 12% menos que MPI-1; e 8% menos que MPI-2, considerando todos os benchmarks no processador Intel Core i7 (propósito geral). Em contrapartida, no processador ARM Cortex-A9 (sistema embarcado), o melhor caso com OpenMP consumiu 2% menos energia que Pthreads; 6% menos que MPI-1; e 15% menos que MPI-2, para o mesmo conjunto de benchmarks. / In current computer systems, while it is necessary to exploit the availability of multiple cores, it is also mandatory to consume less energy. To accelerate the development of parallel applications and to make it more transparent to the programmer, Parallel APIs (Application Programming Interfaces) are widely used. However, each Parallel API implements different ways to exchange data using shared memory regions. These regions are generally more remote than the private ones, and therefore have greater access time and energy consumption. Furthermore, the memory system of embedded processors is different with regard to hierarchy, size, access time, energy consumption, etc., when compared to general purpose processors. Thus, considering the above scenario, with different Parallel APIs being used in multicore systems with different requirements, this work will show that each interface has different behavior in terms of performance, energy consumption and Energy-Delay Product (EDP), and that this behavior varies according to the characteristic of the application and the processor employed (general purpose or embedded). For example, as a result of this work, we have observed that Pthreads consumes 8% less energy than the best case of OpenMP; 12% less than MPI-1; and 8% less than MPI-2, considering all benchmarks on the Intel Core i7 (general purpose). In contrast, in the ARM Cortex-A9 processor (embedded system), the best case with OpenMP consumed 2% less energy than Pthreads; 6% less than MPI-1; and 15% less than MPI-2 for the same benchmarks set.
|
290 |
Arquitetura reconfigurável multi-ISA / Multiple-ISA reconfigurable architectureCapella, Fernanda Mathias January 2014 (has links)
O mercado de sistemas embarcados tem demandado uma variada gama de aplicações, aplicações estas cada vez mais complexas. Para atender tal demanda, visto o declínio da lei de Moore e os processadores chegando ao seu limite de dissipação térmica, os projetistas são pressionados a desenvolverem novas organizações computacionais. Para manter a compatibilidade binária, de forma que a grande quantidade de aplicativos e ferramentas já desenvolvidas possa ser reutilizada, as empresas desenvolvem seus produtos focando em melhorias de um dado processador que irá executar a mesma ISA (Instruction Set Architecture). Essa necessidade de compatibilidade de código impõe muitas restrições à equipe de projeto, haja vista as limitações impostas pela ISA legada. A Tradução Binária (TB) abre novas possibilidades aos projetistas, visto que permite a execução de códigos previamente compilados para uma determinada arquitetura em outra arquitetura. No entanto, a TB acrescenta mais uma camada entre o código e sua execução, trazendo perdas de desempenho. Este trabalho explora um novo mecanismo de tradução binária dinâmico de dois níveis que, ao trocar o primeiro nível, pode executar ISAs diferentes de forma totalmente transparente e ainda amortiza os custos de tradução. Da mesma forma ao trocar o segundo nível de tradução binária pode-se trocar a arquitetura alvo. Com base nesse tradutor de dois níveis, é apresentado como estudo de caso um sistema computacional composto por uma arquitetura reconfigurável capaz de executar códigos x86, ARM, PowerPC e MIPS de forma transparente, com compatibilidade binária e com ganhos de desempenho. / The embedded systems market is demanding a wide range of applications, and these applications are increasing in complexity. In order to meet this demand, since the decline of Moore’s law and processors reaching their thermal dissipation limits, designers are pushed to develop new computer organizations. In order to support binary compatibility, so that the large quantity of applications and tools already deployed can be reused, companies develop their products focusing on improvement of a given processor that will execute the same ISA (Instruction Set Architecture) as before. This need for code compatibility impose a lot of restrictions to the design team, considering the limitations imposed by the legacy ISA. Binary Translation (BT) open new possibilities for designers, since it allows the execution of a code previously compiled to a specific architecture in another architecture. However, BT adds another layer between code and actual execution, therefore bringing performance penalties. This work explores a dynamic two-level binary translation system that, by changing the first BT level, allows the execution of different ISAs in a transparent fashion and still amortizes translation costs. In the same way, it is possible to switch to another target architecture by only changing the second BT level. Based on this two-level translator this work presents, as a case study, a computational architecture comprising of an dynamic reconfigurable array that can execute x86, ARM, PowerPC and MIPS binary codes in a transparent way, maintaining binary compatibility with performance gains.
|
Page generated in 0.0763 seconds