• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 82
  • 6
  • Tagged with
  • 88
  • 88
  • 22
  • 22
  • 19
  • 17
  • 16
  • 15
  • 12
  • 12
  • 11
  • 10
  • 9
  • 9
  • 9
  • 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.
61

Um mecanismo de busca especulativa de múltiplos fluxos de instruções / A multistreamed speculative instruction fetch mechanism

Santos, Rafael Ramos dos January 1997 (has links)
Este trabalho apresenta um novo modelo de busca especulativa de múltiplos fluxos de instruções em arquiteturas superescalares. A avaliação de desempenho de uma arquitetura superescalar com esta característica é também apresentada como forma de validar o modelo proposto e comparar seu desempenho frente a uma arquitetura superescalar real. O modelo em questão pretende eliminar a latência de busca de instruções introduzida pela ocorrência de comandos de desvio em pipelines superescalares. O desempenho de uma arquitetura superescalar dotada de escalonamento dinâmico de instruções, previsão de desvios e execução especulatva é bastante inferior ao desempenho máximo teórico esperado. Como demonstrado em outros trabalhos, isto ocorre devido às constantes quebras de fluxo, derivadas de instruções de desvio, e do conseqüente esvaziamento da fila de instruções. O emprego desta técnica permite encadear instruções pertencentes a diferentes fluxos lógicos, logo após a identificação de uma instrução de desvio, disponibilizando um maior número de instruções ao mecanismo de escalonamento dinâmico e diminuindo o número de ciclos com despacho nulo devido as quebras de fluxo. Algumas considerações sobre a implementação do modelo descrito são apresentadas ao final do trabalho assim como sugestões para trabalhos futuros. / This work presents a new model to fetch instructions along multiple streams in superscalar pipelines. Also, the performance evaluation of a superscalar architecture including this feature is presented in order to validate the model and to compare its performance with a real superscalar architecture. The proposed technique intents to eliminate the instruction fetch latency introduced by branch instructions in superscalar pipelines. The performance delivered by a superscalar architecture which incorporate dynamic instruction scheduling, branch prediction and speculative execution is not the expected one which should be at least proportional to the number of functional units. Related works have shown that constant stream breaks caused by disruptions in the sequential flow of control reduce the amount of instructions into the instruction queue. This technique allows instruction fetch through different logic streams, as soon as the branch instruction has been detected during the fetch. The scheduler needs a large instruction window to be able to schedule efficiently consequently the instructions window should hold as many instructions as possible to allow an efficient schedule. The improvement realized by the proposed scheme is to increase the size of the instruction window by putting there more instructions avoiding interruptions on the event of branch occurrence. Some considerations about the implementation of this model are presented at final as well as suggestions to future works.
62

Utilização de objetos de aprendizagem para melhoria da qualidade do ensino de hierarquia de memória / Use of learning objects to improve the quality of the memory hierarchy

Tiosso, Fernando 24 March 2015 (has links)
O ensino e a aprendizagem do tema hierarquia de memória não são tarefas simples, pois muitos assuntos que são abordados em teoria podem desmotivar a aprendizagem em virtude de sua complexidade. Este projeto de mestrado apresenta a transformação do módulo de memória cache da ferramenta Amnesia em um objeto de aprendizagem, que visa facilitar a construção do conhecimento através da simulação da estrutura e da funcionalidade da hierarquia de memória na arquitetura von Neumann de uma maneira mais prática e didática. Este processo permitiu que funcionalidades existentes na ferramenta fossem readequadas e novas funcionalidades desenvolvidas. Aliado a isso, planos de aula e questionários de avaliação e usabilidade também foram concebidos, validados e implementados junto à elaboração de um tutorial para descrever o funcionamento do novo objeto. Os estudos experimentais realizados analisaram dois aspectos: o primeiro, se o objeto de aprendizagem melhorou, de fato, a aprendizagem dos alunos no assunto memória cache; o segundo, a opinião dos alunos em relação à utilização do objeto. Após a análise e avaliação dos resultados obtidos nos experimentos, foi possível demonstrar uma evolução na aprendizagem quando se fez o uso do objeto, além de se perceber que a motivação dos alunos em utilizar outros objetos de aprendizagem aumentou. / The teaching and learning of memory hierarchy are not simple tasks, because many subjects that are covered in theory may demotivate learning because of its complexity. This Master\'s thesis presents the process of transformation of the cache memory module of Amnesia tool in a learning object, aiming to facilitate the construction of knowledge by simulating the structure and functionality of memory hierarchy of von Neumann architecture in a more practice and didactic way. This process allowed existing features in the tool to be adequate and new features developed. In addition, lesson plans and questionnaires of assessment and usability have also been designed, validated and implemented and a tutorial to describe the operation of the new object was developed. Experimental studies have examined two aspects: the first, if the learning object improved, in fact, the students\' learning in the subject cache memory; the second, students\' opinions regarding the use of the object. After the analysis and evaluation of the results obtained in the experiments, was possible show an evolution in learning when it made the use of the object, and also to perceive that students\' motivation to use other learning objects increased.
63

Um estudo sobre processamento adaptativo de sinais utilizando redes neurais / A study about adaptive signal processing using neural nets

Dorneles, Ricardo Vargas January 1993 (has links)
Nos últimos anos muito tem se pesquisado na área de arquiteturas paralelas de computadores, devido ao fato da melhora de desempenho nas arquiteturas sequenciais não estar acompanhando as necessidades crescentes de capacidade de processamento. Entre as arquiteturas paralelas, um grupo que tem recebido especial atenção por parte dos pesquisadores é o de redes neurais. Uma rede neural é uma arquitetura baseada em paralelismo massivo, na interconexão de numerosos elementos simples de processamento segundo uma determinada topologia e com uma regra de aprendizagem. As redes neurais tem tido grande importância na área de reconhecimento de padrões e diversas aplicações em reconhecimento de caracteres, imagem e voz tem sido desenvolvidas. Outra área de aplicação das redes neurais é o processamento de sinais. A característica de adaptabilidade das redes neurais torna-as apropriadas à utilização em aplicações, onde as características do sinal, ou do meio, são variáveis ou não totalmente conhecidas, como filtros adaptativos. O objetivo deste trabalho é mostrar as aplicações de redes neurais nesta área. Na primeira parte do trabalho foram implementadas aplicações de redes neurais à filtragem utilizando diversas topologias e modelos de neurônios. Os modelos implementados são aqui apresentados juntamente com os resultados das simulações. A segunda parte do trabalho consiste na aplicação de um modelo de redes neurais a um problema bem específico, a separação de sinais a partir de diversas combinações destes sinais. A solução implementada foi baseada no algoritmo proposto por Jutten em [JUT 87]. Além da aplicação deste algoritmo, o problema envolve a análise espectral do sinal, e a reconstrução do sinal original a partir de suas componentes, após efetuada a separação. Neste trabalho é efetuado um estudo sobre este algoritmo, é proposta uma alteração para sua aplicação a sinais de voz, e são mostrados os resultados obtidos na aplicação deste sistema à separação de sinais de voz de diversos locutores. / A lot of research has recently been done in parallel architectures, due to the fact that the improvement in the performance of sequential architectures has not accompanied the growing needs of processing power. Among the parallel architectures, one that has received special attention of the researchers is neural nets. A neural net is an architecture based on massive parallelism, interconection of many processing elements according to one topology and a learning rule. This technology has acquired great importance in the area of pattern recognition and many apllications in recognition of characters, images and voice have been developed. Another area of application of neural nets is signal processing. The characteristic of adaptability of neural nets makes them appropriate to the use of applications where the characteristics of the signal or the environment are variable or not completely known, like adaptive filters. The goal of this work is showing some applications of neural nets in signal processing. In the first part of the work applications of neural nets to filtering using different topologies and models of neurons have been implemented. These models are presented here with the results of these simulations. The second part consists of the application of a neural network model to a very specific problem, the separation of signals from combinations of these signals. The solution implemented was based in the algorithm proposed by Jutten [JUT 87][HER 88]. This problem involves, besides the application of this algorithm, signal spectral analysis and reconstruction of the original signal from the components after the separation is accomplished. After describing the study of the algorithm which has been carried on, the work finishes with the proposal of a modification which would allow the enhancement of its range of applications, namely, to the field of voice signal processing. The results of this other kind of application are consequently shown.
64

Algoritmos paralelos para alocação e gerência de processadores em máquinas multiprocessadoras hipercúbicas / Parallel algorithms for processor allocation in hypercubes

De Rose, Cesar Augusto Fonticielha January 1993 (has links)
Nos últimos anos, máquinas maciçamente paralelas, compostas de centenas de processadores, vem sendo estudadas como uma alternativa para a construção de supercomputadores. Neste novo conceito de processamento de dados, grandes velocidades são alcançadas através da cooperação entre os diversos elementos processadores na resolução de um problema. Grande parte das máquinas maciçamente paralelas encontradas no mercado utilizam-se da topologia hipercúbica para a interconexão de seus múltiplos processadores, ou podem ser configuradas como tal. Uma alternativa interessante para o compartilhamento da capacidade de processamento destas máquinas é sua utilização como computador agregado a uma rede, servindo a diversos usuários [DUT 91]. Desta forma, a máquina hipercúbica se comporta como um banco de processadores, que permite que cada usuário aloque parte de seus processadores para seu uso pessoal. Isto resulta em um aumento no desempenho da rede ao nível de supercomputadores com um custo relativamente baixo e viabiliza a construção de máquinas hipercúbicas com altas dimensões, evitando que estas sejam sub-utilizadas. Neste tipo de contexto, cabe ao sistema operacional atender as requisições dos usuários do hipercubo compartilhado de forma eficiente, a fim de evitar uma rápida fragmentação do cubo e de não exceder o tempo máximo de espera de uma determinada aplicação. A partir dos algoritmos propostos é apresentada a definição de um servidor de processadores para o compartilhamento de uma máquina multiprocessadora hipercúbica em uma rede de estações de trabalho. Algumas funções deste servidor são implementadas por um protótipo denominado Sub-Cube RPC. Com o objetivo de analisar o comportamento da rede de estações em relação a inclusão de um novo recurso a ser compartilhado, foi desenvolvido, juntamente com o grupo de Avaliação de Desempenho ADMP, um simulador para o ambiente SUN/UNIX. Através desta ferramenta e dos tempos de resposta obtidos pelo protótipo do servidor desenvolvido é possível avaliar o custo que o tráfego gerado pelo servidor adiciona à rede, sendo possível a manipulação de parâmetros da rede e do servidor. Os resultados obtidos nas versões paralelas implementadas são comparados com o desempenho das versões seqüenciais. Para viabilizar esta comparação, todos os algoritmos seqüenciais encontrados na literatura também foram implementados na linguagem "C" no ambiente alvo UNIX e encontram-se em anexo. As versões paralelas foram implementadas utilizando-se recursos da própria rede de estações, através de diretivas socket, e também em Transputers na linguagem C paralela. O protótipo do servidor de processadores foi implementado como um servidor RPC para uma rede de estações UNIX também na linguagem "C". A ferramenta de simulação para o funcionamento do servidor foi implementada na linguagem "C" e seu sistema de entrada de dados e visualização utiliza a interface X-Windows. Com os resultados deste trabalho se pode ter uma boa idéia dos efeitos e das dificuldades encontradas na paralelização dos algoritmos de alocação e gerência de processadores para máquinas Hipercúbicas. As informações contidas no trabalho auxiliam na melhoria do tempo de resposta dos algoritmos seqüenciais atuais e no desenvolvimento de novos algoritmos com mais recursos e ainda assim viáveis em ambientes interativos, graças a utilização de paralelismo. O protótipo Sub-Cube RPC demonstra como os algoritmos estudados neste trabalho podem ser aplicados na construção de um servidor de processadores para máquinas multiprocessadas. O protótipo servirá como base para a implementação de um servidor semelhante no CPGCC/UFRGS, que colocará uma placa de Transputers à disposição da rede de estações do grupo de processamento paralelo. / In the last years massively parallel machines, build with hundreds of processors, are becoming an alternative for the construction of supercomputers. In this new concept of data processing, high performance is achieved by processor cooperation in the resolution of a problem. A great part of the commercial massively parallel machines utilizes the hypercubic topology to interconnect their multiple processors, or may be configured as hypercubes. A very interesting alternative for sharing the processing power of this machines is their utilization as aggregated computer in a network, serving various users [DUT 91]. In such environment, the hypercube behaves like a processor server, permitting the users to allocate part of its processors for local use. This result in a enhancement in the performance of workstation networks to the level of supercomputers and allow higher dimension hypercubes to be better utilized. In such environment the operating system is responsible for serving the users of a shared multiprocessor in a efficient way, not allowing a quick fragmentation of the hypercube and observing the maximal waiting time for the applications. The algorithms for processor allocation and management are responsible for obtention and control of one or more processors of the shared machine for the user's task execution. In this study, parallel versions of the most important algorithms for processor allocation and management in hypercubes found in the literature are proposed. The intention with this paralelization is to achieved a better response time of the more complex algorithms, making their use possible in a real time sharing environment. Because the allocation is considered the most important part of the processor server, the utilization of more complex algorithms allows a better utilization of the shared processors, resulting in a performance increase of the parallel machine. Based on the proposed algorithms, a processor server is defined for sharing a hypercubic multiprocessor in a workstation network. Some functions of this server are implemented in a prototype called Sub-Cube RPC. To analyze the behavior of the network, in relation to the inclusion of this new shared resource, a simulator for the SUN/UNIX environment has been developed together with the Performance Evaluation Group ADMP. With this tool and with the response times of the developed server prototype, it is possible to evaluate the cost of the additional network traffic generated by the server, with the possibility to change parameters of the server and network. The results obtained in the implemented parallel versions are compared with the performance of the sequential algorithms. To make this comparison possible all the sequential algorithms found in the literature are also implemented in the "C" language and can be found in annex. The parallel versions were implemented using network resources, through the socket directive, and also using Transputers in parallel "C". The processor server prototype was implemented as a RPC server for an UNIX network, also in the "C" language. The simulation tool was coded in "C" and the I/O interface use the X-Windows protocol. The results of this study may give a background about the effects and difficulties found in the pa ralelization of the allocation algorithms for the hypercubic machines. The information found in this study will help the operating system designer to obtain a better response time of the sequential algorithms found in the literature and in the development of new and more complex algorithms that will be still practicable in a real time environment due to parallelism utilization. The Sub-Cube RPC prototype demonstrates how the algorithms studied in this work can be applied in the construction of a processor server for multiprocessors. The prototype is the first step for the implementation of a similar server in the CPGCC/UFRGS that will share a Transputer board in a network of workstations from the parallel processing group.
65

Reconfiguração no t-node em caso de falhas / Reconfiguration on the t-node machine under fault

Nunes, Raul Ceretta January 1993 (has links)
Procedimentos de reconfiguração são usados em diversos sistemas para isolar módulos falhos e recuperar o sistema após a ocorrência de erros. Em ambientes multiprocessadores, onde existe redundância implícita de nodos processadores, vários algoritmos de reconfiguração já foram propostos. Entretanto a maior parte destes algoritmos destina-se a topologias específicas bastante exploradas como, por exemplo, arquiteturas na forma de arrays e árvores. Neste trabalho é apresentada uma estratégia de detecção/reconfiguração para tolerar falhas na máquina T-NODE. Esta máquina possui uma arquitetura multiprocessadora fracamente acoplada, que tem como processador base o transputer. Sua arquitetura de interconexão é definida pelo usuário; a organização de barramentos implementada com base em uma chave crossbar, a qual permite uma variada e fácil gama de opções. Assim, os algoritmos tradicionais de reconfiguração não se aplicam pois são excessivamente restritivos. A análise da arquitetura e do software de baixo nível existentes para a T-NODE revelou recursos praticamente inexistentes a nível de controle de falhas nos processadores e erros no processamento. Mesmo considerando-se que o principal objetivo desta máquina é a obtenção de alto desempenho, é possível implementar procedimentos que melhorem suas características de confiabilidade. Neste estudo é apresentada uma maneira de melhorar o nível de tolerância a falhas da máquina de modo que ela possa ser usada em tarefas mais exigentes do ponto de vista de confiabilidade, sem perda excessiva de desempenho. A estratégia definda usa a técnica de redundância dinâmica com detecção de falhas on-line e recuperação do sistema através do isolamento da falha por reconfiguração e conseqüente reinicialização do sistema. A validação da estratégia foi feita pela construção de um protótipo utilizando a linguagem OCCAM2 e um processador transputer conectado ao barramento de um microcomputador PC. No protótipo foram implementados três processos distintos: o testador, o supervisor e o reconfigurador. Estes processos têm respectivamente, as funções de testar os nodos processadores, supervisionar os resultados dos testes e reconfigurar o sistema quando da ocorrência de uma falha. / In many systems, reconfiguration strategies are used to remove failed components and to recuperate system from the resulting errors. Various reconfiguration algorithms have been proposed with the goal of covering faults in multiprocessing systems, but most of them support only specific architecture styles, as arrays or trees. In this study, a reconfiguration algorithm is proposed whose goal is to tolerate faults in the T-NODE machine. The T-NODE is a loosed coupled, multiprocessor machine based on transputers. The analysis of the architecture and of the system software existing for the T-NODE has shown that, in practice, there were not special resources aiming to control processor faults and processing errors. Even considering that the main goal of this machine is processing with high performance, it is possible to implement alternative procedures which result in better reliability characteristics. By other way, the interconnection architecture of this machine is defined by the user; its bus organization implemented with the aid of a crossbar switch allows choices among several possibilities. Consequently, traditional algorithms do not apply because they are too restrictive. Therefore, the research here related aims to improve the fault-tolerance parameters of this machine without changing significantly its original performance. The strategy here presented uses a dynamic redundancy technique with on-line fault detection; system recovery is get by logically isolating the faulty module, reconfiguring the others and restarting the system. The validation of the strategy has been done with the construction of a prototype using the OCCAM2 language and a transputer processor connected to the bus of a microcomputer (PC). Three different processes have been implemented in the prototype: the tester, the supervisior and the reconfigurator. These processes have respectively the functions of: testing the processing nodes, to supervise tests results and to reconfigure the system under fault occurrence.
66

Arquitetura modular de processador multicore, flexível, segura e tolerante a falhas, para sistemas embarcados ciberfísicos. / Modular multicore processor architecture, flexible, securi and fault tolerant, to embedded cyber-physical systems.

Cesar Giacomini Penteado 08 December 2010 (has links)
Sistemas Ciberfísicos (SCF) são sistemas onde existe uma união entre computação e física. Os SCF serão utilizados nas mais diversas áreas, formando uma nova era de produtos e estarão em qualquer lugar, sendo utilizados por qualquer um e para qualquer tarefa. Aplicações para SCF incluem sistemas e dispositivos médicos altamente confiáveis, controle de tráfego e segurança, sistemas automotivos avançados, controle de processos, conservação de energia, controle ambiental, aviação, instrumentação, controle de infra estrutura crítica, sistemas de defesa, fabricação e estruturas inteligentes. O cenário de sistemas ciberfísicos (SCF) exigirá dos processadores de sistemas embarcados melhorias em características além de processamento de I/O, consumo de energia e comunicação, ou seja, as futuras arquiteturas de processadores deverão possuir também características de segurança, tolerância à falhas e flexibilidade arquitetural para adequação aos diversos cenários alvo de SCF. Neste contexto, nesta tese de doutorado, idealizou-se uma arquitetura modular multicore (AMM), voltada à SCF, composta por processadores multicore, hardware dedicado ou ambos. Dessa maneira, propõe-se um processador para a arquitetura AMM e avalia-se seu correto funcionamento por meio de simulações no software Modelsim e ferramentas de simulação de circuitos integrados. Apresenta-se um protótipo para uma primeira versão da arquitetura AMM e detalham-se alguns programas especificamente escritos para comprovar as principais características da arquitetura. Na tese, apresentam-se testes funcionais em FPGA para o processador base do protótipo AMM, dados de utilização do protótipo do processador da arquitetura AMM em FPGA e um protótipo do processador da AMM em silício. Analisa-se o protótipo da arquitetura AMM com aplicações criticas e de uso em SCF, tais como: segurança, redundância, e tolerância a falhas; as quais permitem concluir que os processadores futuros de SCF devem ter essas características. A tese mostra que esses quesitos podem ser incluídos em sistemas embarcados com características multicore dedicados a aplicações e necessidades de sistemas SCF. / Cyber-physical Systems (CPS) are systems where there is an union between computing and physics. The CPS will be used in several areas, forming a new era of systems or devices and could be anywhere, being used by anyone and anything. Applications for CPS include highly reliable medical systems and devices, traffic control and security, advanced automotive, process control, energy conservation, environmental control, aviation, instrumentation, control of critical infrastructure, defense systems, manufacturing, and smart structures. So, CPS scenario needs requirements design of embedded systems, composed by processors with new features in addition to I/O processing, power consumption, and communication. Then, the future of processor architectures should also have security, fault tolerance, architectural adaptation and flexibility to various and different scenarios. In this context, in this thesis, it is proposed a modular architecture to multicore processor (AMM) to use in the CPS. It is composed by multicore processors, dedicated hardware or both. Thus, in this thesis, we have proposed one processor architecture and we have done verification based on simulations using Modelsim software and simulation tools for integrated circuits, and we have running applications programs to demonstrate the main features of the AMM architecture. We also show a prototype of AMM using FPGA as well as implementation data such as FPGA usage and resources in silicon area. It is also presented an ASIC prototype of AMM core. The prototype architecture of the AMM was analyzed with critical applications which are used in CPS, such as security, redundancy and fault tolerance, and these tests suggest that the future CPS processors must have those characteristics. Thus, the thesis shows that these aspects can be included in embedded systems with dedicated features to multicore applications and systems used in CPS.
67

Arquitetura modular de processador multicore, flexível, segura e tolerante a falhas, para sistemas embarcados ciberfísicos. / Modular multicore processor architecture, flexible, securi and fault tolerant, to embedded cyber-physical systems.

Penteado, Cesar Giacomini 08 December 2010 (has links)
Sistemas Ciberfísicos (SCF) são sistemas onde existe uma união entre computação e física. Os SCF serão utilizados nas mais diversas áreas, formando uma nova era de produtos e estarão em qualquer lugar, sendo utilizados por qualquer um e para qualquer tarefa. Aplicações para SCF incluem sistemas e dispositivos médicos altamente confiáveis, controle de tráfego e segurança, sistemas automotivos avançados, controle de processos, conservação de energia, controle ambiental, aviação, instrumentação, controle de infra estrutura crítica, sistemas de defesa, fabricação e estruturas inteligentes. O cenário de sistemas ciberfísicos (SCF) exigirá dos processadores de sistemas embarcados melhorias em características além de processamento de I/O, consumo de energia e comunicação, ou seja, as futuras arquiteturas de processadores deverão possuir também características de segurança, tolerância à falhas e flexibilidade arquitetural para adequação aos diversos cenários alvo de SCF. Neste contexto, nesta tese de doutorado, idealizou-se uma arquitetura modular multicore (AMM), voltada à SCF, composta por processadores multicore, hardware dedicado ou ambos. Dessa maneira, propõe-se um processador para a arquitetura AMM e avalia-se seu correto funcionamento por meio de simulações no software Modelsim e ferramentas de simulação de circuitos integrados. Apresenta-se um protótipo para uma primeira versão da arquitetura AMM e detalham-se alguns programas especificamente escritos para comprovar as principais características da arquitetura. Na tese, apresentam-se testes funcionais em FPGA para o processador base do protótipo AMM, dados de utilização do protótipo do processador da arquitetura AMM em FPGA e um protótipo do processador da AMM em silício. Analisa-se o protótipo da arquitetura AMM com aplicações criticas e de uso em SCF, tais como: segurança, redundância, e tolerância a falhas; as quais permitem concluir que os processadores futuros de SCF devem ter essas características. A tese mostra que esses quesitos podem ser incluídos em sistemas embarcados com características multicore dedicados a aplicações e necessidades de sistemas SCF. / Cyber-physical Systems (CPS) are systems where there is an union between computing and physics. The CPS will be used in several areas, forming a new era of systems or devices and could be anywhere, being used by anyone and anything. Applications for CPS include highly reliable medical systems and devices, traffic control and security, advanced automotive, process control, energy conservation, environmental control, aviation, instrumentation, control of critical infrastructure, defense systems, manufacturing, and smart structures. So, CPS scenario needs requirements design of embedded systems, composed by processors with new features in addition to I/O processing, power consumption, and communication. Then, the future of processor architectures should also have security, fault tolerance, architectural adaptation and flexibility to various and different scenarios. In this context, in this thesis, it is proposed a modular architecture to multicore processor (AMM) to use in the CPS. It is composed by multicore processors, dedicated hardware or both. Thus, in this thesis, we have proposed one processor architecture and we have done verification based on simulations using Modelsim software and simulation tools for integrated circuits, and we have running applications programs to demonstrate the main features of the AMM architecture. We also show a prototype of AMM using FPGA as well as implementation data such as FPGA usage and resources in silicon area. It is also presented an ASIC prototype of AMM core. The prototype architecture of the AMM was analyzed with critical applications which are used in CPS, such as security, redundancy and fault tolerance, and these tests suggest that the future CPS processors must have those characteristics. Thus, the thesis shows that these aspects can be included in embedded systems with dedicated features to multicore applications and systems used in CPS.
68

WSPE : um ambiente de programação peer-to-peer para a computação em grade / WSPE : a peer-to-peer programming environment for grid computing

Rosinha, Rômulo Bandeira January 2007 (has links)
Um ambiente de programação é uma ferramenta de software resultante da associa ção de um modelo de programação a um sistema de execução. O objetivo de um ambiente de programação é simpli car o desenvolvimento e a execução de aplicações em uma determinada infra-estrutura computacional. Uma infra-estrutura de Computa ção em Grade apresenta características peculiares que tornam pouco e cientes ambientes de programação existentes para infra-estruturas mais tradicionais, como máquinas maciçamente paralelas ou clusters de computadores. Este trabalho apresenta o WSPE, um ambiente de programação peer-to-peer para Computação em Grade. O WSPE oferece suporte para aplicações grid-unaware que seguem o modelo de programação de tarefas paralelas. A interface de programação WSPE é de nida através de anotações da linguagem Java. O sistema de execu- ção segue um modelo peer-to-peer totalmente descentralizado com o propósito de obter robustez e escalabilidade. Embora um sistema de execução necessite abordar diversos aspectos para se tornar completo, a concepção do sistema de execução WSPE aborda aspectos de desempenho, portabilidade, escalabilidade e adaptabilidade. Para tanto foram desenvolvidos ou adaptados mecanismos para as funções de escalonamento, de construção da rede de sobreposição e de suporte ao paralelismo adaptativo. O mecanismo de escalonamento empregado pelo sistema de execução WSPE é baseado na idéia de roubo de trabalho e utiliza uma nova estratégia que resulta em uma e ciência até cinco vezes superior quando comparada com uma estrat égia mais tradicional. Experimentos realizados com um protótipo do WSPE e também por simulação demonstram a viabilidade do ambiente de programação proposto. / A programming environment is a software tool resulting from the association of a programming model to a runtime system. The goal of a programming environment is to simplify application development and execution on a given computational infrastructure. A Grid Computing infrastructure presents peculiar characteristics that make less e cient existing programming environments designed for more traditional infrastructures, such as massively parallel machines or clusters of computers. This work presents WSPE, a peer-to-peer programming environment for Grid Computing. WSPE provides support for grid-unaware applications following the task parallelism programming model. WSPE programming interface is de ned using annotations from the Java language. The runtime system follows a fully decentralized peer-to-peer model. Although several aspects must be considered in order for a runtime system to become complete, WSPE runtime system's conception considers only performance, portability, scalability and adaptability. For this purpose, mechanisms have been developed or adapted to handle scheduling, overlay network building and adaptive parallelism support functions. The scheduling mechanism employed by WSPE's runtime system is based on the idea of work stealing and uses a new strategy resulting on four times higher e ciency when compared to a more traditional strategy. Conducted experiments with WSPE's prototype and also using a simulation tool demonstrate the proposed programming environment feasibility.
69

Um estudo sobre processamento adaptativo de sinais utilizando redes neurais / A study about adaptive signal processing using neural nets

Dorneles, Ricardo Vargas January 1993 (has links)
Nos últimos anos muito tem se pesquisado na área de arquiteturas paralelas de computadores, devido ao fato da melhora de desempenho nas arquiteturas sequenciais não estar acompanhando as necessidades crescentes de capacidade de processamento. Entre as arquiteturas paralelas, um grupo que tem recebido especial atenção por parte dos pesquisadores é o de redes neurais. Uma rede neural é uma arquitetura baseada em paralelismo massivo, na interconexão de numerosos elementos simples de processamento segundo uma determinada topologia e com uma regra de aprendizagem. As redes neurais tem tido grande importância na área de reconhecimento de padrões e diversas aplicações em reconhecimento de caracteres, imagem e voz tem sido desenvolvidas. Outra área de aplicação das redes neurais é o processamento de sinais. A característica de adaptabilidade das redes neurais torna-as apropriadas à utilização em aplicações, onde as características do sinal, ou do meio, são variáveis ou não totalmente conhecidas, como filtros adaptativos. O objetivo deste trabalho é mostrar as aplicações de redes neurais nesta área. Na primeira parte do trabalho foram implementadas aplicações de redes neurais à filtragem utilizando diversas topologias e modelos de neurônios. Os modelos implementados são aqui apresentados juntamente com os resultados das simulações. A segunda parte do trabalho consiste na aplicação de um modelo de redes neurais a um problema bem específico, a separação de sinais a partir de diversas combinações destes sinais. A solução implementada foi baseada no algoritmo proposto por Jutten em [JUT 87]. Além da aplicação deste algoritmo, o problema envolve a análise espectral do sinal, e a reconstrução do sinal original a partir de suas componentes, após efetuada a separação. Neste trabalho é efetuado um estudo sobre este algoritmo, é proposta uma alteração para sua aplicação a sinais de voz, e são mostrados os resultados obtidos na aplicação deste sistema à separação de sinais de voz de diversos locutores. / A lot of research has recently been done in parallel architectures, due to the fact that the improvement in the performance of sequential architectures has not accompanied the growing needs of processing power. Among the parallel architectures, one that has received special attention of the researchers is neural nets. A neural net is an architecture based on massive parallelism, interconection of many processing elements according to one topology and a learning rule. This technology has acquired great importance in the area of pattern recognition and many apllications in recognition of characters, images and voice have been developed. Another area of application of neural nets is signal processing. The characteristic of adaptability of neural nets makes them appropriate to the use of applications where the characteristics of the signal or the environment are variable or not completely known, like adaptive filters. The goal of this work is showing some applications of neural nets in signal processing. In the first part of the work applications of neural nets to filtering using different topologies and models of neurons have been implemented. These models are presented here with the results of these simulations. The second part consists of the application of a neural network model to a very specific problem, the separation of signals from combinations of these signals. The solution implemented was based in the algorithm proposed by Jutten [JUT 87][HER 88]. This problem involves, besides the application of this algorithm, signal spectral analysis and reconstruction of the original signal from the components after the separation is accomplished. After describing the study of the algorithm which has been carried on, the work finishes with the proposal of a modification which would allow the enhancement of its range of applications, namely, to the field of voice signal processing. The results of this other kind of application are consequently shown.
70

Algoritmos paralelos para alocação e gerência de processadores em máquinas multiprocessadoras hipercúbicas / Parallel algorithms for processor allocation in hypercubes

De Rose, Cesar Augusto Fonticielha January 1993 (has links)
Nos últimos anos, máquinas maciçamente paralelas, compostas de centenas de processadores, vem sendo estudadas como uma alternativa para a construção de supercomputadores. Neste novo conceito de processamento de dados, grandes velocidades são alcançadas através da cooperação entre os diversos elementos processadores na resolução de um problema. Grande parte das máquinas maciçamente paralelas encontradas no mercado utilizam-se da topologia hipercúbica para a interconexão de seus múltiplos processadores, ou podem ser configuradas como tal. Uma alternativa interessante para o compartilhamento da capacidade de processamento destas máquinas é sua utilização como computador agregado a uma rede, servindo a diversos usuários [DUT 91]. Desta forma, a máquina hipercúbica se comporta como um banco de processadores, que permite que cada usuário aloque parte de seus processadores para seu uso pessoal. Isto resulta em um aumento no desempenho da rede ao nível de supercomputadores com um custo relativamente baixo e viabiliza a construção de máquinas hipercúbicas com altas dimensões, evitando que estas sejam sub-utilizadas. Neste tipo de contexto, cabe ao sistema operacional atender as requisições dos usuários do hipercubo compartilhado de forma eficiente, a fim de evitar uma rápida fragmentação do cubo e de não exceder o tempo máximo de espera de uma determinada aplicação. A partir dos algoritmos propostos é apresentada a definição de um servidor de processadores para o compartilhamento de uma máquina multiprocessadora hipercúbica em uma rede de estações de trabalho. Algumas funções deste servidor são implementadas por um protótipo denominado Sub-Cube RPC. Com o objetivo de analisar o comportamento da rede de estações em relação a inclusão de um novo recurso a ser compartilhado, foi desenvolvido, juntamente com o grupo de Avaliação de Desempenho ADMP, um simulador para o ambiente SUN/UNIX. Através desta ferramenta e dos tempos de resposta obtidos pelo protótipo do servidor desenvolvido é possível avaliar o custo que o tráfego gerado pelo servidor adiciona à rede, sendo possível a manipulação de parâmetros da rede e do servidor. Os resultados obtidos nas versões paralelas implementadas são comparados com o desempenho das versões seqüenciais. Para viabilizar esta comparação, todos os algoritmos seqüenciais encontrados na literatura também foram implementados na linguagem "C" no ambiente alvo UNIX e encontram-se em anexo. As versões paralelas foram implementadas utilizando-se recursos da própria rede de estações, através de diretivas socket, e também em Transputers na linguagem C paralela. O protótipo do servidor de processadores foi implementado como um servidor RPC para uma rede de estações UNIX também na linguagem "C". A ferramenta de simulação para o funcionamento do servidor foi implementada na linguagem "C" e seu sistema de entrada de dados e visualização utiliza a interface X-Windows. Com os resultados deste trabalho se pode ter uma boa idéia dos efeitos e das dificuldades encontradas na paralelização dos algoritmos de alocação e gerência de processadores para máquinas Hipercúbicas. As informações contidas no trabalho auxiliam na melhoria do tempo de resposta dos algoritmos seqüenciais atuais e no desenvolvimento de novos algoritmos com mais recursos e ainda assim viáveis em ambientes interativos, graças a utilização de paralelismo. O protótipo Sub-Cube RPC demonstra como os algoritmos estudados neste trabalho podem ser aplicados na construção de um servidor de processadores para máquinas multiprocessadas. O protótipo servirá como base para a implementação de um servidor semelhante no CPGCC/UFRGS, que colocará uma placa de Transputers à disposição da rede de estações do grupo de processamento paralelo. / In the last years massively parallel machines, build with hundreds of processors, are becoming an alternative for the construction of supercomputers. In this new concept of data processing, high performance is achieved by processor cooperation in the resolution of a problem. A great part of the commercial massively parallel machines utilizes the hypercubic topology to interconnect their multiple processors, or may be configured as hypercubes. A very interesting alternative for sharing the processing power of this machines is their utilization as aggregated computer in a network, serving various users [DUT 91]. In such environment, the hypercube behaves like a processor server, permitting the users to allocate part of its processors for local use. This result in a enhancement in the performance of workstation networks to the level of supercomputers and allow higher dimension hypercubes to be better utilized. In such environment the operating system is responsible for serving the users of a shared multiprocessor in a efficient way, not allowing a quick fragmentation of the hypercube and observing the maximal waiting time for the applications. The algorithms for processor allocation and management are responsible for obtention and control of one or more processors of the shared machine for the user's task execution. In this study, parallel versions of the most important algorithms for processor allocation and management in hypercubes found in the literature are proposed. The intention with this paralelization is to achieved a better response time of the more complex algorithms, making their use possible in a real time sharing environment. Because the allocation is considered the most important part of the processor server, the utilization of more complex algorithms allows a better utilization of the shared processors, resulting in a performance increase of the parallel machine. Based on the proposed algorithms, a processor server is defined for sharing a hypercubic multiprocessor in a workstation network. Some functions of this server are implemented in a prototype called Sub-Cube RPC. To analyze the behavior of the network, in relation to the inclusion of this new shared resource, a simulator for the SUN/UNIX environment has been developed together with the Performance Evaluation Group ADMP. With this tool and with the response times of the developed server prototype, it is possible to evaluate the cost of the additional network traffic generated by the server, with the possibility to change parameters of the server and network. The results obtained in the implemented parallel versions are compared with the performance of the sequential algorithms. To make this comparison possible all the sequential algorithms found in the literature are also implemented in the "C" language and can be found in annex. The parallel versions were implemented using network resources, through the socket directive, and also using Transputers in parallel "C". The processor server prototype was implemented as a RPC server for an UNIX network, also in the "C" language. The simulation tool was coded in "C" and the I/O interface use the X-Windows protocol. The results of this study may give a background about the effects and difficulties found in the pa ralelization of the allocation algorithms for the hypercubic machines. The information found in this study will help the operating system designer to obtain a better response time of the sequential algorithms found in the literature and in the development of new and more complex algorithms that will be still practicable in a real time environment due to parallelism utilization. The Sub-Cube RPC prototype demonstrates how the algorithms studied in this work can be applied in the construction of a processor server for multiprocessors. The prototype is the first step for the implementation of a similar server in the CPGCC/UFRGS that will share a Transputer board in a network of workstations from the parallel processing group.

Page generated in 0.0809 seconds