• 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.
1

Um MPSOC GALS baseado em rede intrachip com geração local de relógio

Heck, Guilherme January 2012 (has links)
Made available in DSpace on 2013-08-07T18:42:17Z (GMT). No. of bitstreams: 1 000445336-Texto+Completo-0.pdf: 3946436 bytes, checksum: 1e6fa2914e52a5786113539640cd4a99 (MD5) Previous issue date: 2012 / Due to the evolution of deep submicron technologies for semiconductor fabrication, it is possible nowadays to manufacture increasingly complex systems inside a single sili-con die. However, this evolution in some cases mandates the abandonment of traditional design techniques. The development of purely synchronous complex systems begins to be influenced by relatively long intrachip distances as well as by parasitic effects in wires with growingly small cross-sections. Besides, it is important to enable the design of devices with enhanced processing capabilities to fulfill the demand for multiple applications in re-search and industry environments, while at the same time improving energy efficiency. This is motivated by the significant increase on the demand for multifunctional portable equipments like tablets and smart phones that must everyday become faster and yet present reasonable battery life. In view of these facts, new paradigms for the design of globally asynchronous locally synchronous (GALS) systems come to the forefront in the construction of multiprocessor systems on chip (MPSoCs). This work has as main strateg-ic objective to explore GALS MPSoC architectures that target the control of power dissipa-tion. The decision to work with MPSoCs comes from the natural need to increase the number of processing elements in current designs, as a way to take full advantage of the silicon technological evolution. During the development of this work five distinct contribu-tions are worth mentioning. First, the architectures of the Hermes-GLP NoC router and of the HeMPS MPSoC were subject to a set of corrections and modifications, to provide these modules with better support to the implementation of GALS systems. This allowed the proposition of a new MPSoCs, called HeMPS-GLP. Second, a set of changes in the embedded processor microkernel of the HeMPS MPSoC enabled the smooth interconnec-tion and configuration of new hardware structures to the system processors. Third, a new high-level language verification environment for the HeMPS-GLP MPSoC was made avail-able, which supports up to 256 distinct operating frequencies for the NoC, together with the independent definition of each processing element´s clock. Fourth, there is the propo-sition of a new local clock generator targeting minimum area, low power dissipation, oper-ating frequency stability and insensitivity to process, voltage and temperature variations. Finally, this work provides a simulation and code generation environment for silicon im-plementations of the HeMPS-GLP MPSoC. This environment emulates the local clock ge-nerators, based on the designed local clock generator. / Devido à evolução das tecnologias nanométricas profundas em semicondutores, hoje é possível a fabricação de sistemas cada vez mais complexos em um único chip. Entretanto, esta evolução está inviabilizando, em alguns casos, práticas de projeto tradi-cionais. O desenvolvimento de sistemas complexos puramente síncronos começa a ser influenciado por distâncias intrachip relativamente longas, bem como por efeitos parasitas em fios com áreas de secção reta cada vez menores. Adicionalmente, ganha destaque em pesquisa e na indústria a necessidade de projetar dispositivos com elevada capacida-de de processamento para atender a demanda de múltiplas aplicações, enquanto aprimo-ram-se os níveis de eficiência energética. Isto é motivado pelo significativo aumento da procura por equipamentos portáteis multifunções como tablets e celulares inteligentes mais velozes e com durabilidade de bateria razoável. À luz destes fatos, novos paradig-mas de projeto de sistemas globalmente assíncronos e localmente síncronos (GALS) ga-nham destaque para construir sistemas multiprocessados em chip (MPSoCs). Este traba-lho tem como principal objetivo estratégico explorar arquiteturas GALS para MPSoCs com alvo no controle da potência dissipada. Escolhe-se trabalhar sobre MPSoCs devido ao aumento significativo de módulos de processamento em projetos atuais como uma forma de tirar vantagem plena da evolução das tecnologias de fabricação baseadas em silício. Ao longo das atividades, cinco contribuições podem ser destacadas oriundas cada uma de um conjunto de trabalhos práticos desenvolvidos. Primeiro, propôs-se um conjunto de correções e modificações nas arquiteturas do roteador da NoC Hermes-GLP e do MPSoC HeMPS, visando transformar estes em um melhor suporte à implementação de sistemas GALS. Isto produziu uma nova arquitetura de MPSoC, denominado HeMPS-GLP. Segun-do, alterações na estrutura do microkernel embarcado dos processadores do MPSoC HeMPS possibilitaram a interconexão e configuração corretas de novas estruturas em hardware aos processadores em questão. Terceiro, disponibilizou-se um ambiente de ve-rificação em linguagem de alto nível para o MPSoC HeMPS-GLP, com suporte a até 256 níveis distintos de frequência para a rede, bem como a definição do relógio de cada IP de processamento de forma independente. Em quarto lugar, foram realizados o estudo e o projeto de um gerador local de relógio visando obter área mínima, baixa dissipação de potência, estabilidade em frequência e insensibilidade a variações de processo, tensão de alimentação e temperatura. Quinto e último, foi desenvolvido um ambiente de simulação e geração de código sintetizável em silício para o MPSoC HeMPS-GLP. Este provê a emu-lação do sistema de geração local de relógio, baseado no gerador local projetado.
2

Reduction of energy consumption in MPSOCS through a dynamic frequency scaling technique

Rosa, Thiago Raupp da January 2012 (has links)
Made available in DSpace on 2013-08-07T18:42:26Z (GMT). No. of bitstreams: 1 000439390-Texto+Completo-0.pdf: 3101139 bytes, checksum: 42025c16dd319c48f3a185f5f4c5dbc5 (MD5) Previous issue date: 2012 / NoC-based MPSoCs are employed in several embedded systems due to the high performance, achieved by using multiple processing elements (PEs). However, power and energy restrictions, especially in mobile applications, may render the design of MPSoCs over-constrained. Thus, the use of power management techniques is mandatory. Moreover, due to the high variability present in application workloads executed by these devices, this management must be performed dynamically. The use of traditional dynamic voltage and frequency scaling (DVFS) techniques proved to be useful in several scenarios to save energy. Nonetheless, due to technology scaling that limits the voltage variation and to the slow response of DVFS schemes, the use of such technique may become inadequate in newer DSM technology nodes. As alternative, the use of dynamic frequency scaling (DFS) may provide a good trade-off between power savings and power overhead. This work proposes a self-adaptable distributed DFS scheme for NoC-Based MPSoCs. Both NoC and PEs have an individual frequency control scheme. The DFS scheme for PEs takes into account the PE computation and communication loads to dynamically change the operating frequency. In the NoC, a DFS controller uses packet information and router activity to decide the router operating frequency. Also, the clock generation module is designed to provide a clock signal to PEs and NoC routers. The clock generation method is simple, based on local selective clock gating of a single global clock, provides a wide range of generated clocks, induces low area and power overheads and presents small response time. Synthetic and real applications were used to evaluate the proposed scheme. Results show that the number of executed instructions can be reduced by 65% (28% in average), with an execution time overhead up to only 14% (9% in average).The consequent power dissipation reduction in PEs reaches up to 52% (23% in average) and in the NoC up to 76% (71% in average). The power overhead induced by the proposed scheme is around 3% in PEs and around 10% in the NoC. / MPSoCs baseados em NoC têm sido empregados em sistemas embarcados devido ao seu alto desempenho, atingido através do uso de múltiplos elementos de processamento (PEs). Entretanto, a especificação da funcionalidade, agregada a especificação de requisitos de consumo de energia em aplicações móveis, pode comprometer o processo de projeto em termos de tempo e/ou custo. Dessa forma, a utilização de técnicas para gerenciamento de consumo de energia é essencial. Além disso, aplicações que possuam carga de trabalho dinâmica podem realizar esse gerenciamento dinamicamente. A utilização de técnicas para escalonamento dinâmico de tensão e frequência (DVFS) mostrou-se adequada para a redução do consumo de energia em sistemas computacionais. No entanto, devido à evolução da tecnologia, a variação mínima de tensão é menor, e o tempo de resposta elevado dos métodos de DVFS pode tornar esta técnica inadequada em tecnologias DSM (deep sub-micron). Como alternativa, a utilização de técnicas para escalonamento dinâmico de frequência (DFS) pode prover uma boa relação custo-benefício entre economia e consumo de energia. O presente trabalho apresenta um esquema de escalonamento dinâmico de frequência distribuído auto-adaptável para MPSoCs baseados em NoC. Ambos os elementos do MPSoC (NoC e PEs) possuem um esquema específico. O esquema para os PEs leva em consideração as cargas de computação e comunicação do mesmo. Na NoC, o esquema é controlado através de informações provenientes do pacote que trafega na rede e da atividade do roteador. Além disso, um módulo para geração local de relógio é apresentado, o qual é responsável por prover o sinal de relógio para PEs e roteadores da NoC.O esquema de geração do sinal de relógio é simples, baseado em roubo de ciclo de um sinal de relógio global. Este ainda fornece uma ampla variedade de frequências, induz baixo custo adicional de área e consumo e responde rapidamente a uma nova configuração. Para avaliar o esquema proposto, aplicações sintéticas e reais foram simuladas. Os resultados mostram que a redução no número de instruções executadas é de até 65% (28% em média), com um custo adicional de no máximo 14% no tempo de execução (9% em média). Em relação à dissipação de potência, os resultados mostram que a redução é de até 52% nos PEs (23% em média) e de até 76% na NoC (71% em média). O overhead de consumo apresentado pelo esquema dos PEs é de 3% e pelo esquema da NoC é de 10%.
3

Alocação de tarefas e comunicação entre tarefas em MPSoCs

Woszezenki, Cristiane Raquel January 2007 (has links)
Made available in DSpace on 2013-08-07T18:42:32Z (GMT). No. of bitstreams: 1 000391904-Texto+Completo-0.pdf: 2090015 bytes, checksum: 1ffa43fc181390380d561b08c1d9f13e (MD5) Previous issue date: 2007 / MPSoCs (Multiprocessor System on Chip) are an increasingly important trend in the design of embedded systems implemented as SoCs, since they facilitate the fulfillment of application requirements. This is because several processors, dedicated hardware modules memory blocks and interconnection media compose the architecture of such systems, making available a higher processing power when compared to equivalent monoprocessor systems. However, strategies to obtain the potential processing capacity offered by such architectures need to be better understood and explored. To enable evaluating such strategies, it is necessary to have available a hardware/software infrastructure capable to manage MPSoC tasks execution. From such an infrastructure, it should be possible, for example, to dynamically map tasks on processors, balancing the MPSoC workload through dynamic task allocation strategies. The state of the art in the available literature explores static and dynamic task allocation strategies on MPSoCs and evaluates their viability and efficiency. Nonetheless, the need to create the hardware/software infrastructure to enable strategy exploration constitutes a bottleneck for the advance of this technology. Additionally, most works employ quite abstract models to evaluate the proposed approaches, reducing the reliability of the reported results. The main contribution of the present work is the proposition and implementation of an MPSoC platform called HMPS (Hermes Multiprocessor System). HMPS offers a hardware/software infrastructure enabling to manage task execution in MPSoC systems. The HMPS platform is based on homogeneous multiprocessing, and has a master-slave architecture. The platform employs an network on chip (NoC) as interconnection media and allows that tasks be allocated either statically or dynamically. The platform allows several distinct allocation strategies to be implemented and evaluated at a quite detailed level of abstraction. HMPS is expected to be the starting point for several future works, contributing to the research on MPSoCs. This document presents the proposition and implementation of the HMPS platform. For the hardware infrastructure, the platform employs the open source processor Plasma and the HERMES NoC, implemented by the GAPH Research Group. Some specific hardware modules were developed for the platform and some changes were made in the Plasma processor, with the goal of connecting the processor to the NoC and supporting task allocation at each processor. As for the software infrastructure, HMPS provides a multitasking microkernel executing in each slave processor and the task allocation application running on the master processor. Two task allocation strategies are available in HMPS: one static and one dynamic. / MPSoCs (do inglês, Multiprocessor System On Chip) constituem uma tendência no projeto de sistemas embarcados, pois possibilitam o melhor atendimento dos requisitos da aplicação. Isso se deve ao fato de que a arquitetura desses sistemas é composta por vários processadores, módulos de hardware dedicados, memória e meio de interconexão, fornecendo um maior poder computacional quando comparados a sistemas monoprocessados equivalentes. No entanto, estratégias que possibilitem o aproveitamento da capacidade de processamento destas arquiteturas precisam ser mais bem entendidas e exploradas. Para isso, é necessário dispor de infra-estruturas de hardware e software que habilitem gerenciar a execução de tarefas no MPSoC. A partir destas infra-estruturas deve ser possível, por exemplo, mapear tarefas dinamicamente nos processadores, balanceando a carga de trabalho do MPSoC através de estratégias de alocação dinâmica de tarefas. O estado da arte da bibliografia no tema explora estratégias de alocação estática e dinâmica de tarefas sobre MPSoCs e avalia a viabilidade e eficiência das mesmas. Contudo, a necessidade de criação das infra-estruturas de hardware e software para viabilizar a exploração destas estratégias constitui-se um gargalo no avanço desta tecnologia. Adicionalmente, a maioria dos trabalhos utiliza plataformas modeladas em níveis muito abstratos de modelagem para avaliação das abordagens pesquisadas, reduzindo a confiabilidade dos resultados relatados. A principal contribuição do presente trabalho é a proposta e implementação de uma plataforma MPSoC denominada HMPS (Hermes Multiprocessor System). HMPS conta com uma infra-estrutura de hardware e uma infra-estrutura de software, capazes de gerenciar a execução de tarefas no sistema.A plataforma HMPS é baseada em multiprocessamento homogêneo, e possui uma arquitetura de processadores mestre-escravo. A plataforma utiliza como meio de interconexão uma rede intra-chip (NoC) e possibilita que tarefas possam ser alocadas estática e/ou dinamicamente no sistema. Com isso, várias estratégias de alocação distintas podem ser implementadas e avaliadas. HMPS deverá ser um ponto de partida para vários trabalhos, contribuindo para a pesquisa na área de MPSoCs. Este documento apresenta a proposta e a implementação da plataforma HMPS. Para a infra-estrutura de hardware utilizou-se a NoC HERMES, desenvolvida pelo grupo de pesquisa GAPH, e o processador de código aberto Plasma disponível no site OpenCores. Módulos de hardware foram desenvolvidos e alterações no código do Plasma foram realizadas, visando conectar o processador à NoC e realizar a alocação de tarefas na memória do processador. Para a infraestrutura de software, foi desenvolvido um microkernel multitarefa que executa em cada processador escravo e a aplicação de alocação de tarefas que executa no processador mestre. São exploradas duas estratégias de alocação de tarefas: uma estática e uma dinâmica.
4

Algoritmos de particionamento para MPSoCs heterogêneos baseados em NoC

Pinotti, Igor Kramer January 2013 (has links)
Made available in DSpace on 2013-08-07T18:42:36Z (GMT). No. of bitstreams: 1 000448655-Texto+Completo-0.pdf: 3228559 bytes, checksum: af4e73cef74eca9bd8a7fea60aae927f (MD5) Previous issue date: 2013 / Several new applications are composed by heterogeneity of tasks implying high complexity degree, and requiring high processing and communicating rate. Multiprocessor System-on-Chip (MPSoC) based on Network-on-Chip (NoC) is a promising targeting architecture to fulfill these requirements, due to its high computation and communication parallelism that enables several tasks executed at the same time. Furthermore, these applications requirements are better fulfilled by MPSoC composed by different types of processors – heterogeneous MPSoC. One challenge in current heterogeneous MPSoC design is partitioning of application tasks, aiming energy consumption minimization and fair load balance. This work contribution is twofold: (i) analysis and comparison of partitioning algorithms; and (ii) the evaluation of partitioning as a pre-mapping task. This work analyzes and compares stochastic and new heuristic partitioning algorithms for obtaining low energy consumption and efficient load balance when applied to tasks partitioning onto heterogeneous MPSoC. In addition, performance results obtained from simulations indicate that the static partitioning technique can be used on application tasks before mapping activities to improve the quality on the static or dynamic mapping and also for minimizing processing time. / Várias aplicações novas são compostas por uma heterogeneidade de tarefas implicando alto grau de complexidade, e requerendo grande capacidade de processamento e comunicação eficiente. Multiprocessor System-on-Chip (MPSoC) baseado em Network-on-Chip (NoC) é uma arquitetura alvo promissora com capacidade de atender diversos requisitos de uma aplicação alvo, devido à alta capacidade de computação e grande paralelismo de comunicação que possibilitam a execução de diversas tarefas simultaneamente. Além disso, requisitos de diversas aplicações embarcadas são melhores atendidos por um MPSoC composto por vários tipos de processadores – MPSoC heterogêneo. Um desafio atual no projeto de MPSoC heterogêneo é particionar tarefas, almejando minimizar consumo de energia e ter balanceamento de carga apropriado. Este trabalho contribui duplamente em: (i) análise e comparação de algoritmos de particionamento; e (ii) avaliação do particionamento como uma atividade pré-mapeamento. Este trabalho analisa e compara algoritmos de particionamentos estocásticos e heurísticos, elaborados para obter baixo consumo de energia e balanceamento de carga eficiente quando aplicados a particionamento de tarefas em um MPSoC heterogêneo. Além disto, resultados de desempenho, obtidos através de simulações, indicam que a técnica de particionamento estático de tarefas pode ser previamente aplicada à atividade de mapeamento de grupos de tarefas em processadores da arquitetura alvo, aprimorando a qualidade do mapeamento estático ou dinâmico, e ainda, minimizando o tempo de processamento.
5

Controle adaptativo para atendimento a requisitos de aplicações em MPSoCS

Madalozzo, Guilherme Afonso January 2013 (has links)
Made available in DSpace on 2013-08-07T18:42:51Z (GMT). No. of bitstreams: 1 000448654-Texto+Completo-0.pdf: 3794673 bytes, checksum: 27e1f6f68c147a8709c4d67ce49eed05 (MD5) Previous issue date: 2013 / The growing number of manufactured transistors in embedded systems follows the trend of Moore’s Law, which states that every eighteen months the number of transistors on integrated circuits doubles, while its cost remains constant. Another important issue in embedded systems is that applications with more than one processor are increasingly present in market. These devices with several processing elements are named MPSoCs (Multiprocessor System-on-Chip). MPSoCs enables the development of complex systems, together with high performance. Applications executing in MPSoC have constraints to be respected. To meet these constraints, management techniques and resources adaptability should be researched and developed. This work presents the development and evaluation of adaptive management techniques that enable applications executing in MPSoCs to meet their performance requirements. The MPSoC management uses monitoring techniques, which evaluate applications constraints, as throughput and latency. When violations are detected by the monitoring infrastructure, adaptive techniques are executed. In the scope of this work, two techniques were developed: dynamic change in the priority scheduling of tasks and task migration. The evaluation of the proposed techniques is carried out using the HeMPS MPSoC, with centralized and distributed resource management. Results show that, regardless the resource management technique adopted, the proposed adaptive techniques decrease latency and jitter, without affecting the total execution time of applications. With performed adaptive techniques the total execution time wasn’t penalized, in presented experiments increased 7%. / A capacidade de integração em sistemas embarcados acompanha a tendência da Lei de Moore, a qual prevê que a cada dezoito meses o número de transistores em circuitos integrados dobra, enquanto seu custo permanece constante. Outra observação importante em sistemas embarcados é que aplicações com mais de um processador estão cada vez mais presentes no mercado. Estes dispositivos com diversos elementos de processamento são denominados MPSoCs (do inglês, Multiprocessor Sytem-on-Chip). Os MPSoCs permitem o desenvolvimento de sistemas complexos, com alto desempenho. Para que um MPSoC atenda às restrições das aplicações nele executadas, técnicas de gerência e adaptabilidade de recursos devem ser pesquisadas e desenvolvidas.O presente trabalho apresenta o desenvolvimento e avaliação de técnicas de controle adaptativo para atendimentos a requisitos de aplicações executando em MPSoCs. Para efetuar o controle do MPSoC utiliza-se o mecanismo de monitoramento das aplicações. A técnica de monitoramento analisa os requisitos das aplicações, em tempo de execução, verificando possíveis violações nestes requisitos, como vazão e latência. O monitoramento é o gatilho para a execução das técnicas adaptativas desenvolvidas no escopo deste trabalho: alteração dinâmica na prioridade de escalonamento de tarefas e migração de tarefas. Para avaliar as técnicas propostas, foi utilizado a plataforma HeMPS com gerência de recursos centralizada e distribuída. Os resultados mostram que, independente da gerência de recursos que se utiliza, centralizada ou distribuída, as técnicas de adaptabilidade proveem redução de latência e jitter, sem comprometimento do tempo total de execução das aplicações. Com a execução das técnicas de adaptabilidade, o tempo total de execução da aplicação principal não é penalizado, nos casos de teste, melhorando-se em até 7%.
6

Integração de novos processadores em arquiteturas MPSOC: um estudo de caso

Wächter, Eduardo Weber January 2011 (has links)
Made available in DSpace on 2013-08-07T18:43:19Z (GMT). No. of bitstreams: 1 000432517-Texto+Completo-0.pdf: 2009471 bytes, checksum: 7af39d41c4e0090b4409a5780eae532f (MD5) Previous issue date: 2011 / The increase in transistor density on a single integrated circuit enables the design of complete computational systems on a single chip (Systems-on-Chip). Today, the computational power required by applications demands SoC architectures with more than one processor. Appeared then architectures called MPSoCs (Multiprocessor Systems-on-Chip). However, MPSoCs found on literature do not present different kinds of processors cores. Despite this fact, the literature on MPSoCs argues that heterogeneous MPSoCs (more than one kind of processor core) have a better performance. One of the problems to design heterogeneous architectures is the difficulty to integrate processors on MPSoCs platforms. The present work has the objective to fulfill this project gap, the integration of pre-validated processors, adapting a hardware and software platform for a new processor. As start point, this work uses a state-of-the-art homogeneous MPSoC platform. This platform is modified, making possible its prototyping, resulting in the first contribution of this Dissertation. The second contribution lies in developing a new processing element for the same MPSoC, using as case study MB-Lite processor - which adopts the MicroBlaze architecture. Besides the development of this module, the operating system responsible for implementing multitasking is ported to this processor, identifying the architecture dependent mechanisms. Finally, we present results of the integration of this processor, and evaluation of heterogeneous MPSoC with synthetic applications performing tasks on different processors (Plasma and MB-Lite), thus validating the proposed integration of a new processor in an MPSoC architecture. / Com o aumento da densidade de transistores em um mesmo circuito integrado, possibilitou-se o desenvolvimento de sistemas computacionais completos em um único chip (Systems-on-Chip). Atualmente, o poder computacional exigido pelas aplicações freqüentemente demanda uma arquitetura SoC com mais de um processador. Surgiram então as arquiteturas multiprocessadas, denominadas MPSoCs (Multiprocessor Systems-on-Chip). As arquiteturas MPSoCs encontradas na literatura não apresentam grande variedade de tipos de núcleo de processamento. Apesar deste fato, a literatura no tema de MPSoCs argumenta com freqüência que MPSoCs heterogêneos (mais de um tipo de núcleo de processamento) apresentam um melhor desempenho. Um dos problemas para desenvolver arquiteturas heterogêneas é a dificuldade de se integrar processadores em plataformas MPSoC. Este trabalho tem por objetivo suprir a lacuna de integração de processadores pré-validados, adaptando uma plataforma de hardware e software para um novo processador. Como ponto de partida para o trabalho utiliza-se uma plataforma MPSoC estado-da-arte homogênea. Esta plataforma é modificada, tornando-se possível a sua prototipação, resultando na primeira contribuição desta Dissertação. A segunda contribuição reside no desenvolvimento de um novo elemento de processamento para o mesmo MPSoC, utilizando como estudo de caso o processador MB-Lite – que adota a arquitetura Microblaze. Além do desenvolvimento deste módulo, o sistema operacional responsável pela execução multitarefa é portado para este processador, identificando-se os mecanismos dependentes de arquitetura no mesmo. Por fim, são apresentados resultados da integração deste processador, e a avaliação do MPSoC heterogêneo com aplicações sintéticas executando tarefas em processadores distintos (Plasma e MB-Lite), validando-se assim a proposta de integração de novos processadores em arquiteturas MPSoC.
7

Mapeamento dinâmico de aplicações para MPSOCS homogêneos

Mandelli, Marcelo Grandi January 2011 (has links)
Made available in DSpace on 2013-08-07T18:43:21Z (GMT). No. of bitstreams: 1 000435006-Texto+Completo-0.pdf: 1798120 bytes, checksum: e9da2fa29967e8e1d389bc264f9b5bef (MD5) Previous issue date: 2011 / The advance in manufacturing technology of integrated circuits enables smaller transistors, making possible the development of SoCs (System-on-Chip). Many applications require multi-processor SoCs in order to meet their performance requirements. A SoC containing several processing elements (PEs) is called MPSoC. An MPSoC can be classified as homogeneous, when all their PEs has the same architecture; or heterogeneous, when they have different architectures. As communication infrastructure, the MPSoC can use NoCs as a way to interconnect the PEs. NoCs may be used to replace busses, due to their advantages of higher scalability and communication parallelism. One of the main problems related to MPSoC projects is to define a PE of the system that will run each task. This problem is called task mapping. The mapping can be classified into static, which occurs at design time, and dynamic that occurs at runtime. The dynamic mapping approach requires firstly the mapping of the initial tasks of an application (which does not depend on any other task). The other tasks, in this approach, are mapped dynamically when requested. The mapping can be also classified by the number of tasks running in a PE. The mapping is classified as single task, when only one task is executed by a PE, and as multitask, when multiple tasks can be executed in a same PE. This work proposes new single task and multitask dynamic task mapping heuristics, in order to reduce communication energy. Results are evaluated using the MPSoC HeMPS, which executes application code generated from a model-based simulation environment. These heuristics are compared with mapping heuristic presented in literature, obtaining, in the evaluated scenarios, an average communication energy reduction of 9. 8%, for the single task approach, and 18. 6%, for the multitask approach. This work also evaluates the inclusion of dynamic load on the system, which makes necessary the implementation of an initial tasks mapping heuristic. This heuristic is an innovative contribution, since a similar approach is not found in any other work in literature. / O avanço na tecnologia de fabricação de circuitos integrados permite obter transistores cada vez menores, tornando possível o desenvolvimento de sistemas completos em um único chip (System-on-Chip - SoC). Muitas aplicações requerem SoCs com vários processadores para poder suprir seus requisitos de desempenho. Um SoC que contém diversos elementos de processamento (Processing Element - PEs) é chamado de MPSoC. Um MPSoC pode ser classificado em homogêneo, quando todos seus PEs são iguais; ou heterogêneo, quando seus PEs são diferentes. Como infraestrutura de comunicação, o MPSoC pode utilizar NoCs como forma de interconectar os PEs. O uso de NoCs deve-se a suas vantagens em relação a barramentos, entre as quais maior escalabilidade e paralelismo na comunicação. Um dos principais problemas relativos ao projeto de MPSoCs é a definição de qual dos PEs do sistema será responsável pela execução de cada tarefa de uma aplicação. Este problema é chamado de mapeamento de tarefas. O mapeamento pode ser classificado em estático, que ocorre em tempo de projeto, ou em dinâmico que ocorre em tempo de execução. A abordagem de mapeamento dinâmico requer primeiramente o mapeamento de tarefas iniciais de uma aplicação (que não dependem de nenhuma outra tarefa) das aplicações, sendo que as outras tarefas são mapeadas dinamicamente quando solicitadas. Também se pode classificar o mapeamento quanto ao número de tarefas que executam em um PE do sistema. O mapeamento é dito monotarefa, quando apenas uma tarefa é executada por PE, e multitarefa, quando múltiplas tarefas podem ser executadas em um mesmo PE. Este trabalho propõe novas heurísticas de mapeamento dinâmico monotarefa e multitarefa, visando à redução de energia de comunicação. Resultados são avaliados através do MPSoC HeMPS, que executa códigos de aplicações geradas a partir de um ambiente de simulação baseado em modelos. Estas heurísticas são comparadas com heurísticas de mapeamento apresentadas na literatura, apresentando uma redução média de energia de comunicação nos cenários avaliados de até 9,8% na abordagem monotarefa e 18,6% na multitarefa. Este trabalho também avalia a inserção dinâmica de carga no sistema, utilizando para isto a implementação de uma heurística de mapeamento dinâmico de tarefas iniciais. Esta heurística é uma contribuição inovadora, visto que uma abordagem parecida não é encontrada em nenhum outro trabalho da literatura.
8

Gerência distribuída de recursos em MPSoCs: mapeamento e migração de tarefas

Castilhos, Guilherme Machado de January 2013 (has links)
Made available in DSpace on 2013-08-07T18:43:29Z (GMT). No. of bitstreams: 1 000446499-Texto+Completo-0.pdf: 3192902 bytes, checksum: af9202a54e6b226976f5b76a00764782 (MD5) Previous issue date: 2013 / The design of MPSoCs is a clear trend in the semiconductor industry. Such MPSoCs are able to execute several applications in parallel, with support to dynamic workload, i. e., applications may start at any moment. Another important feature is QoS (quality of service), because multimedia and telecom applications have tight performance requirements that must be respected by the system. The constantly growth in the number of cores in MPSoCs implies in an important issue: scalability. Despite the scalability offered by NoCs and distributed processing, the MPSoC resources must be managed to deliver the expected performance. Management tasks include access to input/output devices, task mapping, task migration, monitoring, DVFS. One processing element (PE) responsible for resource management may become a bottleneck, since this PE will serve all other PEs of the system, increasing its computation load and creating a communication hot-spot region. An alternative to ensure scalability is to decentralize or distribute the management functions of the system. Two main approaches are discussed in the literature: one manager per application, and one manager per MPSoC region. The second approach is preferable, since the number of management resources remains constant, regardless the number of applications executing in the MPSoC. The regions are defined as clusters. All application tasks are executed in the cluster, if possible. Regarding the size of the cluster, it may have its size modifiable at runtime to allow the mapping of applications with a greater number of tasks than their available resources. This work proposes a distributed resource management in NoC-based MPSoCs, using a clustering method, enabling the modification of the cluster size at runtime. At system start-up each cluster has a fixed size, and at runtime clusters may borrow resources from neighbor clusters to map applications. Results are evaluated using the HeMPS MPSoC, comparing the performance of the centralized versus distributed management approaches. Results show an important reduction in the total execution time of applications, and a reduced number of hops between tasks (smaller communication energy). Results also evaluate the reclustering method, through monitoring and task migration. / O projeto de MPSoCs é uma clara tendência na indústria de semicondutores. Os MPSoCs são capazes de executar várias aplicações em paralelo, suportando carga dinâmica de trabalho, ou seja, aplicações podem iniciar a qualquer momento. Outra característica importante em MPSoCs é QoS (qualidade de serviço), pois aplicações multimídia e de telecomunicações possuem requisitos estritos de desempenho, os quais devem ser respeitados pelo sistema. O crescimento constante do número de núcleos em MPSoCs implica em uma questão importante: escalabilidade. Apesar da escalabilidade oferecida por NoCs, e o processamento distribuído permitindo a execução de carga dinâmica de trabalho, os recursos dos MPSoCs devem ser gerenciados para proporcionar o desempenho esperado. Tarefas de gerenciamento incluem acesso de entrada/saída a dispositivos externos ao MPSoC, mapeamento de tarefas, migração de tarefas, monitoramento, DVFS, dentre outras. Um único elemento de processamento (PE), responsável pela gerência dos recursos pode se tornar um gargalo no desempenho do sistema, já que este PE vai servir a todos os PEs do sistema, aumentando sua carga de trabalho e criando regiões com congestionamento de tráfego (hot-spots). Uma alternativa para garantir escalabilidade é descentralizar ou distribuir as funções de gerenciamento do sistema. Duas abordagens principais de gerência são discutidas na literatura: um gerente por aplicação, ou um gerente por região do MPSoC. A segunda abordagem é preferível, já que o número de recursos utilizados no gerenciamento permanece constante, independentemente do número de aplicações em execução na MPSoC. As regiões são definidas como clusters. Todas as tarefas das aplicações são executadas em um cluster, se possível. Em relação ao tamanho do cluster, ele pode ter seu tamanho modificável em tempo de execução para permitir o mapeamento de aplicações com um número de tarefas maior do que seus recursos disponíveis. Este trabalho propõe uma gerência distribuída de recursos em MPSoCs, utilizando um método de clusterização, permitindo que o tamanho do cluster seja modificado dinamicamente. Esse sistema inicializa cada cluster com um tamanho fixo, e durante a execução das aplicações, os clusters podem requerer recursos a seus clusters vizinhos para mapear tarefas. Os testes foram executados utilizando a plataforma HeMPS, e foram comparados o desempenho do método de gerência centralizado contra o método de gerência distribuído. Os resultados mostram uma importante redução no tempo total de execução das aplicações e no número de hops entre as tarefas (menor energia de comunicação) utilizando o método de gerência distribuída. Os resultados também avaliam o método de reclusterização, utilizando monitoração de desempenho e migração de tarefas.
9

Self-adaptive QOS at communication and computation levels for many-core system-on-chip

Ruaro, Marcelo January 2018 (has links)
Made available in DSpace on 2018-06-21T12:04:57Z (GMT). No. of bitstreams: 1 000488937-Texto+Completo-0.pdf: 4683751 bytes, checksum: 6eb242e44efbbffa6fa556ea81cdeace (MD5) Previous issue date: 2018 / Many-core systems-on-chip are the state-of-the-art in processing power, reaching from a dozen to thousands of processing elements (PE) in a single integrated circuit. General purpose many-cores assume a dynamic application admission, where the application set is unknown at design-time and applications may start their execution at any moment, inducing interference between them. Some applications may have real-time constraints to fulfill, requiring levels of quality of service (QoS) from the system. Due to the high degree of resource’s utilization unpredictability and the number of components to manage, self-adaptive properties become fundamental to support QoS at run-time. The literature provides several self-adaptive QoS proposals, targeting either communication (e.g., Network-on-Chip) or computation resources (e.g., CPU). However, to offer a complete QoS support, it is fundamental to provide a comprehensive self-awareness of the system’s resources, assuming adaptive techniques enabling to act simultaneously at the communication and computation levels to meet the applications' constraints. To cope with these requirements, this Thesis proposes a self-adaptive QoS infrastructure and management techniques, covering both the computation and communication levels. At the computation level, the QoS-driven infrastructure comprises a dynamic real-time task scheduler and a low overhead task migration protocol. These techniques ensure computation QoS by managing the CPU utilization and allocation.The novelty of the task scheduler is the support for dynamic real-time constraints, which leverage more flexibility to tasks to explore the CPU according to a variable workload. The novelty of the task migration protocol is its low execution time overhead compared to the state-of-the-art. At the communication level, the proposed technique is a Circuit-Switching (CS) approach based on the Software Defined Networking (SDN) paradigm. The SDN paradigm for NoCs is an innovation of this Thesis and is achieved through a generic software and hardware architecture. For communication QoS, SDN is used to define CS paths at run-time. A self-adaptive QoS management following the ODA (Observe Decide Act) paradigm controls these QoS-driven infrastructures in an integrated way, implementing a closed loop for run-time adaptations. The QoS management is self-aware of the system and running applications and can decide to take adaptations at computation or communication levels based on the task feedbacks, environment monitoring, and QoS fulfillment monitoring. The self-adaptation decides reactively as well as proactively. An online application profile learning technique is proposed to trace the behavior of the RT tasks and enabling the proactive actions. Results show that the proposed self-adaptive QoS management can restore the QoS level for the applications with a low overhead over the applications execution time. A broad evaluation, using known benchmarks, shows that even under severe QoS disturbances at computation and communication levels, the execution time of the application is restored near to the optimal scenario, mitigating 99.5% of deadline misses. / Sistemas multi-núcleos intra-chip são o estado-da-arte em termos de poder computacional, alcançando de dúzias a milhares de elementos de processamentos (PE) em um único circuito integrado. Sistemas multi-núcleos de propósito geral assumem uma admissão dinâmica de aplicações, onde o conjunto de aplicações não é conhecido em tempo de projeto e as aplicações podem iniciar sua execução a qualquer momento. Algumas aplicações podem ter requisitos de tempo real, requisitando níveis de qualidade de serviço (QoS) do sistema. Devido ao alto grau de imprevisibilidade do uso dos recursos e o grande número de componentes para se gerenciar, propriedades autoadaptativas tornam-se fundamentais para dar suporte a QoS em tempo de execução. A literatura fornece diversas propostas de QoS autoadaptativo, focado em recursos de comunicação (ex., redes intra-chip), ou computação (ex., CPU). Contudo, para fornecer um suporte de QoS completo, é fundamental uma autoconsciência abrangente dos recursos do sistema, e assumir técnicas adaptativas que permitem agir em ambos os níveis de comunicação e computação para atender os requisitos das aplicações. Para suprir essas demandas, essa Tese propõe uma infraestrutura e técnicas de gerenciamento de QoS autoadaptativo, cobrindo ambos os níveis de computação e comunicação. No nível de computação, a infraestrutura para QoS consiste em um escalonador dinâmico de tarefas de tempo real e um protocolo de migração de tarefas de baixo custo.Estas técnicas fornecem QoS de computação, devido ao gerenciamento da utilização e alocação da CPU. A novidade do escalonador de tarefas é o suporte a requisitos de tempo real dinâmicos, o que gera mais flexibilidade para as tarefas em explorar a CPU de acordo com uma carga de trabalho variável. A novidade do protocolo de migração de tarefas é o baixo custo no tempo de execução comparado a trabalhos do estado-da-arte. No nível de comunicação, a técnica proposta é um chaveamento por circuito (CS) baseado em redes definidas por software (SDN). O paradigma SDN para NoCs é uma inovação desta Tese, e é alcançado através de uma arquitetura genérica de software e hardware. Para QoS de comunicação, SDN é usado para definir caminhos CS em tempo de execução. Essas infraestruturas de QoS são gerenciadas de uma forma integrada por um gerenciamento de QoS autoadaptativo, o qual segue o paradigma ODA (Observar, Decidir, Agir), implementando um laço fechado de adaptações em tempo de execução. O gerenciamento de QoS é autoconsciente dos recursos do sistema e das aplicações em execução, e pode decidir por adaptações no nível de computação ou comunicação, baseado em notificações das tarefas, monitoramento do ambiente, e monitoramento de atendimento de QoS.A autoadaptação decide reativamente assim como proativamente. Uma técnica de aprendizagem do perfil das aplicações é proposta para traçar o comportamento das tarefas de tempo real, possibilitando ações proativas. Resultados gerais mostram que o gerenciamento de QoS autoadaptativo proposto pode restaurar os níveis de QoS para as aplicações com um baixo custo no tempo de execução das aplicações. Uma avaliação abrangente, assumindo diversos benchmarks mostra que, mesmo sob diversas interferências de QoS nos níveis de computação e comunicação, o tempo de execução das aplicações é restaurado próximo ao cenário ótimo, como 99,5% das violações de deadlines mitigadas.
10

Exploration of runtime distributed mapping techniques for emerging large scale MPSoCs

Mandelli, Marcelo Grandi January 2015 (has links)
Made available in DSpace on 2015-09-19T02:04:34Z (GMT). No. of bitstreams: 1 000475052-Texto+Completo-0.pdf: 8325686 bytes, checksum: 5d74943dc9ee311c90eb182fb022e539 (MD5) Previous issue date: 2015 / MPSoCs with hundreds of cores are already available in the market. According to the ITRS roadmap, such systems will integrate thousands of cores by the end of the decade. The definition of where each task will execute in the system is a major issue in the MPSoC design. In the literature, this issue is defined as task mapping. The growth in the number of cores increases the complexity of the task mapping. The main concerns in task mapping in large systems include: (i) scalability; (ii) dynamic workload; and (iii) reliability. It is necessary to distribute the mapping decision across the system to ensure scalability. The workload of emerging large MPSoCs may be dynamic, i. e., new applications may start at any moment, leading to different mapping scenarios. Therefore, it is necessary to execute the mapping process at runtime to support a dynamic workload. Reliability is tightly connected to the system workload distribution. Load imbalance may generate hotspots zones and consequently thermal implications, which may result in unreliable system operation. In large scale MPSoCs, reliability issues get worse since the growing number of cores on the same die increases power densities and, consequently, the system temperature. The literature presents different task mapping techniques to improve system reliability. However, such approaches use a centralized mapping approach, which are not scalable. To address these three challenges, the main goal of this Thesis is to propose and evaluate distributed mapping heuristics, executed at runtime, ensuring scalability and a fair workload distribution. Distributing the workload and the traffic inside the NoC increases the system reliability in long-term, due to the minimization of hotspot regions. To enable the design space exploration of large MPSoCs the first contribution of the Thesis lies in a multi-level modeling framework, which supports different models and debugging capabilities that enrich and facilitate the design of MPSoCs. The simulation of lower level models (e. g. RTL) generates performance parameters used to calibrate abstract models (e. g. untimed models). The abstract models pave the way to explore mapping heuristics in large systems. Most mapping techniques focus on optimizing communication volume in the NoC, which may compromise reliability due to overload processors. On the other hand, a heuristic optimizing only the workload distribution may overload NoC links, compromising its reliability. The second significant contribution of the Thesis is the proposition of dynamic and distributed mapping heuristics, making a tradeoff between communication volume (NoC links) and workload distribution (CPU usage). Results related to execution time, communication volume, energy consumption, power traces and temperature distribution in large MPSoCs (144 processors) confirm the tradeoff hypothesis. Trading off workload and communication volume improves system reliably through the reduction of hotspots regions, without compromising system performance. / MPSoCs com centenas de processadores já estão disponíveis no mercado. De acordo com o ITRS, tais sistemas integrarão milhares de processadores até o final da década. A definição de onde cada tarefa será executada no sistema é um desafio importante na concepção de MPSoCs. Na literatura, tal desafio é definido como mapeamento de tarefas. O aumento do número de processadores aumenta a complexidade do mapeamento de tarefas. As principais preocupações em mapeamento de tarefas em grandes sistemas incluem: (i) escalabilidade; (ii) carga dinâmica de trabalho; e (iii) confiabilidade. É necessário distribuir a decisão do mapeamento pelo sistema para garantir escalabilidade. A carga de trabalho em MPSoCs pode ser dinâmica, ou seja, novas aplicações podem iniciar a execução a qualquer momento, levando a diferentes cenários de mapeamento. Portanto, é necessário executar o processo de mapeamento em tempo de execução para suportar uma carga de trabalho dinâmica. Confiabilidade é diretamente relacionada à distribuição da carga de trabalho no sistema. Desequilíbrio de carga pode gerar zonas de hotspots e implicações termais, que podem resultar em uma operação do sistema não confiável. Em MPSoCs de grande dimensão problemas de confiabilidade se agravam, uma vez que o crescente número de processadores no mesmo chip aumenta o consumo de energia e, consequentemente, a temperatura do sistema. A literatura apresenta diferentes técnicas de mapeamento de tarefas para melhorar a confiabilidade do sistema. No entanto, tais técnicas utilizam uma abordagem de mapeamento centralizado, a qual não é escalável. Em função destes três desafios, o principal objetivo desta Tese é propor e avaliar heurísticas de mapeamento distribuído, executadas em tempo de execução, garantindo escalabilidade e uma distribuição de carga de trabalho uniforme. Distribuir a carga de trabalho e o tráfego da NoC aumenta a confiabilidade do sistema no longo prazo, devido à minimização das regiões de hotspot. Para permitir a exploração do espaço de projeto em MPSoCs, a primeira contribuição desta Tese consiste em um ambiente de modelagem multi-nível, que suporta diferentes modelos e capacidades de depuração que enriquecem e facilitam o projeto de MPSoCs. A simulação de modelos de mais baixo nível (por exemplo, RTL) gera parâmetros de desempenho utilizados para calibrar modelos mais abstratos. Os modelos abstratos facilitam a exploração de heurísticas de mapeamento em grandes sistemas. A maioria das técnicas de mapeamento se concentram na otimização do volume comunicação na NoC, o que pode comprometer a confiabilidade, devido à sobrecarga de processadores. Por outro lado, uma heurística que visa a otimização apenas da distribuição de carga de trabalho pode sobrecarregar canais da NoC, comprometendo a sua confiabilidade. A segunda contribuição significativa desta Tese é a proposição de heurísticas de mapeamento dinâmico e distribuídos, fazendo um compromisso entre o volume de comunicação (canais da NoC) e distribuição de carga de trabalho (uso da CPU). Os resultados relacionados a tempo de execução, volume de comunicação, consumo de energia, distribuição de potência e temperatura em grandes MPSoCs (256 processadores) confirmam a hipótese deste compromisso. Fazer um compromisso entre carga de trabalho e volume de comunicação melhora a confiabilidade do sistema através da redução de regiões hotspots, sem comprometer o desempenho do sistema.

Page generated in 0.066 seconds