1 |
Um cripto-processador reconfiguravel baseado em algoritmos de curvas elipticas e AESGallo Filho, Roberto Alves, 1978- 20 April 2004 (has links)
Orientador : Guido Costa Souza de Araujo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-10-24T13:16:43Z (GMT). No. of bitstreams: 1
GalloFilho_RobertoAlves_M.pdf: 1560614 bytes, checksum: daf319c0056798f7d57a137a6be71d39 (MD5)
Previous issue date: 2004 / Resumo: Segurança da Informação é fator chave para o desenvolvimento da sociedade. Diariamente quantidades massivas de dados são transportadas em redes de alta velocidade sem o suporte adequado de segurança criptográfica. Criptografia é infra-estrutura computacional e como tal está migrando para o hardware. Neste contexto a criação de um cripto-processador parametrizado utilizando tecnologia reconfigurável é de importância estratégica para o país. Esta dissertação apresenta estudos acerca da construção de tal cripto-processador, com os estudos e as implementações de vários mecanismos relacionados com dispositivos criptográficoso Foram implementados e testados em VHDe os algoritmos AES3 - FIPS4197 e ECC5 IEEE61363, rendendo aceleradores criptográficos de alto desempenho. Além disso, análises sobre a eficiência em hardware reconfigurável do algoritmo SHA -17 foram realizadas e seus resultados foram estendidos para toda família FIPS 180-2. O interfaceamento lógico e eletrônico do sistema também recebeu atenção nesta dissertação. No primeiro caso, um estudo de interfaces padrão para dispositivos criptográficos, ou tokens, baseados no PKCS8#11 foi realizado, rendendo uma implementação simplificada, mas compatível com este padrão. No caso do interfaceamento elétrico, diversas alternativas foram estudadas, resultando na escolha do sistema PCI PCI-SIG r.2.1 / Abstract: Information Security is a key factor for de development ofmodern society. Every day, massive amounts of data flow through high speed networks without proper cryptographic security support. Cryptography services belong to the computational infTastructure and as such they are migrating into computer' s hardware. In this context, the design of a parameterized crypto-processor that uses reconfigurable technology contributes to the development of such technology in the country. This dissertation presents cases studies on the construction of such crypto-processor, along with de analysis of many mechanisms for cryptographic devices. By using VHDL for both implementation and testing, the AES - FIPS 197 and the ECC - IEEE 1363 algorithms were implemented yielding high performance cryptographic accelerators. In addition, efficiency analysis of hash functions as SHA-! and others from its family were conducted for the resulting reconfigurable hardware. The logical and electrical interfaces received some attention too. In the first case, a brief study of cryptographic token interfaces, based on PKCS# 11, was done and a simplified compatible implementation was constructed. For the electrical interface many alternatives were analyzed and the PCI PCI-SIG r.2.! was chosen / Mestrado / Mestre em Ciência da Computação
|
2 |
Uma exploração do espaço de projeto de processadores com hardware de ponto flutuante em FPGASRodolfo, Taciano Ares January 2010 (has links)
Made available in DSpace on 2013-08-07T18:42:22Z (GMT). No. of bitstreams: 1
000447663-Texto+Completo-0.pdf: 3152066 bytes, checksum: ada0593d3cfeecc7c99152d88798658e (MD5)
Previous issue date: 2010 / Arithmetic circuits are a fundamental part of digital systems, since every piece of information processed by them must first be encoded as numbers, and arithmetic is the ultimate way to systematically manipulate numbers. There exists a large number of available number encoding schemes, but three of these stand as useful in most situations: unsigned, integer and floating point. The first two are simpler and more universal, but some applications do require the recourse to the extended range of values, and the increased precision of floating point representations. Although the use of floating point hardware in FPGAs has long been considered unfeasible or relegated to use only in expensive devices and platforms, this is no longer the case. This work describes the design process, the implementation and a preliminary evaluation of single-precision floating point hardware units for an instance of the MIPS processor architecture. It explores several fully-fledged implementations that have the form of strongly coupled coprocessors. These coprocessors take as little room as 4% of a medium-sized FPGA, while the processor CPU may take only 3% of the same device. The space exploration process described here values area, performance and power metrics and considers variations on the choice of synthesis tool, floating point unit generation method and architectural issues such as clocking schemes. The conducted experiments show reductions of more than 20 times in clock cycles count for typical floating point application modules, when compared to the use of software-emulated floating point processing. / Circuitos aritméticos são parte fundamental de sistemas digitais, uma vez que cada porção de informação processada por estes deve ter sido codificada previamente sob a forma de números, e que a aritmética é a forma por excelência de proceder à manipulação sistemática de números. Existe uma grande quantidade de esquemas de codificação usados em sistemas digitais, mas três formas de representação se sobressaem por serem usadas na maioria maciça das situações: números sem sinal, números inteiros e a representação de ponto flutuante. Os dois primeiros são mais simples e mais universais, mas algumas aplicações exigem o recurso à faixa estendida de valores e à precisão incrementada de representações de ponto flutuante. Embora o uso de hardware de ponto flutuante em FPGAs tenha sido por muito tempo considerado inviável ou relegado ao uso apenas em dispositivos e plataformas de alto custo, esta não é mais a situação atual. Este trabalho descreve o processo de projeto, a implementação física e uma avaliação preliminar de unidades de processamento de ponto flutuante de precisão simples em hardware para uma arquitetura de processador MIPS. Exploram-se várias implementações completas que têm a forma de coprocessadores fortemente acoplados. Estes coprocessadores ocupam apenas 4% de um FPGA de tamanho médio, enquanto o processador em si ocupa 3% do mesmo dispositivo. O processo de exploração do espaço de soluções de projeto descrito aqui considera as figuras de mérito área, desempenho e potência e considera variações na escolha da ferramenta de síntese, do método de geração a unidade de ponto flutuante e questões arquiteturais tais como estratégias de uso de relógios. Os experimentos conduzidos mostram reduções de mais de 20 vezes na contagem do número de ciclos de relógio do processador, para módulos de aplicação típicos que usam ponto flutuante de forma intensiva, quando comparado com processamento de representações de ponto flutuante emulado em software.
|
3 |
Reduction of energy consumption in MPSOCS through a dynamic frequency scaling techniqueRosa, 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%.
|
4 |
Alocação de tarefas e comunicação entre tarefas em MPSoCsWoszezenki, 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.
|
5 |
Integração de novos processadores em arquiteturas MPSOC: um estudo de casoWä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.
|
6 |
Mapeamento dinâmico de aplicações para MPSOCS homogêneosMandelli, 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.
|
7 |
Gerência distribuída de recursos em MPSoCs: mapeamento e migração de tarefasCastilhos, 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.
|
8 |
OPENOBC: uma arquitetura de um computador de bordo open source e de baixo custo para o padrão CUBESAT / OPENOBC: an open-source and low-cost architecture for a cubesat on-board computerMota, David Freitas Moura 27 January 2017 (has links)
MOTA, David Freitas Moura. OPENOBC: uma arquitetura de um computador de bordo open source e de baixo custo para o padrão CUBESAT. 2017. 74 f. Dissertação (Mestrado em Engenharia de Teleinformática)-Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2017. / Submitted by Hohana Sanders (hohanasanders@hotmail.com) on 2017-05-31T15:06:34Z
No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5) / Approved for entry into archive by Marlene Sousa (mmarlene@ufc.br) on 2017-06-02T15:51:20Z (GMT) No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5) / Made available in DSpace on 2017-06-02T15:51:20Z (GMT). No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5)
Previous issue date: 2017-01-27 / The definition of the CubeSat standard boosted the research and development of the pico and nano satellites inside of the universities. Besides the standardization of the physical dimensions, the CubeSat specifies a communication protocol between the sub-systems of the satellite, what can make possible the shortening of the time and cost of the project using COTS (Comercial off-the-shelf) components. Although cost is an important requirement for the development of small satellites, the cost reduction must come from the correct architecture choice, not from the loss of system reliability. Focusing in a specific component, like the OBC (On Board Computer), becomes clear that the currents solutions meets the low cost requirements but fails in providing high failure tolerance. Some OBC models do not provide a mechanism of detection and correction of failures, while others cover only partially the failure points with a way to correct errors in external memories. At this job will be proposed an open source architecture with low cost and high reliability for an on board computer with compatibility with the CubeSat standard. The proposal architecture uses a TMS570LS0432 processor from Texas Instruments, which have dual ARM Cortex-R4 core, detection and failure correction in RAM and internal ROM, hardware BIST (built-in self test) at the CPU and RAM memory and others securities characters like clock monitoring and power supply voltage. An external flash memory was used for storage of code and data. Two I2C interfaces for communication between the sub systems, one had been used exclusively for transponder communication and the other one for the other systems. The architecture is complemented with an UART interface for diagnosis and debugging, PWM signals for activate the torque coils and ADC inputs for light measuring in the satellite. A MicroSD card reader has been planned for data storage and a CAN bus for data traffic in real time, ensuring a rigid control of failures and messages receiving. The OBC was electronically tested and is able to be embedded with the others sub systems. / A definição do padrão CubeSat impulsionou a pesquisa e o desenvolvimento de nano e pico satélites por parte das universidades. Além da padronização das dimensões físicas, o CubeSat também especifica um protocolo de comunicação entre os subsistemas do satélite, o que torna possível reduzir o tempo e o custo do projeto através do uso de componentes COTS (do inglês Comercial off-the-shelf ). Embora o custo seja um requisito importante para o desenvolvimento de pequenos satélites, a sua redução não deve decorrer da diminuição da confiabilidade do sistema e sim da escolha de arquiteturas adequadas. Focando em um componente específico, como o OBC (do inglês On Board Computer), fica claro que as soluções disponíveis atendem principalmente ao requisito de baixo custo, mas falham em oferecer alta tolerância à falhas. Alguns modelos de OBC não oferecem nenhum mecanismo de detecção ou correção de falhas, enquanto outros oferecem apenas uma cobertura parcial dos pontos de falha ao introduzirem lógica para correção de erros nas memórias externas. Neste trabalho, será proposto uma arquitetura open source de baixo custo e alta confiabilidade para um computador de bordo compatível com o padrão CubeSat. A arquitetura proposta utiliza o processador TMS570LS0432 do fabricante Texas Instruments, o qual possui: núcleoARM Cortex-R4 em duas CPUs; detecção e correção de falhas em suas memóriasRAM e ROM internas; hardware BIST (Auto-teste interno de fábrica) tanto na CPU quanto na memória RAM; e outras características de segurança como o monitoramento do clock e da tensão de alimentação. Uma memória Flash externa foi utilizada para armazenamento de código e dados. Foram disponibilizadas duas interfaces I2C para a comunicação com os subsistemas existentes em um CubeSat, sendo uma exclusiva para comunicação com o Transponder e outra comum para os demais. A arquitetura é complementada por uma interface UART para diagnóstico e depuração, sinais PWM para acionamento das bobinas de torque e entradas ADC para medição da intensidade da luz solar nas faces do satélite. Estão previstos ainda um cartão MicroSD para armazenamentos de dados e uma interface CAN para tráfego de informações transmitidas em tempo real, garantindo assim um controle rígido de erros e a recepção de mensagens. O computador de bordo foi eletronicamente testado e está apto à integração com os demais subsistemas.
|
9 |
OPENOBC: uma arquitetura de um computador de bordo open source e de baixo custo para o padrão CUBESATMota, David Freitas Moura January 2017 (has links)
MOTA, D. F. M. OPENOBC : uma arquitetura de um computador de bordo open source e de baixo custo para o padrão CUBESAT. Fortaleza, 2017. 74 f. Dissertação (Mestrado em Engenharia de Teleinformática)- Programa de Pós-Graduação em Engenharia de Teleinformática, Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2017. / Submitted by Geovane Uchoa (geovane@ufc.br) on 2017-08-01T13:22:04Z
No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5) / Approved for entry into archive by Nadsa Cid (nadsa@ufc.br) on 2017-08-01T16:06:03Z (GMT) No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5) / Made available in DSpace on 2017-08-01T16:06:04Z (GMT). No. of bitstreams: 1
2017_dis_dfmmota.pdf: 10853492 bytes, checksum: 5c085eb51ffd56f2d73aae40b2108549 (MD5)
Previous issue date: 2017 / The definition of the CubeSat standard boosted the research and development of the pico and nano satellites inside of the universities. Besides the standardization of the physical dimensions, the CubeSat specifies a communication protocol between the sub-systems of the satellite, what can make possible the shortening of the time and cost of the project using COTS (Comercial off-the-shelf) components. Although cost is an important requirement for the development of small satellites, the cost reduction must come from the correct architecture choice, not from the loss of system reliability. Focusing in a specific component, like the OBC (On Board
Computer), becomes clear that the currents solutions meets the low cost requirements but fails in providing high failure tolerance. Some OBC models do not provide a mechanism of detection and correction of failures, while others cover only partially the failure points with a way to correct errors in external memories. At this job will be proposed an open source architecture with low cost and high reliability for an on board computer with compatibility with the CubeSat standard. The proposal architecture uses a TMS570LS0432 processor from Texas Instruments, which have dual ARM Cortex-R4 core, detection and failure correction in RAM and internal
ROM, hardware BIST (built-in self test) at the CPU and RAM memory and others securities characters like clock monitoring and power supply voltage. An external flash memory was used for storage of code and data. Two I2C interfaces for communication between the sub systems, one had been used exclusively for transponder communication and the other one for the other systems. The architecture is complemented with an UART interface for diagnosis and debugging, PWM signals for activate the torque coils and ADC inputs for light measuring in the satellite. A MicroSD card reader has been planned for data storage and a CAN bus for data traffic in real time, ensuring a rigid control of failures and messages receiving. The OBC was electronically
tested and is able to be embedded with the others sub systems. / A definição do padrão CubeSat impulsionou a pesquisa e o desenvolvimento de nano e pico satélites por parte das universidades. Além da padronização das dimensões físicas, o CubeSat também especifica um protocolo de comunicação entre os subsistemas do satélite, o que torna possível reduzir o tempo e o custo do projeto através do uso de componentes COTS (do inglês Comercial off-the-shelf ). Embora o custo seja um requisito importante para o desenvolvimento de pequenos satélites, a sua redução não deve decorrer da diminuição da confiabilidade do sistema e sim da escolha de arquiteturas adequadas. Focando em um componente específico, como o OBC (do inglês On Board Computer), fica claro que as soluções disponíveis atendem principalmente ao requisito de baixo custo, mas falham em oferecer alta tolerância à falhas. Alguns modelos
de OBC não oferecem nenhum mecanismo de detecção ou correção de falhas, enquanto outros oferecem apenas uma cobertura parcial dos pontos de falha ao introduzirem lógica para correção de erros nas memórias externas. Neste trabalho, será proposto uma arquitetura open source de baixo custo e alta confiabilidade para um computador de bordo compatível com o padrão CubeSat. A arquitetura proposta utiliza o processador TMS570LS0432 do fabricante Texas Instruments, o qual possui: núcleo ARM Cortex-R4 em duas CPUs; detecção e correção de falhas em suas memórias RAM e ROM internas; hardware BIST (Auto-teste interno de fábrica) tanto na CPU quanto na memória RAM; e outras características de segurança como o monitoramento do clock e da tensão de alimentação. Uma memória Flash externa foi utilizada para armazenamento
de código e dados. Foram disponibilizadas duas interfaces I2C para a comunicação com os subsistemas existentes em um CubeSat, sendo uma exclusiva para comunicação com o Transponder e outra comum para os demais. A arquitetura é complementada por uma interface UART para diagnóstico e depuração, sinais PWM para acionamento das bobinas de torque e entradas ADC para medição da intensidade da luz solar nas faces do satélite. Estão previstos ainda um cartão MicroSD para armazenamentos de dados e uma interface CAN para tráfego de informações transmitidas em tempo real, garantindo assim um controle rígido de erros e
a recepção de mensagens. O computador de bordo foi eletronicamente testado e está apto à integração com os demais subsistemas.
|
10 |
Self-adaptive QOS at communication and computation levels for many-core system-on-chipRuaro, 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.
|
Page generated in 0.072 seconds