• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 85
  • 16
  • Tagged with
  • 101
  • 43
  • 36
  • 29
  • 29
  • 29
  • 28
  • 28
  • 28
  • 28
  • 28
  • 23
  • 18
  • 18
  • 13
  • 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.
21

Mapeamento dinâmico de tarefas em MPSoCs heterogêneos baseados em NoC

Carvalho, Ewerson Luiz de Souza January 2009 (has links)
Made available in DSpace on 2013-08-07T18:42:45Z (GMT). No. of bitstreams: 1 000418219-Texto+Completo-0.pdf: 4033858 bytes, checksum: 2661cfd90512a0fe826582c0489e6ce1 (MD5) Previous issue date: 2009 / MPSoCs are multi-processor systems integrated in a single chip. They are a trend in VLSI circuit design, since they minimize the design productivity crisis represented by the gap between the silicon technol-ogy and the actual SoC design capacity. Examples of MPSoCs include those proposed by Intel and Tilera, composed by 80 and 64 processing elements respectively. MPSoCs may employ NoCs to integrate several processors, memories, as well as specific hardware cores. NoCs may be used to replace busses, due to their ad-vantages of higher scalability and communication parallelism. The target architecture of the present work is a NoC-based heterogeneous MPSoC supporting hard-ware task execution through embedded reconfigurable logic, together with software tasks executed by pro-grammable processors. One of the processors of the target architecture, named manager processor, is respon-sible for system resources management, task scheduling, task mapping, and configuration control. Task map-ping defines the placement of a new task into the system. Most works in literature propose static mapping techniques defined at design time, where all application tasks are mapped simultaneously. This static map-ping is not appropriate for dynamic workloads scenarios. Since applications running in MPSoCs may con-tain a varying number of tasks, and since their number may exceed the available resources, task mapping at run-time is necessary. Such task mapping method is named dynamic task mapping. The present work investigates the performance of heuristics for dynamic task mapping, targeting NoC congestion minimization. Tasks are mapped on demand, according to the communication requests and the load in NoC channels. The implemented algorithms employ a greedy approach, where tasks are indivi-dually mapped. The mapping decision is based on local information, considering the communication con-straints of the requested task. The algorithm used as the reference mapping strategy in experiments maps a task into the first free resource available. Four congestion-aware mapping heuristics are proposed. Through the experiments employing RTL abstraction level modeling, it is possible to observe reductions of 31% in channel load distribution, 15% in average latency, and 87% in congestion level. These results demonstrate the efficiency of proposed heuristics. / MPSoCs são sistemas multiprocessados integrados na forma de um SoC. Eles são tendência no projeto de circuitos VLSI, pois minimizam a crise de produtividade de projeto, representada pelo descompasso entre a capacidade da tecnologia do silício e a capacidade atual de projeto de SoCs. Cita-se como exemplo de MPSoCs os propostos pela Intel e pela Tilera, compostos respectivamente por 80 e 64 núcleos de processa-mento. MPSoCs podem empregar NoCs para integrar diversos processadores, memórias, bem como núcleos de hardware específicos. O uso de NoCs deve-se a suas vantagens em relação a barramentos, entre as quais maior escalabilidade e paralelismo na comunicação. A arquitetura alvo do presente trabalho consiste em um MPSoC heterogêneo, com utilização de NoC como meio interconexão entre os elementos de processamento, suportando a execução de tarefas de hardware via lógica reconfigurável, e a execução de tarefas de software via processadores. Um dos processadores da arquitetura alvo, denominado processador gerente, é responsável por: gerência da ocupação dos recursos do sistema, escalonamento, mapeamento, e configuração de tarefas. O mapeamento de tarefas define a posição de uma dada tarefa no sistema. A maioria dos trabalhos encontrados na literatura propõe técnicas de mapeamento estático, definido em tempo de projeto, no qual todas as tarefas de uma dada aplicação são mapeadas simultaneamente. Este mapeamento estático não é adequado para cenários com carga dinâmica de tarefas. Dado que aplicações executando em um MPSoC podem possuir um número variável de tarefas, e que tal número pode exceder os recursos disponíveis, é necessário realizar o mapeamento de tarefas em tempo de execução, mapeamento este denominado de mapeamento dinâmico.O presente trabalho investiga o desempenho de heurísticas para mapeamento dinâmico de tarefas, com o objetivo de minimizar congestionamentos em NoCs. As tarefas são mapeadas sob demanda, de acordo com as requisições de comunicação e com a ocupação dos canais da NoC. Os algoritmos implementados aplicam estratégias gulosas, onde as tarefas são mapeadas uma por vez. Para isso, a decisão é baseada na informação local da aplicação, apenas relacionada à tarefa requisitada. O algoritmo utilizado como referência nos experimentos mapeia uma dada tarefa no primeiro recurso livre encontrado. Quatro heurísticas congestion-aware são propostas. Através de experimentos realizados com base na modelagem do sistema no nível RTL, pode-se observar redução de 31% na carga nos canais da NoC, de 15% na latência média, e de até 87% no nível médio de congestionamento. Tais resultados demonstram a eficiência das heurísticas propostas.
22

Implementação e avaliação de desempenho de um MPSoC homogêneo interconectado por NoC

Moreira, Odair January 2009 (has links)
Made available in DSpace on 2013-08-07T18:43:06Z (GMT). No. of bitstreams: 1 000422345-Texto+Completo-0.pdf: 5665717 bytes, checksum: 5cf597a5b5d81b97f33438b9e1b499e0 (MD5) Previous issue date: 2009 / The increase in the number of transistors on a single chip has brought new design challenges, among them, how to design new circuits using this available number of transistors. The reuse of Intellectual Property (IP) cores enables the design of such complex systems. The design of a system through the reuse of processors results in a MPSoCs (Multiprocessor System on Chip). MPSoCs are becoming increasingly popular in embedded systems for the high degree of performance and flexibility they permit. In recent years universities and companies have been developing large projects in multiprocessing. The goal of the work is to develop a homogenous MPSoC, using a NoC as the communication infrastructure. NoC is employed due to its higher degree of parallelism and scalability, when compared to busses. The performance of the implemented MPSoC is evaluated, demonstrating the benefits when this architecture is used to design embedded applications. / O aumento do número de transistores em um único chip trouxe novos desafios de projeto, entre eles como aproveitar efetivamente este elevado número de componentes. Uma das formas encontradas é através do reuso de módulos de hardware. Quando estes módulos de hardware são processadores, temos multiprocessamento em chip, resultando nos MPSoCs (Multiprocessor System on Chip). Os MPSoCs estão se tornando elementos comuns em sistemas embarcados, devido ao alto desempenho e à flexibilidade que eles trazem ao projeto. Nos últimos anos universidades e empresas vem desenvolvendo grandes projetos em multiprocessamento. O presente trabalho tem por objetivo desenvolver um MPSoC homogêneo, com interconexão por NoC. A motivação para a adoção de NoCs reside no maior paralelismo e escalabilidade desta infraestrutura de comunicação, quando comparado a barramentos. O desempenho do MPSoC desenvolvido é avaliado, demonstrando-se os benefícios em se utilizar este tipo de arquitetura no projeto de sistemas embarcados.
23

Particionamento e mapeamento de MPSOCS homogêneos baseados em NOCS

Antunes, Eduardo de Brum January 2012 (has links)
Made available in DSpace on 2013-08-07T18:43:27Z (GMT). No. of bitstreams: 1 000437796-Texto+Completo-0.pdf: 2125944 bytes, checksum: 5e312ec4db3f55dac8ce8c7388128326 (MD5) Previous issue date: 2012 / The increasing complexity of the applications demands more processing capacity, which boosts the development of a computational system composed of modules, such as processors, memories and specific hardware cores, called Multi-Processor System-on- Chip (MPSoC). If the modules of this system are connected through a Network-on-Chip (NoC) communication infrastructure and all processors are of the same type, they are known by homogeneous NoC based MPSoC. One of the main problems relating to MPSoCs design is the definition of which processors of the system will be responsible for each application task execution, objecting to meet the design requirements, such as the energy consumption minimization and the application execution time reduction. This work aims to carry out quickly and efficiently partitioning and mapping activities for the design of homogeneous MPSoCs. More specifically, the partitioning application's task into groups, and mapping of tasks or task groups into a target architecture type homogeneous NoC-based MPSoC. These activities are guided by requirements of energy consumption minimization and load balancing, and delimited by constraints of maximum energy consumption, maximum processing load and maxima areas of data and code of each processor. The work shows the complexity of partitioning and mapping activities separately and jointly. It also shows that the mapping is more efficient on energy consumption minimization, when compared to partitioning, yet the effect of partitioning cannot be neglected. Moreover, the joint effect of both activities saves in average 37% of energy. The mapping when performed at runtime may be inefficient, due to the short time and the large number of solutions to be explored. Having an approach that applies a static partition before the dynamic mapping, it is possible to achieve more efficient mappings. It happens due to the fact that static task partition onto groups minimizes the search space of the mapping. Experiments with several synthetic applications and four embedded applications show that the energy consumption is reduced 23. 5%, in average. This paper presents the PALOMA framework that performs the partitioning of tasks onto groups and the CAFES framework to map these ones into tiles of the target architecture, where each position contains a processor. These activities enable planning systems with less energy consumption, faster and in an acceptable design time. / O aumento da complexidade das aplicações demanda maior capacidade de processamento, impulsionando o desenvolvimento de um sistema computacional compostos por módulos como processadores, memórias e núcleos de hardware específicos, chamado de Multi-Processor System-on-Chip (MPSoC). Se os módulos deste sistema forem conectados por uma infraestrutura de comunicação do tipo Network-on- Chip (NoC) e todos os processadores forem de um único tipo, este é chamado de MPSoC homogêneo baseado em NoC. Um dos principais problemas relativo ao projeto de MPSoCs é a definição de qual dos processadores do sistema será responsável pela execução de cada tarefa de uma aplicação, visando atender os requisitos de projeto, tais como a redução do consumo de energia e a redução do tempo de execução da aplicação. Este trabalho tem como objetivo a realização de forma rápida e eficiente das atividades de particionamento e mapeamento para o projeto de MPSoCs homogêneos. Mais especificamente o particionamento de tarefas de uma aplicação em grupos, e o mapeamento de tarefas ou grupos de tarefas em processadores homogêneos de uma arquitetura alvo do tipo MPSoC baseado em NoC. Sendo estas atividades guiadas por requisitos de redução do consumo de energia e balanceamento de carga, e delimitadas por restrições de máximo consumo de energia, máxima carga de processamento e máximas áreas de dados e código associadas a cada processador. O trabalho mostra a complexidade das atividades de particionamento e mapeamento, separadas e conjuntamente. Mostra também que o mapeamento é mais eficiente na redução de consumo de energia, quando comparado com o particionamento, mas mesmo assim o efeito do particionamento não pode ser negligenciado. Além disto, o efeito conjunto de ambas as atividades reduz em média 37% o consumo de energia.O mapeamento, quando realizado em tempo de execução, pode ser pouco eficiente, devido ao tempo exíguo e ao grande número de soluções a serem exploradas. Utilizando uma abordagem que aplica um particionamento estático anterior ao mapeamento dinâmico, permite obter mapeamentos mais eficientes. Isto porque o particionamento estático de tarefas em grupos reduz o espaço de busca que o mapeamento necessita realizar. Experimentos com várias aplicações sintéticas e quatro aplicações embarcadas mostram que a redução média do consumo de energia é de 23,5%. Este trabalho apresenta o framework PALOMA que realiza o particionamento de tarefas em grupos e o framework CAFES para fazer o mapeamento destes em posições da arquitetura alvo, onde cada posição contém um processador. Estas atividades permitem planejar sistemas com menor consumo de energia, mais velozes e em tempo de projeto aceitável.
24

Tolerância a falhas em elementos de processamento de MPSoCs

Barreto, Francisco Favorino da Silva January 2015 (has links)
Made available in DSpace on 2015-12-15T01:05:04Z (GMT). No. of bitstreams: 1 000476711-Texto+Completo-0.pdf: 1459361 bytes, checksum: 48f64a1e41d4416a6b1e434eaf5ed4d3 (MD5) Previous issue date: 2015 / The need of more processing capacity for embedded systems nowadays is pushing the research of MPSoCs with tens or hundreds of processors. These characteristics bring design challenges such as scalability and dependability. Such complex systems must have fault tolerant methods to ensure acceptable reliability and availability. This way, the user is not exposed to significant data losses, malfunctioning and even the total system failure. Considering this technology trend, the present work proposes a fault tolerance method with focus in fault recovery. The method uses concepts largely explored in distributed systems to solve the problem of permanent failures in the processing elements of MPSoCs. The implementation is exclusively in software, and recovers the system exposed to a permanent failure on processing elements, reallocating all tasks that were executing in the faulty element to a healthy processing element. The failed application tasks restart their executions since there is no context saving, enabling a lightweight method. The experiments are performed in the HeMPS platform, evaluating the most relevant parameters as recovery time, communication bandwidth impact, scalability and others. In the absence of faults, the proposed protocol has 21 Kbytes of memory area (20% more compared to the original kernel) and no overhead in terms of execution time. In the presence of faults, the results demonstrate total recovery times from 0. 2ms to 1ms, depending on the number of reallocated tasks (1 to 7). The biggest impact in the protocol time is related with the reallocation task phase. / A pesquisa em MPSoCs (do inglês, Multiprocessor System on Chip) tem sido motivada pela necessidade crescente de maior capacidade de processamento das aplicações de sistemas embarcados. Devido à esta tendência, os MPSoCs tornam-se cada vez mais complexos e miniaturizados. Estas características trazem associados desafios como escalabilidade e dependabilidade. O sistema que tem a necessidade de ser confiável e estar disponível em todo o seu tempo operação precisa ser tolerante a falhas a ponto de recuperar-se automaticamente. Dessa forma o usuário não será exposto a perdas de informação, execução malsucedida ou até mesmo a falha total do sistema. Este trabalho propõe um método de tolerância a falhas com foco na recuperação de falhas. O método utiliza conceitos utilizados em computação distribuída para solucionar o problema de falhas permanentes em elementos de processamento de um MPSoCs. O método proposto, implementado exclusivamente em software, recupera um sistema exposto a uma falha permanente de um elemento de processamento, realizando uma realocação das tarefas que estavam sendo executadas pelo elemento que falhou para um elemento de processamento saudável do sistema. As tarefas da aplicação que falharam devem reiniciar suas execuções do ponto de partida dado que o contexto da execução não é salvo, mantendo assim um baixo overhead no sistema, como demonstrado nos resultados obtidos. Os experimentos foram realizados na plataforma HeMPS com uma avaliação dos parâmetros mais relevantes como tempo de recuperação, impacto em banda de comunicação, escala e outros, que justificam a viabilidade e as vantagens do método proposto. Na ausência de falhas, o protocolo proposto não altera o tempo de execução, porém aumenta o tamanho de memória do kernel para 21 Kbytes, 20% de acréscimo comparado com o kernel original. Os resultados obtidos na presença de falhas mostram que o tempo total de recuperação de falhas do método é de 0,2ms a 1ms, dependendo do número de tarefas realocadas devido ao PE defeituoso. O maior impacto de tempo no protocolo se dá com a etapa de realocação de tarefas.
25

Hardware-based approach to support mixed-critical workload execution in multicore processors

Green, Bruno Naspolini January 2015 (has links)
Made available in DSpace on 2016-05-07T12:04:18Z (GMT). No. of bitstreams: 1 000478485-Texto+Completo-0.pdf: 5399784 bytes, checksum: 68454c801dfde629ebad948323993992 (MD5) Previous issue date: 2015 / The use of multicore processors in general-purpose real-time embedded systems has experienced a huge increase in the recent years. Unfortunately, critical applications are not benefiting from this type of processors as one could expect. The major obstacle is that we may not predict and provide any guarantee on real-time properties of software running on such platforms. The shared memory bus is among the most critical resources, which severely degrades the timing predictability of multicore software due to the access contention between cores. To counteract this problem, we present in this work a new approach that supports mixed-criticality workload execution in a multicore processor-based embedded system. It allows any number of cores to run less-critical tasks concurrently with the critical core, which is running the critical task. The approach is based on the use of a dedicated Hard Deadline Enforcer (HDE) implemented in hardware, which allows the execution of any number of cores (running less-critical workloads) concurrently with the critical core (executing the critical workload).From the best of our knowledge, compared to existing techniques, the proposed approach allows the exploitation of the maximum performance offered by a multiprocessing system while guaranteeing critical task schedulability. Additionally, the proposed approach presents the same design complexity as any other approach devoted to perform timing analysis for single core processor, no matter the number of cores are used in the embedded system on the design. If current techniques were used, the design complexity to perform timing analysis would increase dramatically as long as the number of cores in the embedded system increases. A case-study based on a dual-core version of the LEON3 processor was implemented to demonstrate the applicability and assertiveness of the approach. Several critical application codes were compiled to this processor, which was mapped into a Xilinx Spartan 3E FPGA. Experimental results demonstrate that the proposed approach is very effective on combining system high-performance with critical task schedulability within timing deadline. / O uso de processadores multicore em sistemas embarcados em tempo real de propósito geral tem experimentado um enorme aumento nos últimos anos. Infelizmente, aplicações críticas não se beneficiam deste tipo de processadores como se poderia esperar. O principal obstáculo é que não podemos prever e fornecer qualquer garantia sobre as propriedades em tempo real do software em execução nessas plataformas. O barramento de memória compartilhada está entre os recursos mais críticos, que degrada severamente a previsibilidade temporal do software multicore devido à contenção de acesso entre os núcleos. Para combater este problema, apresentamos neste trabalho uma nova abordagem que suporta a execução de carga de trabalho de criticidade mista em um sistema embarcado baseado em processadores multicore. Permitindo que qualquer número de núcleos execute tarefas menos críticas concorrentemente com o núcleo crítico que executa a tarefa crítica. A abordagem baseia-se na utilização de um Hard Deadline Enforcer (HDE) implementado em hardware, que permite a execução de qualquer número de núcleos (executando cargas de trabalho menos críticas) simultaneamente com o núcleo crítico (executando a carga crítica). A partir do melhor de nosso conhecimento, em comparação com as técnicas existentes, a abordagem proposta permite a exploração do desempenho máximo oferecido por um sistema multicore, garantindo a escalonabilidade da tarefa crítica. Além disso, a abordagem proposta apresenta a mesma complexidade de projeto, como qualquer outra abordagem dedicada a análise temporal para processadores de núcleo único, não importando o número de núcleos que são utilizados no sistema incorporado ao design. Caso técnicas atuais fossem utilizadas, a complexidade do projeto para análise temporal de sistemas de múltiplos núcleos aumentaria dramaticamente conforme o aumento do número de núcleos do sistema embarcado. Foi implementado um estudo de caso baseado em uma versão dual-core do processador LEON3 para demonstrar a aplicabilidade e assertividade da abordagem. Vários códigos de aplicações críticas foram compilados para este processador, que foi mapeado na FPGA Spartan 3E da Xilinx. Resultados experimentais demonstram que a abordagem proposta é muito eficaz na obtenção da alta performance do sistema respeitando o deadline da tarefa crítica.
26

Mecanismo de controle de QoS através de DFS em MPSOCS

Guindani, Guilherme Montez January 2014 (has links)
Made available in DSpace on 2014-08-12T02:02:08Z (GMT). No. of bitstreams: 1 000460169-Texto+Completo-0.pdf: 3081910 bytes, checksum: bda8ab1c3d4e5934b700c785cbc0617c (MD5) Previous issue date: 2014 / The quality of service (QoS) management in NoC-based MPSoCs, with dozens of applications executing simultaneously, is an open research challenge in the integrated circuit design area. Adaptability techniques, which use different QoS metrics, have been used at design time to guarantee the QoS of the applications. Designers include in their systems monitoring schema that guides embedded controllers in managing the resources of the MPSoC to satisfy the QoS requirements imposed to the applications. In order words, MPSoCs are able to self-adapt while running a set of applications. The self-adaptation capability is a fundamental characteristic to satisfy the QoS requirements on the systems with dynamic workload. The dynamic voltage and frequency scaling (DVFS) is the most used adaptation method for reducing the overall energy consumption of an MPSoC. However, this method does not take into account other QoS requirements such as throughput or latency. Another example of adaptation technique is task migration, whose main goal is to balance the workload of the MPSoC. The QoS control mechanism proposed in the scope of this Thesis uses the dynamic frequency scaling (DFS) technique to control the QoS parameters of the application, keeping energy consumption low profile. Each processor has a monitoring system, a QoS evaluation system and an adaptation module, which are used to control the QoS parameters to satisfy the QoS requirements imposed to the applications. At the system startup, each processor uses a DFS policy that tries to optimize the communication with its neighbor’s processors. The processors use this policy up to the moment when they reach a steady frequency state. After reaching the steady frequency state the QoS monitoring starts, evaluating if they the requirements imposed at design time are respected. The proposed QoS control mechanism was evaluated using two synthetic and one real application, using the HeMPS MPSoC, with the throughput and latency parameters as the QoS parameters to be controlled. The presented results show that the proposed QoS control mechanism can satisfy the imposed QoS requirements using the DFS technique while maintaining low energy consumption on the HeMPS MPSoC. / O controle dos requisitos de qualidade de serviço (QoS) em MPSoCs baseados em NoC, com dezenas de tarefas sendo executadas simultaneamente ainda é um desafio na área de projeto de circuitos integrados. Técnicas de adaptabilidade que adotam diferentes métricas de QoS são utilizadas tanto em tempo de projeto quanto em tempo de execução. Os projetistas incluem em seus sistemas mecanismos de monitoramento que guiam os controladores embarcados na adaptação dos recursos do MPSoC para atender os requisitos de QoS impostos a aplicações. Em outras palavras, MPSoCs são capazes de se auto-adaptarem, enquanto executam um dado conjunto de aplicações.A capacidade de auto-adaptação é uma característica fundamental para atender requisitos de QoS nos sistemas que apresentam carga dinâmica de trabalho. O ajuste dinâmico de tensão e frequência (DVFS) é a técnica de adaptação mais utilizada para reduzir o consumo de energia geral de um MPSoC, porém esta técnica não leva em consideração outros requisitos de QoS, como vazão ou latência. Outro exemplo de técnica de adaptação frequentemente utilizada é a migração de tarefas, cujo foco é o balanceamento de carga de uma aplicação.O mecanismo de controle de QoS em MPSoCs proposto no escopo desta Tese de Doutorado utiliza a técnica de adaptação de gerência dinâmica de frequência (DFS) para controlar os requisitos de QoS e aplicações de um MPSoC, mantendo um baixo perfil de consumo de energia. Cada processador possui um sistema de monitoramento, um sistema de avaliação de QoS e um módulo de adaptabilidade, que são utilizados para controlar os parâmetros de QoS das aplicações. Em um momento inicial, cada processador que executa uma tarefa de uma dada aplicação utiliza uma política de DFS, onde a comunicação com seus vizinhos é otimizada. Após atingir um estado de estabilidade de frequência, o desempenho da aplicação é monitorado e controlado, ajustando-se a frequência dos processadores da aplicação de acordo com os requisitos de QoS impostos em tempo de projeto.O mecanismo proposto de controle de QoS em MPSoCs foi avaliado utilizando duas aplicações sintéticas e uma real, executadas sobre a plataforma HeMPS, e com a vazão e latência como requisitos de QoS controlados. Os resultados mostram que o mecanismo proposto de controle de QoS em MPSoCs consegue atender aos requisitos de QoS impostos a uma aplicação, através da utilização da técnica de DFS e manter um baixo consumo de energia.
27

Hardware-based approach to support mixed-critical workload execution in multicore processors

Green, Bruno Naspolini 23 December 2015 (has links)
Submitted by Setor de Tratamento da Informa??o - BC/PUCRS (tede2@pucrs.br) on 2016-05-06T16:26:38Z No. of bitstreams: 1 DIS_BRUNO_NASPOLINI_GREEN_COMPLETO.pdf: 5399784 bytes, checksum: 68454c801dfde629ebad948323993992 (MD5) / Made available in DSpace on 2016-05-06T16:26:38Z (GMT). No. of bitstreams: 1 DIS_BRUNO_NASPOLINI_GREEN_COMPLETO.pdf: 5399784 bytes, checksum: 68454c801dfde629ebad948323993992 (MD5) Previous issue date: 2015-12-23 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior - CAPES / The use of multicore processors in general-purpose real-time embedded systems has experienced a huge increase in the recent years. Unfortunately, critical applications are not benefiting from this type of processors as one could expect. The major obstacle is that we may not predict and provide any guarantee on real-time properties of software running on such platforms. The shared memory bus is among the most critical resources, which severely degrades the timing predictability of multicore software due to the access contention between cores. To counteract this problem, we present in this work a new approach that supports mixed-criticality workload execution in a multicore processor-based embedded system. It allows any number of cores to run less-critical tasks concurrently with the critical core, which is running the critical task. The approach is based on the use of a dedicated Hard Deadline Enforcer (HDE) implemented in hardware, which allows the execution of any number of cores (running less-critical workloads) concurrently with the critical core (executing the critical workload). From the best of our knowledge, compared to existing techniques, the proposed approach allows the exploitation of the maximum performance offered by a multiprocessing system while guaranteeing critical task schedulability. Additionally, the proposed approach presents the same design complexity as any other approach devoted to perform timing analysis for single core processor, no matter the number of cores are used in the embedded system on the design. If current techniques were used, the design complexity to perform timing analysis would increase dramatically as long as the number of cores in the embedded system increases. A case-study based on a dual-core version of the LEON3 processor was implemented to demonstrate the applicability and assertiveness of the approach. Several critical application codes were compiled to this processor, which was mapped into a Xilinx Spartan 3E FPGA. Experimental results demonstrate that the proposed approach is very effective on combining system high-performance with critical task schedulability within timing deadline. / O uso de processadores multicore em sistemas embarcados em tempo real de prop?sito geral tem experimentado um enorme aumento nos ?ltimos anos. Infelizmente, aplica??es cr?ticas n?o se beneficiam deste tipo de processadores como se poderia esperar. O principal obst?culo ? que n?o podemos prever e fornecer qualquer garantia sobre as propriedades em tempo real do software em execu??o nessas plataformas. O barramento de mem?ria compartilhada est? entre os recursos mais cr?ticos, que degrada severamente a previsibilidade temporal do software multicore devido ? conten??o de acesso entre os n?cleos. Para combater este problema, apresentamos neste trabalho uma nova abordagem que suporta a execu??o de carga de trabalho de criticidade mista em um sistema embarcado baseado em processadores multicore. Permitindo que qualquer n?mero de n?cleos execute tarefas menos cr?ticas concorrentemente com o n?cleo cr?tico que executa a tarefa cr?tica. A abordagem baseia-se na utiliza??o de um Hard Deadline Enforcer (HDE) implementado em hardware, que permite a execu??o de qualquer n?mero de n?cleos (executando cargas de trabalho menos cr?ticas) simultaneamente com o n?cleo cr?tico (executando a carga cr?tica). A partir do melhor de nosso conhecimento, em compara??o com as t?cnicas existentes, a abordagem proposta permite a explora??o do desempenho m?ximo oferecido por um sistema multicore, garantindo a escalonabilidade da tarefa cr?tica. Al?m disso, a abordagem proposta apresenta a mesma complexidade de projeto, como qualquer outra abordagem dedicada a an?lise temporal para processadores de n?cleo ?nico, n?o importando o n?mero de n?cleos que s?o utilizados no sistema incorporado ao design. Caso t?cnicas atuais fossem utilizadas, a complexidade do projeto para an?lise temporal de sistemas de m?ltiplos n?cleos aumentaria dramaticamente conforme o aumento do n?mero de n?cleos do sistema embarcado. Foi implementado um estudo de caso baseado em uma vers?o dual-core do processador LEON3 para demonstrar a aplicabilidade e assertividade da abordagem. V?rios c?digos de aplica??es cr?ticas foram compilados para este processador, que foi mapeado na FPGA Spartan 3E da Xilinx. Resultados experimentais demonstram que a abordagem proposta ? muito eficaz na obten??o da alta performance do sistema respeitando o deadline da tarefa cr?tica.
28

Estimativa de desempenho de software e consumo de energia em MPSoCs

Johann Filho, Sérgio January 2009 (has links)
Made available in DSpace on 2013-08-07T18:42:58Z (GMT). No. of bitstreams: 1 000419188-Texto+Completo-0.pdf: 2389705 bytes, checksum: 7142723f44a1f3c5a063142bb2c8760b (MD5) Previous issue date: 2009 / To supply the ever-increasing need for processing power, the embedded software project includes the utilization of several processors along with complex communication infrastructures (as hierarchycal buses and networks-on-a-chip). There is an increasing need for a greater number of functionalities inside a single system. In this scenario, issues related to energy consumption estimations become important in the embedded electronic systems project. This way, the multi-processor embedded systems workflow needs tools to generate performance and energy consumption estimations during all development cycle, in order to verify if the project building process conforms to its specification. The performance, as the energy consumption of a system have to be evaluated as soon as possible in the workflow. Analytical methods are proposed to allow performance and energy estimations in a fast way, avoiding prohibitive simulation times. In analytical methods the system is modeled as a series of properties and abstract models are used to calculate the system performance. Although analytical methods are faster than simulation ones, their modelling is more complex. Along with this fact, the high abstraction level in which the system is represented becomes unfeasible due to the high increase in states necessary to represent such systems, which is the case of more recent embedded systems. This way, better approaches in simulation based methods become very interesting, and a study in this field is presented in this work. / Para atender a uma cresente demanda por desempenho de processamento, o projeto de sistemas embarcados inclui a utilização de diversos processadores além de infra-estruturas de comunicação complexas (por exemplo, barramentos hierárquicos e redes intra-chip). Há uma crescente demanda por um número cada vez maior de funcionalidades contidas em um único sistema. Neste cenário, questões relacionadas a estimativas de consumo de energia ganham importância no projeto de sistemas eletrônicos embarcados. Dessa forma, o fluxo de projeto de sistemas embarcados multi-processados necessita de ferramentas para a geração de estimativas de desempenho e consumo de energia durante todo o ciclo de desenvolvimento, de forma a verificar se o caminho de construção do projeto condiz com a especificação do mesmo. O desempenho, assim como o consumo de energia de um determinado sistema precisam ser avaliadados o mais cedo possível no fluxo de projeto. Métodos analíticos são propostos para que estimativas de desempenho e de consumo de energia possam ser realizadas de maneira rápida, evitando tempos proibitivos de simulação. Nos métodos analíticos o sistema é modelado como uma série de propriedades e modelos abstratos são utilizados para o cálculo do desempenho do sistema. Apesar de métodos analíticos serem mais rápidos que métodos baseados em simulação a modelagem do sistema é mais complexa. Além disso, devido ao alto nível de abstração em que o sistema é representado, seu uso em sistemas grandes e complexos se torna inviável devido a explosão de estados necessários para a representação sistêmica destes, que é o caso de recentes projetos de sistemas embarcados. Dessa forma, melhorias nos métodos baseados em simulação tornam-se bastante pertinentes, e um estudo dessa área é apresentado nesse trabalho.
29

Serviços de comunicação diferenciados em sistemas multiprocessados em chip baseados em redes intra-chip

Carara, Everton Alceu January 2011 (has links)
Made available in DSpace on 2013-08-07T18:43:05Z (GMT). No. of bitstreams: 1 000433647-Texto+Completo-0.pdf: 4232185 bytes, checksum: c4bc7e337648060436ec9e548192a2e2 (MD5) Previous issue date: 2011 / Multiprocessor systems on chip (MPSoCs) are being considered as a probable standard for implementing future embedded systems. The computational power of these platforms allows the simultaneous execution of several applications with different requirements. The use of networks-on-chip (NoCs) as the communication infrastructure in these platforms is a reality in academic research and industrial projects, as well NoCs are considered an alternative to traditional buses, offering as major advantages scalability and support to multiple parallel communications. However, the motivation for their use in SoCs (Systems-on-Chip) goes beyond these evident advantages, once NoCs can support several communication services with different levels of quality. Since applications running on MPSoCs are often composed by several communicating tasks, efficient support to communications has a key role on the performance of these and is a strategic area in the development of multiprocessed platforms. Many works have been conducted in the last decade in NoC and MPSoC areas, however few of these address the gap between the network (communication services) and application levels within NoC-based MPSoCs. This work aims at the implementation of different communication services at the network level and its availability at the application level, in this way bridging the gap between these levels by a better hardware/software integration. The followed design methodology starts with the implementation of specific mechanisms at the network level to support differentiated communication services. These services are exposed at the application level through primitives that compose a communication API (Application Programming Interface). The purpose of the approach is to offer to application developers’ software support to meet application communication requirements, especially to those applications with time constraints. The performed evaluations show the operation and the benefits obtained through the use of the implemented services, besides identifying some scenarios where these do not fit so well. / Sistemas multiprocessados em chip (MPSoCs - Multiprocessor Systems-on-Chip) estão sendo considerados como provável padrão para implementar os sistemas embarcados futuros. O poder computacional destas plataformas possibilita a execução simultânea de diversas aplicações com diferentes requisitos. O emprego de redes intrachip (NoCs – Networks-on-Chip) como infraestrutura de comunicação em tais plataformas é uma realidade em pesquisas acadêmicas e projetos industriais. NoCs são comumente vistas como alternativa aos tradicionais barramentos, oferecendo como principais vantagens escalabilidade e suporte a diversas comunicações em paralelo. Contudo, a motivação para o seu emprego em SoCs (Systems-on-Chip) vai além dessas vantagens óbvias, visto que NoCs podem suportar diversos serviços de comunicação com diferentes níveis de qualidade. Visto que comumente as aplicações que executam em MPSoCs são compostas por diferentes tarefas comunicantes, o eficiente suporte à comunicação tem um papel fundamental no desempenho destas e é uma área estratégica no desenvolvimento de plataformas multiprocessadas. Muitos trabalhos têm sido conduzidos na última década nas áreas de NoCs e MPSoCs, entretanto poucos tratam a lacuna existente entre os níveis de rede (serviços de comunicação) e de aplicação em MPSoCs baseados em NoC. Este trabalho tem por objetivo a implementação de diferentes serviços de comunicação no nível de rede e a disponibilização destes no nível de aplicação, preenchendo assim a lacuna existente entre tais níveis através de uma melhor integração hardware/software.A metodologia de projeto seguida neste trabalho parte da implementação de mecanismos específicos no nível da rede, os quais dão suporte a serviços de comunicação diferenciados. Tais serviços são expostos no nível de aplicação através de primitivas que compõem a API (Application Programming Interface) de comunicação. O propósito desta abordagem é oferecer ao desenvolvedor de aplicações meios, em software, para satisfazer os requisitos de comunicação das aplicações, especialmente daquelas com restrições temporais. As avaliações realizadas mostram o funcionamento e os benefícios obtidos através da utilização dos serviços implementados, além de apontar alguns cenários onde estes não se adequam tão bem.
30

Distributed memory organization with support for data migration for noc-based MPSOCS

Chaves, Tales Marchesan January 2011 (has links)
Made available in DSpace on 2013-08-07T18:42:39Z (GMT). No. of bitstreams: 1 000438252-Texto+Completo-0.pdf: 1960381 bytes, checksum: f2fbe64a6e6d4c7fc9e87728e86cb0b8 (MD5) Previous issue date: 2011 / The evolution in the deployment of semiconductor technology has enabled the development of System-on-Chip (SoCs) that integrate several processing elements (PEs) and memory modules in a single chip. SoCs that integrate several PEs are referred as Multiprocessor System-on-Chip (MPSoCs). As the number of PEs increases in an MPSoC, techniques that present low energy consumption, low latency and scalability become necessary. In NoC-based MPsoCs that adopt the Shared Memory model in the L2 cache, as the number of PEs increases, the number of accesses to memory modules also increases. This makes memory organization one of the most critical components of the system because it can present high energy consumption and high latency. Such factors may limit the use and scalability of MPSoC systems. Among the factors that contribute to increase latency and energy consumption in memory organizations are: the cache coherence protocol and the mapping of application's data. This work proposes the use of a cache memory organization that presents non-uniform access latency, where accesses to the L1 cache can target different L2 cache banks (NUCA – non uniform cache access architecture), as a function of the address being accessed. Additionally, this work proposes the exploration of the physical services provided by the network-on-chip, such as multicast and priorities, to optimize the implementation of a directory-based cache coherence protocol. The obtained results show an average reduction of 39% in communication energy consumption and 17% reduction in latency for transactions of the cache coherence protocol when exploring NoC services. To improve placement of application's data, a data migration protocol is proposed. The goal of the protocol is to approximate L2 cache blocks to PEs that are mostly accessing it, moving blocks to a closer L2 cache bank, if available. By using a data migration protocol, an average reduction of 29% was obtained in the energy consumption of cache accesses. / O avanço da tecnologia de semicondutores possibilitou o desenvolvimento de sistemas intra-chip (SoCs) que integram, em um mesmo chip, diversos elementos de processamento (PEs) e módulos de memória. SoCs que possuem mais de um PE são denominados de sistemas intra-chip multiprocesados (MPSoCs). À medida que o número de PEs aumenta em um MPSoC, torna-se necessário o uso de técnicas que resultem em um baixo consumo de energia, baixa latência na comunicação e escalabilidade. Em MPSoCs baseados em redes intra-chip, com blocos de memória compartilhada (cache L2), o aumento no número de PEs culmina no aumento da quantidade de acessos realizados a estes módulos. Isto torna a organização de memória um dos componentes mais críticos destes sistemas, tendo em vista que a mesma pode apresentar um alto consumo de energia e alta latência de resposta. Fatores como estes podem limitar o uso e a escalabilidade destes sistemas. Dentre os fatores que afetam o consumo de energia e a latência da organização de memória de um MPSoC estão: o protocolo de coerência de cache e o mapeamento dos dados de aplicações. Este trabalho propõe a utilização de uma organização de memória cache L1 que possui latência de acesso não uniforme, onde acessos realizados podem ser destinados a diferentes bancos de memória cache L2 (NUCA – non uniform cache access architecture). Além disso, o presente trabalho explora os serviços físicos providos pela rede intra-chip, tais como multicast e prioridades, para otimizar a implementação de um protocolo de coerência de cache baseado em diretório. Os resultados obtidos mostram uma redução média de 39% no consumo de energia de comunicação e 17% de latência em transações do protocolo de coerência quando explorando serviços físicos oferecidos pela rede intra-chip. Além disso, a fim de melhorar o posicionamento de dados de aplicações, é proposto um protocolo de migração de dados que posiciona os dados utilizados por uma região de PEs em um banco de memória cache L2 próximo. Com a utilização deste protocolo, é possível obter uma redução média de 29% no consumo de energia nos acessos à memória cache L2.

Page generated in 0.098 seconds