• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 45
  • 22
  • Tagged with
  • 67
  • 27
  • 25
  • 17
  • 16
  • 13
  • 13
  • 13
  • 12
  • 10
  • 10
  • 9
  • 9
  • 9
  • 8
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

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

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

Sequenciamento de processadores paralelos utilizando a meta heurística busca Tabu

Brandão, Luciano January 2002 (has links)
A programação de tarefas em linhas de produção nas empresas sempre foi e continua sendo um elemento fundamental para o sucesso das organizações em um mercado tão globalizado e competitivo. A melhor utilização dos recursos instalados através da melhor alocação das tarefas gerará melhores resultados para a organização. Entende-se pela melhor utilização dos recursos a redução do tempo total de finalização das tarefas (makespan) sem prejudicar o atendimento da data de entrega. Aplica-se esta idéia para as indústrias de um modo geral, que tenham linhas de produção, podendo citar a indústria calçadista, foco neste trabalho, as indústrias de massas, biscoitos e balas, entre outras. Na literatura especializada, esta programação é conhecida como sequenciamento de tarefas em processadores. Neste trabalho aplicado junto a indústria calçadista, foca-se em uma área mais específica: o sequenciamento de tarefas em processadores paralelos. Os problemas de sequenciamento se caracterizam pela grande exigência computacional para a resolução com algoritmos de otimização. Isto remete a utilização de heurísticas para a resolução destes problemas. Neste trabalho explora-se a Meta-Heurística Busca Tabu, que se apresentou com resultados muito bons em relação ao ótimo e em relação ao trabalhador humano. / The jobs scheduling in processor lines in the companies was always, and continues being, a fundamental element to the organization’s success in a very globalized and competitive market. The best use of the installed resources, through the best distribution of the jobs will generate better results for the organization. The best utilization of the resources means the reduction of the makespan without prejudicing the due-date. This idea is applied to all industries in general, that have processor lines, for example the shoes factories, focused in this research, pasta, cookies and sugar balls factories, beyond others. In the specialized literature this subject is know as job scheduling. This researh is applyed to a shoes factory is focused on more specific area: the job scheduling in parallel machines. The scheduling problems are characterized on its computational difficulty using optimization algoritms. That is the reason why we used heuristics to solve these problems. In this research we explore the Meta-Heuristic Tabu Search, wich showed very good results comparing to the optimun and comparing to the human worker.
23

Risco : microprocessador RISC CMOS de 32 bits / Risco - a 32-bit CMOS RISC microprocessor

Junqueira, Alexandre Ambrozi January 1993 (has links)
Este trabalho apresenta o estudo, a definição e a simulação elétrica e lógica de um microprocessador CMOS de 32 bits, com arquitetura tipo RISC - o Risco. Dentre as principais características do Risco destacam-se: dados, instruções e endereços são palavras de 32 bits; a unidade de endereçamento é a palavra, permitindo um acesso a 4 Giga palavras (16 Gbytes); a comunição com a memória é feita por um barramento multiplexado de 32 bits para dados e endereços; possui 32 registradores de 32 bits, incluídos nestes o contador de programa, o apontador de pilha, a palavra de status do processador e um registrador constante zero; possui um pipeline de instruções de 3 estágios, atingindo no pico de execução uma instrução por ciclo de máquina; e as instruções de salto têm sua execução retardada de uma instrução. A Arquitetura de Computadores é analisada, em especial as Arquiteturas RISC (Reduced Instruction Set Computer - Processador com Conjunto de Instruções Reduzido) e CISC (Complex...), mostrando suas características e comparando-as. Algumas máquinas RISC importantes são vistas e o tema de Arquiteturas VLSI e suas implicações tecnológicas no projeto também é abordado. A arquitetura do Risco é descrita dando-se ênfase aos objetivos do projeto e construindo uma visão geral do processador. O tratamento de exceções é apresentado e o conjunto de instruções é analisado quanto ao formato, aos tipos e ao processamento no pipeline. A organização interna do Risco 6 tratada em detalhes, descrevendo-se a Parte Operativa (barramentos, o banco de registradores, a unidade de tratamento da constante, o contador de programa e incrementador associado, a unidade lógico-aritmética, a unidade de deslocamento/rotação) e a Parte de Controle to funcionamento do pipeline de instrug6es, a decodificação, o autômato de controle, a geração e a validação dos comandos). A simulação funcional do Risco, feita em HDC, também é reportada, incluindo o modelamento, os vetores de testa e os resultados. A implementação do Risco é discutida enfatizando-se alguns blocos críticos quanto A Área e ao desempenho. Os barramentos e o banco de registradores, a ULA e a unidade de deslocamento/rotação são estudados em detalhes pela sua importância no desempenho da maquina. Um teste chip contendo a maior parte dos blocos funcionais da parte operativa foi construído, tendo sido aprovado nos testes funcionais. Por fim, faz-se comentários sobre os resultados obtidos, os problemas encontrados e as etapas futuras no desenvolvimento do Risco, alem de serem expostas as conclusões finais. / This work presents the study, the definition, the electric and logic simulation, and the implementation of some blocks of a 32-bit CMOS microprocessor, with RISC architecture - the Risco. Among Risco's main characteristics it is highlighted that data, instructions and addresses are 32-bit words; the address unit is the word, allowing an access to 4-Giga words (16 GBytes); communication with memory is made through a data and address bus of 32 bits; it has 32 registers of 32 bits, including program counter, stack pointer, processor status word, and a zero constant register; it also has an instruction pipeline of three stages, fully capable of issuing one instruction at the execution peak per every machine cycle; and control flow instructions are implemnted as delayed branches. A study on computer architecture is carried out, and special attention is given to the RISC (Reduced Instruction Set Computer) and CISC (Complex...) architectures by means of making comparisons between them, showing their main characteristics and listing some important RISC machines. The VLSI architectures are also discussed, giving emphasis to their technological importance for the Risco's project. Risco's architecture is described, bringing into prominence the aims of the project and an overview of the processor. Exception handling is presented and the instruction set is analysed with regard to format, type and pipeline processing. Risco's internal organization is dealt with in detail, providing descriptions of the data path (buses, register bank, constant unit, program counter and associated incrementer, barrel shifter) and of the control part (operation of pipeline instruction, as well as decodification, control automaton, generation and validation of commands). Risco's functional simulation, through HDC, is mentioned, including modeling, test vectors, and results. Risco's implementation is also discussed giving emphasis to some critical blocks in regard to area and performance. Buses, register bank, arithmetic-logic unit, and barrel shifter are dealt with in detail because of their importance concerning the machine performance. A test-chip, containing most of the functional blocks of the data path, was made and successfully passed the functional tests. Finally, some comments are made with regard to results, main problems, and next stages in the development of Risco.
24

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

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

The effects of the compiler optimizations in embedded processors reliability

Lins, Filipe Maciel January 2017 (has links)
O recente avanço tecnológico dos processadores embarcados aumentou a complexidade dos compiladores e o uso de recursos heterogêneos, como Arranjo de Portas Programáveis em Campo (Field Programmable Gate Array - FPGA) e Unidade de Processamento Gráfico (Graphics Processing Unit - GPU), integrado aos processadores. Além disso, aumentou-se o uso de componentes de prateleira (Commercial off-the-shelf - COTS) em aplicações críticas, ao invés de chips tolerantes a radiação, pois os COTS podem ser mais baratos, flexíveis, terem uma rápida colocação no mercado e um menor consumo de energia. No entanto, mesmo com essas vantagens, os COTS são suscetíveis a falha sendo necessário garantir uma alta confiabilidade nos sistemas utilizados. Assim como, no caso de aplicações em tempo real, também se precisa respeitar os requisitos determinísticos. Como caso de estudo, este trabalho utiliza a Zynq que é um dispositivo COTS do tipo Sistema em Chip Totalmente Programável (All Programmable System on Chip - APSoC) no qual possui um processador ARM Cortex-A9 embarcado. Nesta pesquisa, investigou-se o impacto das falhas que afetam o arquivo de registradores na confiabilidade dos processadores embarcados. Para tanto, experimentos de injeção de falhas e de radiação de íons pesados foram realizados. Além do mais, avaliou-se como os diferentes níveis de otimização do compilador modificam o uso e a probabilidade de falha do arquivo de registradores do processador. Selecionou-se seis benchmarks representativos, cada um compilado com três níveis diferentes de otimização. Realizamos campanhas exaustivas de injeção de falhas para medir o Fator de Vulnerabilidade Arquitetural (Architectural Vulnerability Factor - AVF) de cada código e configuração, identificando os registradores que são mais propensos a gerar uma corrupção de dados silenciosos (Silent Data Corruption - SDC) ou uma interrupção funcional de evento único (Single Event Functional Interruption - SEFI). Também foram correlacionadas as variações de confiabilidade observadas com a utilização do arquivo de registradores. Finalmente, irradiamos com íons pesados dois dos benchmarks selecionados compilados com dois níveis de otimização. Os resultados mostram que mesmo com o melhor desempenho, o menor uso do arquivo de registradores ou o menor AVF não é garantido que as aplicações irão alcançar a maior Carga de Trabalho Média Entre Falhas (Mean Workload Between Failure - MWBF). Por exemplo, os resultados mostram que o melhor desempenho da aplicação Multiplicação de Matrizes (Matrix Multiplication - MxM) é alcançado no nível de otimização mais alta. No entanto, nos resultados dos experimentos de injeção de falhas, a maior confiabilidade é alcançada no menor nível de otimização que possuem os menores AVFs e o menor uso do arquivo de registradores. Os resultados também mostram que o impacto das otimizações está fortemente relacionado com o algoritmo executado e como o compilador faz esta otimização. / The recent advances in the embedded processors increase the compilers complexity, and the usage of heterogeneous resources such as Field Programmable Gate Array (FPGA) and Graphics Processing Unit (GPU) integrated with the processors. Additionally, the increase in the usage of Commercial off-the-shelf (COTS) instead of radiation hardened chips in safety critical applications occurs because the COTS can be more flexible, inexpensive, have a fast time-to market and a lower power consumption. However, even with these advantages, it is still necessary to guarantee a high reliability in a system that uses a COTS for safety critical applications because they are susceptible to failures. Additionally, in the case of real time applications, the time requirements also need to be respected. As a case of study, this work uses the Zynq which is a COTS device classified as an All Programmable System-on-Chip (APSOC) and has an ARM Cortex-A9 as the embedded processor. In this research, the impact of faults that affect the register file in the embedded processors reliability was investigated. For that, fault-injection and heavy-ion radiation experiments were performed. Moreover, an evaluation of how the different levels of compiler optimization modify the usage and the failure probability of a processor register file. A set of six representative benchmarks, each one compiled with three different levels of compiler optimization. Exhaustive fault injection campaigns were performed to measure the registers Architectural Vulnerability Factor (AVF) of each code and configuration, identifying the registers that are more likely to generate Silent Data Corruption (SDC) or Single Event Functional Interruption (SEFI). Moreover, the observed reliability variations with register file utilization were correlated. Finally, two of the selected benchmarks, each one compiled with two different levels of optimization were irradiated in the heavy ions experiments. The results show that the best performance, the minor register file usage, or the lowest AVF does not always bring the highest Mean Workload Between Failures (MWBF). As an example, in the Matrix Multiplication (MxM) application, the best performance is achieved in the highest compiler optimization. However, in the fault injection, the higher reliability is obtained in the lower compiler optimization which has, the lower AVFs and the lower register file usage. Results also show that the impact of optimizations is strongly related to the executed algorithm and how the compiler optimizes them.
26

AwARE : an approach for adaptive recommendation of resources / AwARE: an Approach for Adaptive Recommendation of rEsources

Machado, Guilherme Medeiros January 2018 (has links)
Sistemas de recomendação foram propostos no início da década de 1990 com o objetivo de auxiliar seus usuários a lidar com a sobrecarga cognitiva criada com o advento da internet e o aumento constante de documentos. De lá para cá tais sistemas passaram a assumir vários outros papéis, tais como “auxiliar usuários a explorar”, “melhorar a tomada de decisão”, ou até mesmo “entreter”. Para atingir tais novos objetivos, o sistema necessita olhar para características do usuário que auxiliem no entendimento da tarefa desempenhada pelo usuário e como a recomendação pode auxiliar tal tarefa. Nesse sentido, propõe-se nessa tese uma integração entre estratégias de recomendação e de adaptação para criar um novo processo de recomendação adaptativa. É mostrado que tal integração pode melhorar a acurácia da recomendação, e dar bons resultados na retenção de usuários, e na interação destes com os sistemas. Para validar a abordagem, é implementado um protótipo para recomendação de filmes a serem utilizados em sala de aula. São também coletadas estatísticas de 78 usuários que participaram do experimento de avaliação da abordagem. / Recommender systems were proposed in early 90’s with the goal to help users deal with cognitive overload brought by the internet and the constant increase of documents. From there to now such systems have assumed many other roles like “help users to explore”, “improve decision making”, or even “entertain”. To accomplish such new goals, the system needs to look to user characteristics that help in understand what the user task is and how to adapt the recommendation to support such task. In this direction, it is proposed in this thesis an integration between recommender and adaptive strategies into a new process of adaptive recommendation. It is shown that such integration can improve recommendation accuracy and give good results to user retention, and interaction with the systems. To validate the approach, it is implemented a prototype to recommend movies to be used in a classroom. It is also collected some statistics about the 78 users who have participated of the experiment for evaluation of the new approach.
27

Risco : microprocessador RISC CMOS de 32 bits / Risco - a 32-bit CMOS RISC microprocessor

Junqueira, Alexandre Ambrozi January 1993 (has links)
Este trabalho apresenta o estudo, a definição e a simulação elétrica e lógica de um microprocessador CMOS de 32 bits, com arquitetura tipo RISC - o Risco. Dentre as principais características do Risco destacam-se: dados, instruções e endereços são palavras de 32 bits; a unidade de endereçamento é a palavra, permitindo um acesso a 4 Giga palavras (16 Gbytes); a comunição com a memória é feita por um barramento multiplexado de 32 bits para dados e endereços; possui 32 registradores de 32 bits, incluídos nestes o contador de programa, o apontador de pilha, a palavra de status do processador e um registrador constante zero; possui um pipeline de instruções de 3 estágios, atingindo no pico de execução uma instrução por ciclo de máquina; e as instruções de salto têm sua execução retardada de uma instrução. A Arquitetura de Computadores é analisada, em especial as Arquiteturas RISC (Reduced Instruction Set Computer - Processador com Conjunto de Instruções Reduzido) e CISC (Complex...), mostrando suas características e comparando-as. Algumas máquinas RISC importantes são vistas e o tema de Arquiteturas VLSI e suas implicações tecnológicas no projeto também é abordado. A arquitetura do Risco é descrita dando-se ênfase aos objetivos do projeto e construindo uma visão geral do processador. O tratamento de exceções é apresentado e o conjunto de instruções é analisado quanto ao formato, aos tipos e ao processamento no pipeline. A organização interna do Risco 6 tratada em detalhes, descrevendo-se a Parte Operativa (barramentos, o banco de registradores, a unidade de tratamento da constante, o contador de programa e incrementador associado, a unidade lógico-aritmética, a unidade de deslocamento/rotação) e a Parte de Controle to funcionamento do pipeline de instrug6es, a decodificação, o autômato de controle, a geração e a validação dos comandos). A simulação funcional do Risco, feita em HDC, também é reportada, incluindo o modelamento, os vetores de testa e os resultados. A implementação do Risco é discutida enfatizando-se alguns blocos críticos quanto A Área e ao desempenho. Os barramentos e o banco de registradores, a ULA e a unidade de deslocamento/rotação são estudados em detalhes pela sua importância no desempenho da maquina. Um teste chip contendo a maior parte dos blocos funcionais da parte operativa foi construído, tendo sido aprovado nos testes funcionais. Por fim, faz-se comentários sobre os resultados obtidos, os problemas encontrados e as etapas futuras no desenvolvimento do Risco, alem de serem expostas as conclusões finais. / This work presents the study, the definition, the electric and logic simulation, and the implementation of some blocks of a 32-bit CMOS microprocessor, with RISC architecture - the Risco. Among Risco's main characteristics it is highlighted that data, instructions and addresses are 32-bit words; the address unit is the word, allowing an access to 4-Giga words (16 GBytes); communication with memory is made through a data and address bus of 32 bits; it has 32 registers of 32 bits, including program counter, stack pointer, processor status word, and a zero constant register; it also has an instruction pipeline of three stages, fully capable of issuing one instruction at the execution peak per every machine cycle; and control flow instructions are implemnted as delayed branches. A study on computer architecture is carried out, and special attention is given to the RISC (Reduced Instruction Set Computer) and CISC (Complex...) architectures by means of making comparisons between them, showing their main characteristics and listing some important RISC machines. The VLSI architectures are also discussed, giving emphasis to their technological importance for the Risco's project. Risco's architecture is described, bringing into prominence the aims of the project and an overview of the processor. Exception handling is presented and the instruction set is analysed with regard to format, type and pipeline processing. Risco's internal organization is dealt with in detail, providing descriptions of the data path (buses, register bank, constant unit, program counter and associated incrementer, barrel shifter) and of the control part (operation of pipeline instruction, as well as decodification, control automaton, generation and validation of commands). Risco's functional simulation, through HDC, is mentioned, including modeling, test vectors, and results. Risco's implementation is also discussed giving emphasis to some critical blocks in regard to area and performance. Buses, register bank, arithmetic-logic unit, and barrel shifter are dealt with in detail because of their importance concerning the machine performance. A test-chip, containing most of the functional blocks of the data path, was made and successfully passed the functional tests. Finally, some comments are made with regard to results, main problems, and next stages in the development of Risco.
28

Sequenciamento de processadores paralelos utilizando a meta heurística busca Tabu

Brandão, Luciano January 2002 (has links)
A programação de tarefas em linhas de produção nas empresas sempre foi e continua sendo um elemento fundamental para o sucesso das organizações em um mercado tão globalizado e competitivo. A melhor utilização dos recursos instalados através da melhor alocação das tarefas gerará melhores resultados para a organização. Entende-se pela melhor utilização dos recursos a redução do tempo total de finalização das tarefas (makespan) sem prejudicar o atendimento da data de entrega. Aplica-se esta idéia para as indústrias de um modo geral, que tenham linhas de produção, podendo citar a indústria calçadista, foco neste trabalho, as indústrias de massas, biscoitos e balas, entre outras. Na literatura especializada, esta programação é conhecida como sequenciamento de tarefas em processadores. Neste trabalho aplicado junto a indústria calçadista, foca-se em uma área mais específica: o sequenciamento de tarefas em processadores paralelos. Os problemas de sequenciamento se caracterizam pela grande exigência computacional para a resolução com algoritmos de otimização. Isto remete a utilização de heurísticas para a resolução destes problemas. Neste trabalho explora-se a Meta-Heurística Busca Tabu, que se apresentou com resultados muito bons em relação ao ótimo e em relação ao trabalhador humano. / The jobs scheduling in processor lines in the companies was always, and continues being, a fundamental element to the organization’s success in a very globalized and competitive market. The best use of the installed resources, through the best distribution of the jobs will generate better results for the organization. The best utilization of the resources means the reduction of the makespan without prejudicing the due-date. This idea is applied to all industries in general, that have processor lines, for example the shoes factories, focused in this research, pasta, cookies and sugar balls factories, beyond others. In the specialized literature this subject is know as job scheduling. This researh is applyed to a shoes factory is focused on more specific area: the job scheduling in parallel machines. The scheduling problems are characterized on its computational difficulty using optimization algoritms. That is the reason why we used heuristics to solve these problems. In this research we explore the Meta-Heuristic Tabu Search, wich showed very good results comparing to the optimun and comparing to the human worker.
29

Redu??o do consumo energ?tico de aplica??es paralelas em arquiteturas multi-core

Barros, Carlos Avelino de 13 July 2016 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-01-10T12:35:43Z No. of bitstreams: 1 CarlosAvelinoDeBarros_TESE.pdf: 14220676 bytes, checksum: 5528aa72761d295e342d61cf12387c5e (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-01-11T12:51:22Z (GMT) No. of bitstreams: 1 CarlosAvelinoDeBarros_TESE.pdf: 14220676 bytes, checksum: 5528aa72761d295e342d61cf12387c5e (MD5) / Made available in DSpace on 2017-01-11T12:51:22Z (GMT). No. of bitstreams: 1 CarlosAvelinoDeBarros_TESE.pdf: 14220676 bytes, checksum: 5528aa72761d295e342d61cf12387c5e (MD5) Previous issue date: 2016-07-13 / O per?odo que durou do surgimento dos microprocessadores at? o in?cio deste s?culo ficou marcado pela expans?o geom?trica da frequ?ncia de opera??o desses dispositivos. Se por um lado isso proporcionou aumentos cont?nuos do desempenho, tamb?m foi respons?vel por um crescimento problem?tico do aquecimento e do consumo de energia. No sentido de atenuar esses problemas, os processadores multi-core passaram a substituir extensivamente os processadores single-core, oferecendo uma alternativa vi?vel para aumentar o desempenho sem o aumento da frequ?ncia. Como uma das formas de se mapear o consumo de energia, apresentamos o desenvolvimento de dois conjuntos de modelos matem?ticos para a representa??o da pot?ncia el?trica dissipada nos processadores. De acordo com considera??es feitas em rela??o a suas parcelas est?tica e din?mica, estabelecemos a pot?ncia total como vari?vel dependente da frequ?ncia de opera??o dos respectivos processadores analisados. Demonstramos, a partir desses modelos matem?ticos, que o consumo relativo de energia dos processadores pode ser associado a medidas de desempenho empregadas em processamento paralelo, como speedup e efici?ncia. Tamb?m utilizamos os modelos para monitorar a influ?ncia de diversos fatores na redu??o do consumo de energia nos processadores multi-core, tais como o percentual da por??o paralela do c?digo, a quantidade de n?cleos a ser empregado de cada vez, a frequ?ncia de trabalho e o pr?prio speedup. Os resultados das an?lises, em simula??es e em hardware, confirmam as previs?es te?ricas e despertam a possibilidade de melhorar o desempenho energ?tico dos processadores multi-core, sobretudo nas condi??es em que os fatores de influ?ncia podem ser flexibilizados. / The period that lasted from the advent of microprocessors until early this century was marked by the geometric expansion of their operating frequency. If on one hand it provided continuous performance increases, on the other hand it was also responsible for a problematic growth in heating and energy consumption. In attempt to mitigate these problems, multi-core processors have been used extensively in replacement for singlecore processors, offering a viable alternative to increase performance without increasing frequency. As a way of mapping energy consumption, we present the development of two sets of mathematical models for the representation of the electrical power dissipated in the processors. According to considerations we made in relation to static and dynamic parts of the power, we established an equation for the total power as a function of the operating frequency of the respective analyzed processors. We demonstrate, based on these mathematical models, that the relative energy consumption of processors can be related to parallel processing performance measures, such as speedup and efficiency. We also use the models to monitor the influence of several factors on the reduction of energy consumption in multi-core processors, such as the percentage of the parallel portion of the code, the number of cores to be used each time, the working frequency and speedup itself. Results of the analyzes confirm the theoretical predictions and alert to the possibility of improving the energy performance of multi-core processors, especially in conditions in which the factors of influence can be made flexible.
30

The effects of the compiler optimizations in embedded processors reliability

Lins, Filipe Maciel January 2017 (has links)
O recente avanço tecnológico dos processadores embarcados aumentou a complexidade dos compiladores e o uso de recursos heterogêneos, como Arranjo de Portas Programáveis em Campo (Field Programmable Gate Array - FPGA) e Unidade de Processamento Gráfico (Graphics Processing Unit - GPU), integrado aos processadores. Além disso, aumentou-se o uso de componentes de prateleira (Commercial off-the-shelf - COTS) em aplicações críticas, ao invés de chips tolerantes a radiação, pois os COTS podem ser mais baratos, flexíveis, terem uma rápida colocação no mercado e um menor consumo de energia. No entanto, mesmo com essas vantagens, os COTS são suscetíveis a falha sendo necessário garantir uma alta confiabilidade nos sistemas utilizados. Assim como, no caso de aplicações em tempo real, também se precisa respeitar os requisitos determinísticos. Como caso de estudo, este trabalho utiliza a Zynq que é um dispositivo COTS do tipo Sistema em Chip Totalmente Programável (All Programmable System on Chip - APSoC) no qual possui um processador ARM Cortex-A9 embarcado. Nesta pesquisa, investigou-se o impacto das falhas que afetam o arquivo de registradores na confiabilidade dos processadores embarcados. Para tanto, experimentos de injeção de falhas e de radiação de íons pesados foram realizados. Além do mais, avaliou-se como os diferentes níveis de otimização do compilador modificam o uso e a probabilidade de falha do arquivo de registradores do processador. Selecionou-se seis benchmarks representativos, cada um compilado com três níveis diferentes de otimização. Realizamos campanhas exaustivas de injeção de falhas para medir o Fator de Vulnerabilidade Arquitetural (Architectural Vulnerability Factor - AVF) de cada código e configuração, identificando os registradores que são mais propensos a gerar uma corrupção de dados silenciosos (Silent Data Corruption - SDC) ou uma interrupção funcional de evento único (Single Event Functional Interruption - SEFI). Também foram correlacionadas as variações de confiabilidade observadas com a utilização do arquivo de registradores. Finalmente, irradiamos com íons pesados dois dos benchmarks selecionados compilados com dois níveis de otimização. Os resultados mostram que mesmo com o melhor desempenho, o menor uso do arquivo de registradores ou o menor AVF não é garantido que as aplicações irão alcançar a maior Carga de Trabalho Média Entre Falhas (Mean Workload Between Failure - MWBF). Por exemplo, os resultados mostram que o melhor desempenho da aplicação Multiplicação de Matrizes (Matrix Multiplication - MxM) é alcançado no nível de otimização mais alta. No entanto, nos resultados dos experimentos de injeção de falhas, a maior confiabilidade é alcançada no menor nível de otimização que possuem os menores AVFs e o menor uso do arquivo de registradores. Os resultados também mostram que o impacto das otimizações está fortemente relacionado com o algoritmo executado e como o compilador faz esta otimização. / The recent advances in the embedded processors increase the compilers complexity, and the usage of heterogeneous resources such as Field Programmable Gate Array (FPGA) and Graphics Processing Unit (GPU) integrated with the processors. Additionally, the increase in the usage of Commercial off-the-shelf (COTS) instead of radiation hardened chips in safety critical applications occurs because the COTS can be more flexible, inexpensive, have a fast time-to market and a lower power consumption. However, even with these advantages, it is still necessary to guarantee a high reliability in a system that uses a COTS for safety critical applications because they are susceptible to failures. Additionally, in the case of real time applications, the time requirements also need to be respected. As a case of study, this work uses the Zynq which is a COTS device classified as an All Programmable System-on-Chip (APSOC) and has an ARM Cortex-A9 as the embedded processor. In this research, the impact of faults that affect the register file in the embedded processors reliability was investigated. For that, fault-injection and heavy-ion radiation experiments were performed. Moreover, an evaluation of how the different levels of compiler optimization modify the usage and the failure probability of a processor register file. A set of six representative benchmarks, each one compiled with three different levels of compiler optimization. Exhaustive fault injection campaigns were performed to measure the registers Architectural Vulnerability Factor (AVF) of each code and configuration, identifying the registers that are more likely to generate Silent Data Corruption (SDC) or Single Event Functional Interruption (SEFI). Moreover, the observed reliability variations with register file utilization were correlated. Finally, two of the selected benchmarks, each one compiled with two different levels of optimization were irradiated in the heavy ions experiments. The results show that the best performance, the minor register file usage, or the lowest AVF does not always bring the highest Mean Workload Between Failures (MWBF). As an example, in the Matrix Multiplication (MxM) application, the best performance is achieved in the highest compiler optimization. However, in the fault injection, the higher reliability is obtained in the lower compiler optimization which has, the lower AVFs and the lower register file usage. Results also show that the impact of optimizations is strongly related to the executed algorithm and how the compiler optimizes them.

Page generated in 0.4721 seconds