• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 245
  • 12
  • 9
  • 9
  • 9
  • 8
  • 7
  • 7
  • 7
  • 7
  • 2
  • 1
  • 1
  • Tagged with
  • 259
  • 259
  • 87
  • 79
  • 77
  • 61
  • 59
  • 54
  • 52
  • 52
  • 52
  • 51
  • 45
  • 45
  • 37
  • 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.
241

Um modelo de execução para Java no processador Cell BE / An execution model for Java on the Cell BE processor

Hoyos, Francisco Rafael Lorenzo 15 August 2018 (has links)
Orientador: Rodolfo Jardim de Azevedo / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T06:45:02Z (GMT). No. of bitstreams: 1 Hoyos_FranciscoRafaelLorenzo_M.pdf: 663609 bytes, checksum: 9bf12382c86fbf499da0f33713f074a4 (MD5) Previous issue date: 2009 / Resumo: O Cell Broadand Engine (Cell BE) é um processador com arquitetura de múltiplos núcleos heterogêneos, voltado para o uso em aplicações de alto desempenho. Talvez mais conhecido como o processador do Playstation 3 da Sony, ele também está presente aos milhares no supercomputador Roadrunner da IBM. Entretanto, o SDK do Cell BE não suporta o desenvolvimento de aplicações sem Java. Como é sabido, Java é uma das linguagens mais utilizadas hoje em dia, nas mais variadas plataformas de hardware e para quase todos os tipos de aplicações. Este trabalho introduz um novo modelo para a execução de programas Java no Cell BE. Esse modelo permite ao programador Java executar tarefas (partes do código Java do programa principal) nos Synergistic Processing Elements (SPE), que são núcleos especializados do Cell BE, maiores responsáveis pelo grande poder de processamento desse chip. Enquanto outras soluções tentam esconder completamente a arquitetura de múltiplos núcleos heterogêneos do Cell BE, a nova proposta expõe um modelo de memória explicitamente distribuída, habilitando o programador Java a definir exatamente qual código deve executar nos SPEs. A viabilidade do modelo é então demonstrada através da melhoria de desempenho obtida consistentemente com vários programas executados em uma máquina virtual Java modificada para suportar a plataforma Cell BE. Com seis SPEs, esses programas executam, em média, aproximadamente duas vezes mais rápido do que os mesmos programas na máquina virtual Java original / Abstract: The Cell Broadband Engine (Cell BE) is a processor with a heterogeneous multicore architecture, targeted at high performance applications. Perhaps best known as the processor of Sony's PlayStation 3, it is also used (thousands of them) in the IBM Roadrunner supercomputer. However, the Cell BE SDK does not support Java application development. It is well known that Java is currently one of the most widely used languages, being present on many different hardware platforms and in almost all types of applications. This work introduces a new model for the execution of Java programs on the Cell BE. Such model allows the Java programmer to execute tasks (pieces of the main program's Java code) on the Synergistic Processing Elements (SPE), which are highly specialized cores in the Cell BE and are the main source of the chip's huge processing power. While other solutions try to completely hide the Cell BE's heterogeneous multicore architecture, this new proposal exposes an explicit distributed memory model, empowering the Java programmer to define exactly what code runs on the SPEs. The feasibility of the model is demonstrated by means of consistent performance improvements achieved with several programs executed on a Java virtual machine, which has been modified to support the Cell BE platform. With six SPEs those programs run, on average, around twice as fast as the same programs on the original Java virtual machine / Mestrado / Linguagens de Programação / Mestre em Ciência da Computação
242

Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração / Analysis and verification support methodologies for high abstractions level platforms

Albertini, Bruno de Carvalho, 1980- 10 June 2011 (has links)
Orientadores: Sandro Rigo, Guido Costa Souza de Araújo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-20T09:24:51Z (GMT). No. of bitstreams: 1 Albertini_BrunodeCarvalho_D.pdf: 1167408 bytes, checksum: 90cc3a4bfc9be31f93622556f91b0b51 (MD5) Previous issue date: 2011 / Resumo: A crescente complexidade das descrições de hardware em alto nível tem motivado a criação de metodologias de desenvolvimento por vários anos, sendo o mais recente nível de abstração representado pelo que é chamado de projeto Electronic System Level (ESL) e os projetos baseados em plataformas. Neste cenário, a exploração simultânea de diversos modelos arquiteturais, como os Systems-on-Chip (SoC), é a chave para se obter um bom balanceamento no particionamento hardware-software e melhorar o desempenho tanto do hardware quanto do software. Isto demanda uma infraestrutura de simulação de plataformas capaz de simular com rapidez, em um alto nível de abstração, tanto o software quanto o hardware. SystemC despontou como uma das linguagens de descrição mais adotadas e, juntamente com a modelagem em nível de transação (TLM, do inglês Transaction Level Modeling), vem sendo amplamente reconhecido como a técnica mais propícia para desenvolvimento em ESL. Uma das características mais marcantes de TLM é a possibilidade de reutilizar toda a infraestrutura da plataforma para a simulação de hardware e software [12]. A integração da verificação no fluxo de projeto é muito importante em uma metodologia baseada em TLM. Uma das técnicas de verificação mais conhecidas é a injeção de estímulos, usada para guiar a simulação para casos limite. Este tipo de funcionalidade é útil para aumentar a cobertura da verificação. As ferramentas disponíveis para descrições SystemC não permitem injeção de estímulos sem que o modelo seja alterado ou sem a utilização de um núcleo de simulação modificado para tal tarefa. Para a depuração, não temos notícia de nenhuma ferramenta de código aberto disponível, porém existem boas ferramentas comerciais preparadas especificamente para a depuração de modelos em SystemC. Nesta tese são propostas três metodologias para melhorar a capacidade de introspecção, depuração e análise de modelos de hardware descritos em alto nível de abstração. A primeira delas é composta por uma metodologia de reflexão computacional aplicável a módulos SystemC através da inserção de módulos de inspeção, que chamamos de ReFlexBox. A segunda técnica desenvolvida foi chamada de SignalReplay, e representa uma evolução da primeira técnica voltada para a captura, análise e injeção dos dados coletados pela reflexão. A última metodologia proposta, chamada de PDFA (do inglês, Platform Dataflow Analysis) visa extrair metadados através da reflexão de tipos sobrecarregados, permitindo que o projetista aplique técnicas de compiladores para a análise de hardware. Os resultados obtidos são apresentados como experimentos, implementados na forma de estudos de caso. Estes experimentos permitiram avaliar a eficácia das técnicas propostas que, ao contrário de trabalhos correlatos, aderem a seis princípios que consideramos fundamentais: (1) não são intrusivas em relação as modificações no modelo que podem ser necessárias para implementar a introspecção; (2) não necessitam de modificações no ambiente de simulação, compiladores ou bibliotecas, incluindo nossa linguagem alvo: SystemC; (3) geram uma sobrecarga pequena no tempo de simulação; (4) proveem observabilidade e controlabilidade; (5) são extensíveis, permitindo a adaptação para utilização em trabalhos similares, com pouca ou nenhuma modificação nas metodologias; e (6) protegem a propriedade intelectual do módulo sob verificação / Abstract: The increasing complexity of high level hardware descriptions has motivated the creation of development methodologies for several years, being the most recent level of abstraction represented by projects based on platforms and on the so called Electronic System Level design (ESL). In this scenario, simultaneously exploring different architectural models, like Systems-on-Chip (SoC), is the key to achieve a good balance on hardware-software partitioning and improve performance of both hardware and software. This requires a platform simulation infrastructure able to simulate at high speeds and high level of abstraction, both software and hardware. SystemC emerged as one of the most widely adopted description languages and, when used with the Transaction Level Modeling (TLM), has been widely recognized as the most suitable for ESL development. One of the most striking features of TLM is the possibility to reuse all the infrastructure platform for the simulation of hardware and software [12]. Integration of the verification into design flow is a key point in a TLM-based methodology. One well-known verification technique is the injection stimuli, used to guide the simulation to borderline states. This kind of functionality is useful to increase the coverage of the verification. The tools currently available for SystemC descriptions do not allow stimuli injection without model modifications, or without the use of a modified SystemC simulation core specially crafted for this task. We could not find any open source tool for debugging, but there are good commercial tools specifically prepared to SystemC model debugging. This thesis proposes three methodologies focused on improving the support for introspection, debug, and analysis of hardware models described in high abstraction level. First one is a methodology using computational reflection, applicable to SystemC descriptions by inserting inspection modules, that we call ReflexBoxes. The second technique is called SignalReplay, an evolution of the first technique focused on the capture, injection, and analysis of data collected by reflection. The last proposed methodology, called Platform Dataflow Analysis (PDFA), aims on the metadata extraction through overloaded type reflection, allowing the designer to use compiler techniques for hardware analysis. The results are presented as experiments, implemented as case studies. These experiments allowed us to evaluate the effectiveness of the proposed techniques that, unlike related work, adhere to what we consider six fundamental principles: (1) are not intrusive regarding any model modifications that may be necessary to implement introspection; (2) do not require any change in simulation environment, compilers, or libraries, including our target language: SystemC; (3) generate minimal overhead in simulation time; (4) provide observability and controllability; (5) are extensible, allowing the adaptation for use in similar work with little or no change in the methodology; and (6) protect the intellectual property of the module under verification / Doutorado / Ciência da Computação / Doutor em Ciência da Computação
243

LUTS : a Light-Weight User-Level Transaction Scheduler / LUTS : a Light-Weight User-Level Transaction Scheduler

Nicácio, Daniel Henricus de Knegt Dutra, 1984- 22 August 2018 (has links)
Orientador: Guido Costa Souza de Araújo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T08:27:32Z (GMT). No. of bitstreams: 1 Nicacio_DanielHenricusdeKnegtDutra_D.pdf: 2579331 bytes, checksum: b8e15a6f91203b98455f39d63d63a634 (MD5) Previous issue date: 2012 / Resumo: Sistemas de Memória Transacional em Software (MTS) têm sido usados como uma abordagem para melhorar o desempenho ao permitir a execução concorrente de blocos atômicos. Porém, em cenários com alta contenção, sistemas baseados em MTS podem diminuir o desempenho consideravelmente, já que a taxa de conflitos aumenta. Políticas de gerenciamento de contenção têm sido usadas como uma forma de selecionar qual transação abortar quando um conflito ocorre. No geral, gerenciadores de contenção não são capazes de evitar conflitos, tendo em vista que eles apenas selecionam qual transação abortar e o momento em que ela deve reiniciar. Como gerenciadores de contenção agem somente após a detecção de um conflito, é difícil aumentar a taxa de transações finalizadas com sucesso. Abordagens mais pró-ativas foram propostas, focando na previsão de quando uma transação deve abortar e atrasando o início de sua execução. Contudo, as técnicas pró-ativas continuam sendo limitadas, já que elas não substituem a transação fadada a abortar por outra transação com melhores probabilidades de sucesso, ou quando o fazem, dependem do sistema operacional para essa tarefa, tendo pouco ou nenhum controle de qual transação será a substituta. Esta tese apresenta o LUTS, Lightweight User-Level Transaction Scheduler, um escalonador de transação de baixo custo em nível de usuário. Diferente de outras técnicas, LUTS provê maneiras de selecionar outra transação a ser executada em paralelo, melhorando o desempenho do sistema. Nós discutimos o projeto do LUTS e propomos uma heurística dinâmica, com o objetivo de evitar conflitos, que foi construída utilizando os métodos disponibilizados pelo LUTS. Resultados experimentais, conduzidos com os conjuntos de aplicações STAMP e STMBench7, e executando nas bibliotecas TinySTM e SwissTM, mostram como nossa heurística para evitar conflitos pode melhorar efetivamente o desempenho de sistema de MTS em aplicações com alta contenção / Abstract: Software Transaction Memory (STM) systems have been used as an approach to improve performance, by allowing the concurrent execution of atomic blocks. However, under high-contention workloads, STM-based systems can considerably degrade performance, as transaction conflict rate increases. Contention management policies have been used as a way to select which transaction to abort when a conflict occurs. In general, contention managers are not capable of avoiding conflicts, as they can only select which transaction to abort and the moment it should restart. Since contention manager's act only after a conflict is detected, it becomes harder to effectively increase transaction throughput. More proactive approaches have emerged, aiming at predicting when a transaction is likely to abort, postponing its execution. Nevertheless, most of the proposed proactive techniques are limited, as they do not replace the doomed transaction by another or, when they do, they rely on the operating system for that, having little or no control on which transaction to run. This article proposes LUTS, a Lightweight User-Level Transaction Scheduler. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. We discuss LUTS design and propose a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Experimental results, conducted with the STAMP and STMBench7 benchmark suites, running on TinySTM and SwissTM, show how our conflict-avoidance heuristic can effectively improve STM performance on high contention applications / Doutorado / Ciência da Computação / Doutor em Ciência da Computação
244

Design and evaluation of compact ISAs / Estudo e avaliação de conjuntos de instruções compactos

Lopes, Bruno Cardoso, 1985- 24 August 2018 (has links)
Orientador: Rodolfo Jardim de Azevedo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-24T12:29:38Z (GMT). No. of bitstreams: 1 Lopes_BrunoCardoso_D.pdf: 3162388 bytes, checksum: 3a46d0fb9404a69bf87489922e4743b0 (MD5) Previous issue date: 2014 / Resumo: Sistemas embarcados modernos são compostos de SoC heterogêneos, variando entre processadores de baixo e alto custo. Apesar de processadores RISC serem o padrão para estes dispositivos, a situação mudou recentemente: fabricantes estão construindo sistemas embarcados utilizando processadores RISC - ARM e MIPS - e CISC (x86). A adição de novas funcionalidades em software embarcados requer maior utilização da memória, um recurso caro e escasso em SoCs. Assim, o tamanho de código executável é crítico, porque afeta diretamente o número de misses na cache de instruções. Processadores CISC costumavam possuir maior densidade de código do que processadores RISC, uma vez que a codificação de instruções com tamanho variável beneficia as instruções mais usadas, os programas são menores. No entanto, com a adição de novas extensões e instruções mais longas, a densidade do CISC em aplicativos recentes tornou-se similar ao RISC. Nesta tese de doutorado, investigamos a compressibilidade de processadores RISC e CISC; SPARC e x86. Nós propomos uma extensão de 16-bits para o processador SPARC, o SPARC16. Apresentamos também, a primeira metodologia para gerar ISAs de 16-bits e avaliamos a compressão atingida em comparação com outras extensões de 16-bits. Programas do SPARC16 podem atingir taxas de compressão melhores do que outros ISAs, atingindo taxas de até 67%. O SPARC16 também reduz taxas de cache miss em até 9%, podendo usar caches menores do que processadores SPARC mas atingindo o mesmo desempenho; a redução pode chegar à um fator de 16. Estudamos também como novas extensões constantemente introduzem novas funcionalidades para o x86, levando ao inchaço do ISA - com o total de 1300 instruções em 2013. Alem disso, 57 instruções se tornam inutilizadas entre 1995 e 2012. Resolvemos este problema propondo um mecanismo de reciclagem de opcodes utilizando emulação de instruções legadas, sem quebrar compatibilidade com softwares antigos. Incluímos um estudo de caso onde instruções x86 da extensão AVX são recodificadas usando codificações menores, oriundas de instruções inutilizadas, atingindo até 14% de redução no tamanho de código e 53% de diminuição do número de cache misses. Os resultados finais mostram que usando nossa técnica, até 40% das instruções do x86 podem ser removidas com menos de 5% de perda de desempenho / Abstract: Modern embedded devices are composed of heterogeneous SoC systems ranging from low to high-end processor chips. Although RISC has been the traditional processor for these devices, the situation changed recently; manufacturers are building embedded systems using both RISC - ARM and MIPS - and CISC processors (x86). New functionalities in embedded software require more memory space, an expensive and rare resource in SoCs. Hence, executable code size is critical since performance is directly affected by instruction cache misses. CISC processors used to have a higher code density than RISC since variable length encoding benefits most used instructions, yielding smaller programs. However, with the addition of new extensions and longer instructions, CISC density in recent applications became similar to RISC. In this thesis, we investigate compressibility of RISC and CISC processors, namely SPARC and x86. We propose a 16-bit extension to the SPARC processor, the SPARC16. Additionally, we provide the first methodology for generating 16-bit ISAs and evaluate compression among different 16-bit extensions. SPARC16 programs can achieve better compression ratios than other ISAs, attaining results as low as 67%. SPARC16 also reduces cache miss rates up to 9%, requiring smaller caches than SPARC processors to achieve the same performance; a cache size reduction that can reach a factor of 16. Furthermore, we study how new extensions are constantly introducing new functionalities to x86, leading to the ISA bloat at the cost a complex microprocessor front-end design, area and energy consumption - the x86 ISA reached over 1300 different instructions in 2013. Moreover, analyzed x86 code from 5 Windows versions and 7 Linux distributions in the range from 1995 to 2012 shows that up to 57 instructions get unused with time. To solve this problem, we propose a mechanism to recycle instruction opcodes through legacy instruction emulation without breaking backward software compatibility. We present a case study of the AVX x86 SIMD instructions with shorter instruction encodings from other unused instructions to yield up to 14% code size reduction and 53% instruction cache miss reduction in SPEC CPU2006 floating-point programs. Finally, our results show that up to 40% of the x86 instructions can be removed with less than 5% of overhead through our technique without breaking any legacy code / Doutorado / Ciência da Computação / Doutor em Ciência da Computação
245

Uma metodologia de desenvolvimento de diagnóstico guiado para veículos automotivos

Mori, Fernando Maruyama 18 June 2014 (has links)
A utilização de ferramentas externas de diagnóstico guiado tem se tornado cada vez mais importante nas atividades de pós-venda da indústria automotiva. Isso se dá principalmente devido ao uso extensivo de sistemas embarcados nos veículos, tornando-os mais complexos e difíceis de diagnosticar. Atualmente, as técnicas empregadas para o desenvolvimento da ferramenta de diagnóstico guiado são fortemente dependentes da experiência do projetista e centralizadas nas peças e subsistemas do veículo, possibilitando baixo grau de flexibilidade e reaproveitamento da informação. Este trabalho propõe uma nova metodologia para o desenvolvimento da ferramenta de diagnóstico guiado, aplicado a um estudo de caso da indústria automotiva, numa arquitetura de software em três camadas: peças e componentes do veículo, informações e estratégia para o diagnóstico e uma camada de apresentação. Isso permite grande flexibilidade no projeto da ferramenta de diagnóstico guiado para diferentes modelos de veículos, fabricantes de peças e sistemas automotivos. A metodologia proposta é aplicada em um estudo de caso de diagnóstico da Volvo caminhões, mostrando o processo de adaptação da arquitetura de software de três camadas à metodologia proposta e seu impacto no custo do desenvolvimento da ferramenta de diagnóstico. / External guided diagnostic tools are increasingly important to the aftermarket business of automotive industry. It occurs mainly due to the extensive using of embedded systems in vehicles, making them more complex and difficult to diagnose. Currently, the techniques used to develop a guided diagnostic tool are strongly dependent on designer’s experience and are usually focused on parts and vehicle’s subsystems, allowing low flexibility and reduced information reusage. This paper proposes a new methodology for development of a guided diagnostic tool applied to the automotive industry. This methodology is based on a three-tier software architecture composed of vehicle’s parts and components, diagnostic information and strategy, and presentation layer. It allows great flexibility for designing a guided diagnostic tool for different vehicle models, parts OEMs and automotive systems. The proposed methodology has been applied to a case study at Volvo Trucks. The corresponding adaptation process to the three-tier software architecture is presented as well as its impact on development costs. / 5000
246

OrchFlow: uma arquitetura para orquestração de redes OpenFlow com múltiplos controladores / OrchFlow: an architecture for orchestration of OpenFlow networks with multiple controllers

Frate, Marcelo 23 February 2017 (has links)
Submitted by Milena Rubi (milenarubi@ufscar.br) on 2017-10-09T14:35:22Z No. of bitstreams: 1 FRATE_Marcelo-2017.pdf: 8466810 bytes, checksum: 9438c26c84ebe90cd741672c8c04d726 (MD5) / Approved for entry into archive by Milena Rubi (milenarubi@ufscar.br) on 2017-10-09T14:35:33Z (GMT) No. of bitstreams: 1 FRATE_Marcelo-2017.pdf: 8466810 bytes, checksum: 9438c26c84ebe90cd741672c8c04d726 (MD5) / Approved for entry into archive by Milena Rubi (milenarubi@ufscar.br) on 2017-10-09T14:35:45Z (GMT) No. of bitstreams: 1 FRATE_Marcelo-2017.pdf: 8466810 bytes, checksum: 9438c26c84ebe90cd741672c8c04d726 (MD5) / Made available in DSpace on 2017-10-09T14:35:53Z (GMT). No. of bitstreams: 1 FRATE_Marcelo-2017.pdf: 8466810 bytes, checksum: 9438c26c84ebe90cd741672c8c04d726 (MD5) Previous issue date: 2017-02-23 / Não recebi financiamento / Since the emergence of the Software-Defined Networking (SDN), and, more precisely, since the development of an open interface in 2008 called OpenFlow protocol, it is being observed that this new networking paradigm is deeply remodeling the IP-protocol- based networks. It means that new mechanisms of provision services are being possible, which ensures scalability and reduces costs. Although this new paradigm has been created to centralize the control logic, there is the possibility of decentralizing it through the parceling of control tasks between two or more controllers. In this scenario, the subdivision of administrative domain in smaller subdomains in order to have each of them being controlled by one single controller has been an alternative to ensure scalability in SDN. The OpenFlow protocol allows communication among switches and controllers to another controller. However, the protocol does not define how this communication between one controller to other should be done. It is mandatory, therefore, the development of protocol independent solutions able to distribute this logic inside the same administrative domain. New proposals have been arisen, but their applications either use equal controllers or demand the development of new controllers specifically designed. This master’s research aims to offer the fundamentals to the development of an architecture here so called Orch Flow, able to receive application demands and organize them in a way it provides requested services through an OpenFlow network designed with two or more different implementation controllers. The OrchFlow architecture that is being proposed accomplishes its task through handling multiple OpenFlow controllers hierarchically and providing network access through three distinct modes: Proactive, Reactive and Hybrid. / Desde o surgimento das Redes Definidas por Software e mais especificamente à partir de 2008 com o desenvolvimento de uma interface aberta, o protocolo OpenFlow, é possível observar que este novo paradigma de redes está revolucionando as redes baseadas no protocolo IP, possibilitando a criação de novos mecanismos de aprovisionamento de serviços, garantindo a escalabilidade e reduzindo custos. Embora este novo paradigma tenha sido criado para a centralização da lógica de controle, existe a possibilidade de descentralizá-la através da divisão das tarefas de controle entre dois ou mais controladores. Neste cenário, subdividir o domínio administrativo em subdomínios menores e fazer com que cada subdomínio seja controlado por um controlador tem sido uma alternativa para garantir escalabilidade em Software-Defined Networking (SDN). O protocolo OpenFlow permite a comunicação entre switches e controladores, entretanto ele não define como deve ser feita a comunicação de um controlador para outro controlador. Faz-se necessário, portanto, o desenvolvimento de soluções independentes do protocolo, capazes de distribuir essa lógica dentro de um mesmo domínio administrativo. Neste cenário, novas propostas vão surgindo, porém as aplicações desenvolvidas ou fazem uso de controladores iguais ou são criados novos controladores especificamente para essa finalidade. Esta pesquisa de mestrado tem como objetivo o desenvolvimento de uma arquitetura, aqui denominada de OrchFlow, capaz de receber solicitações de aplicações, orquestrando as requisições a fim de prover os serviços solicitados numa rede OpenFlow com dois ou mais controladores de implementações diferentes. A arquitetura OrchFlow, desenvolvida para esta pesquisa de mestrado, realiza essa tarefa através da orquestração de múltiplos controladores OpenFlow atuando de forma hierárquica, provendo o acesso à infraestrutura da rede através de três modos distintos: o Proativo, o Reativo e o Híbrido.
247

Plataforma computacional híbrida de coprocessamento paralelo distribuído por web services aplicada à radiointerferometria

Silva, Gustavo Poli Lameirão da 19 August 2013 (has links)
Made available in DSpace on 2016-06-02T19:03:58Z (GMT). No. of bitstreams: 1 5593.pdf: 13078959 bytes, checksum: 1cc88a226e87c0a4ca26af32176acea5 (MD5) Previous issue date: 2013-08-19 / Financiadora de Estudos e Projetos / The requirements imposed by the new applications presents great challenges to the computation. There is not a perfect computer architecture, capable to attend to all the requirements. The parallel and hybrid computer arrangement rise as a solution to this scenario i.e., the CPU-Coprocessor pair arrangement can form a specialized computerized instrument for a special application task. This doctoral thesis proposes a parallel and hybrid computational platform denoted CoP-WS, that uses the interoperability technology known as Web Services. As coprocessor it is used the graphic processing unit, known as the GPU, functioning recently as parallel thread level processing of general use applications. The platform test of feasibility was inspired in radio astronomy, and it has been implemented two applications: a complex correlator of signals provided by a radio interferometric arrangement, and a flare recognition system with a solar radio interferometer image. Both processings can be inserted in the context of pipeline execution, using sufficient configuration of CPU-GPU pairs, having on one side the interferometric arrangement antenna signal input and in the other side the result of the solar flare recognition. The obtained results of the both applications show the feasibility of the CoP-WS platform, for greater volume of data being processed in quasi real time. In the case of the correlator the average processing time in each integration period was around 160 ms, and in the case of the solar flare recognition, 48 ms for each solar disk image. / Os requisitos impostos pelas novas aplicações, sejam estas científicas, ou não, apresentam grandes desafios à computação. Não existe uma arquitetura de computadores "perfeita" que seja capaz de atender a todos estes requisitos. A configuração de arranjos paralelos e híbridos de computadores se apresenta como uma solução para este cenário, ou seja, a configuração de arranjos de pares CPU-Coprocessador, pode ser especializada para o processamento de uma aplicação distintas. Este trabalho de doutorado propõe uma plataforma computacional paralela e híbrida distribuída denominada CoP-WS, que utiliza a tecnologia de interoperabilidade conhecida como Web Services. Como coprocessador é utilizada a unidade de processamento gráfico conhecida como GPU, cuja função tem sido de processamento paralelo ao nível de threads, para aplicações gerais nos últimos tempos. A prova de viabilidade da plataforma implementada foi inspirada na radioastronomia, tendo sido implementados dois aplicativos: um correlacionador complexo de sinais provindos dos arranjos interferométricos e um sistema para o reconhecimento de explosões solares, numa imagem de radiointerferometria solar. Ambos os processamentos podem ser inseridos num contexto de execução em pipeline, usando uma configuração suficiente de pares CPU-GPU, tendo de um lado a entrada dos sinais das antenas do arranjo interferométrico e do outro lado o resultado do processamento de reconhecimento de explosões solares. Em ambas aplicações os resultados foram satisfatórios sendo que no caso do correlacionador o tempo médio de processamento de cada ciclo de integração foi de aproximadamente 160 ms, e para a aplicação de reconhecimento de explosões solares, de 48 ms por imagem de disco solar.
248

Infraestrutura de compilação para a implementação de aceleradores em FPGA

Rettore, Paulo Henrique Lopes 23 November 2012 (has links)
Made available in DSpace on 2016-06-02T19:06:00Z (GMT). No. of bitstreams: 1 4747.pdf: 5016839 bytes, checksum: ca7594d5895754f4ee9eb215e548c3cc (MD5) Previous issue date: 2012-11-23 / Financiadora de Estudos e Projetos / In recent years, performance improvements in sequential microprocessors have been limited by physical and technological factors. For this reason, alternative approaches for high performance execution have gained importance. One of them is based in the use of reconfigurable hardware, implemented using FPGAs. However, conventional methods for programming those devices are notoriously complex, usually based on hardware description languages such as VHDL and Verilog. This work presents the development of a compilation framework to support the translation of a loop, described in C language, into its corresponding version for synthesis in reconfigurable hardware. The optimized execution is based on the loop pipelining technique, which requires advanced compiler support. That is achieved by using the Cetus compiler, enhanced by a number of modifications, and thus used as a basis for the semi-automatic generation of custom-hardware accelerators. In order to guide the compiler developments and validate its basic functionalities, two study cases were considered: one based on finite state machines as the method of choice for hardware modelling (EC-1), and another based on the LALP domain specific language. In both cases, the proposed compilation framework have shown to be a facilitator element for the development of high performance custom-hardware. / O aumento no desempenho de processadores sequenciais tem sido limitado severamente por fatores físicos e tecnológicos nos últimos anos. Dessa forma, abordagens alternativas para a execução com alto desempenho ganharam maior importância nos últimos anos. Uma delas baseia-se na utilização de hardware customizado, implementado utilizando-se FPGAs. Entretanto, os métodos convencionais para programação desses dispositivos são notoriamente complexos, normalmente baseados em linguagens como VHDL e Verilog. Este trabalho apresenta o desenvolvimento de um framework de compilação para auxiliar a transformação de um loop, escrito em linguagem C, em sua versão para hardware customizado. A execução otimizada baseia-se na técnica de loop pipelining, a qual exige suporte avançado de compilação. Este é conseguido utilizando o compilador Cetus, que após uma série de modificações, pode ser utilizado como base para a geração semi-automática de aceleradores em hardware customizado. Como forma de guiar o desenvolvimento do compilador e validar suas funcionalidades básicas, dois casos de estudo foram considerados: um baseado na utilização de máquinas de estados finitos como método para a modelagem de hardware (EC-1), e outro baseado na linguagem de domínio específico LALP (EC-2). Em ambos os casos, o framework de compilação proposto mostrou-se útil como elemento facilitador ao desenvolvimento de hardware customizado de alto desempenho.
249

Contribuição para o desenvolvimento de uma arquitetura de computação própria ao paradigma orientado a notificações

Linhares, Robson Ribeiro 28 May 2015 (has links)
Os processos de desenvolvimento de software atuais carecem de técnicas para a concepção, produtiva e com qualidade, de software que faça uso eficiente do potencial de execução paralelo disponibilizado pelo hardware dos sistemas computacionais modernos. Dentro deste contexto desenvolveu-se recentemente o Paradigma Orientado a Notificações (PON). A essência deste paradigma é uma nova organização da lógica do software baseada na notificação direta entre entidades lógico-causais. Um dos maiores efeitos deste paradigma é permitir um menor acoplamento na estrutura do software. Como consequência, o PON permite explorar a questão de paralelização e/ou distribuição de forma mais simples e eficiente do que paradigmas de computação mais usuais como o Paradigma Imperativo e o Paradigma Declarativo. No entanto, a dinâmica de execução do PON, baseada em notificações, não é eficientemente realizada pelo hardware dos sistemas computacionais atuais, fundamentalmente baseado no modelo de von Neumann/Turing (e similares) de execução sequencial. De forma a abordar esta deficiência, esta tese apresenta uma contribuição para o desenvolvimento de uma arquitetura de computação, denominada ARQPON, que é própria para a execução de software desenvolvido segundo o modelo computacional do PON. A ARQPON foi concebida a partir de princípios de generalidade, flexibilidade e escalabilidade, permitindo-a executar software PON de qualquer nível de complexidade a partir de uma memória de programa, sem depender de reconfiguração do hardware que implementa a ARQPON em si. A arquitetura desenvolvida é organizada como um multiprocessador de granularidade fina que executa instruções de forma hierárquica por meio de conjuntos de núcleos especializados. Experimentos realizados sobre um protótipo desta arquitetura demonstram que a ARQPON apresenta ganhos efetivos em avaliações comparativas de desempenho, dadas determinadas condições. Além disso, demonstra-se que alguns aspectos conceituais e de implementação da ARQPON, tais como o modelo de acesso à memória e a escala de paralelização, podem ser melhorados de maneira a favorecer a ARQPON em relação a implementações von Neumann e torná-la uma alternativa ainda mais atrativa para aplicações envolvendo computação paralela. / Current software development processes lack techniques for the productive and quality design of software that makes efficient use of the parallel execution capabilities provided by the hardware of the modern computing systems. In this context, the Notification Oriented Paradigm (NOP) has been recently developed. The essence of this paradigm is a new organization for software logic based on precise notifications among causal-logical entities. One of the main effects of this paradigm is to enable smaller coupling in the software structure. As a consequence, NOP allows the exploitation of parallelization and/or distribution in a simpler and more efficient way than more commonly used programming paradigms, such as the Imperative Paradigm and the Declarative Paradigm. However, the dynamics of execution under NOP, based on notifications, is not efficiently performed by the hardware of current computing systems, which are fundamentally based on the von Neumann/Turing (and similar) model of sequential execution. In order to address this drawback, this thesis presents a contribution to development of a computing architecture, named ARQPON, which is suitable for execution of software developed according to NOP computing model. ARQPON was designed based on principles of generality, flexibility and scalability, which allow it to execute NOP software of any level of complexity by fetching it from a program memory, without the need for reconfiguration of the hardware that implements the ARQPON itself. The developed architecture is organized as a fine grain multiprocessor that executes instruction hierarchically into sets of specialized processor cores. Experiments performed on this architecture show that ARQPON presents effective performance improvements in comparative evaluations, under some conditions. In addition, it is demonstrated that some conceptual and implementation aspects of ARQPON, such as the memory access model and the scale of paralelization, can be further improved in order to favor ARQPON in relation to von Neumann implementations and make it an even more attractive alternative for parallel computing applications.
250

Simulação de uma arquitetura de computação própria ao paradigma orientado a notificações / Simulation of computing architecture proper to the notification oriented paradigm

Pordeus, Leonardo Faix 28 April 2017 (has links)
CAPES / Os paradigmas de programação tradicionais carecem de técnicas para concepção de softwares de forma produtiva e de qualidade para uso eficiente das tecnologias de execução paralela, fornecidas pelos hardwares dos sistemas computacionais modernos. O Paradigma Orientado a Notificações (PON) apresenta uma nova abordagem no tocante ao processamento lógico-causal, primeiramente para o desenvolvimento de software, a qual se baseia em pequenas entidades colaborativas e pontualmente notificantes. Essa abordagem é mais eficiente e desacoplada quando comparado com os paradigmas de programação tradicionais, como o Paradigma Declarativo (PD) e o Paradigma Imperativo (PI). Ela permite a exploração de processamento, inclusive do paralelo e/ou distribuído, de maneira mais simples e eficiente do que em PI/PD. O PON inicialmente teve sua origem como uma solução de software, destacando a recente linguagem e compilador LingPON. No entanto outras pesquisas também o exploraram como uma solução de hardware em lógica reconfigurável, o qual apresenta um modelo de execução mais próximo ao modelo do PON. De fato, no tocante ao processamento paralelo, a execução de aplicações PON nem sempre pode ser feita da forma mais eficiente pelas arquiteturas de computadores tradicionais,baseados em conjunto de núcleos com modelos de execução sequencial. Neste âmbito, foi proposta uma nova arquitetura de computador orientada a notificações chamada NOCA (Notification Oriented Computer Architecture), a qual fornece uma dinâmica de execução segundo o modelo do PON, sendo composta por múltiplas unidades de processamento, a fim de permitir explorar de maneira mais adequada o paralelismo. Os experimentos realizados sobre um protótipo desta arquitetura demonstraram que a NOCA apresenta ganhos em avaliações comparativas de desempenho, dadas determinadas condições. No entanto, alguns aspectos foram desvantajosos ao protótipo da NOCA, em particular a baixa escala de paralelização obtida em função de limitação de palco de experimentação. Neste sentido, esta dissertação de mestrado apresenta o desenvolvimento de um simulador para a arquitetura NOCA, o qual é denominado de NOCASim. A implementação da NOCA na forma de software tem como objetivo simular o funcionamento dela com a quantidade de processadores simulados na mesma proporção do que o número de elementos PON que compõem uma aplicação. Isto permitiria obter dados de desempenho para validação do seu modelo funcional. Como estratégia de desenvolvimento, primeiramente este trabalho adaptou a LingPON para gerar assembly da NOCA facilitando o desenvolvimento de aplicações. Subsequentmente e principalmente, fez-se uso dos artefatos de projeto próprios da NOCA sendo que seu funcionamento consiste em simular em software a atualização dos estados internos da NOCA de forma semelhante a cada mudança do ciclo de clock. Experimentos realizados por meio do NOCASim com diferentes configurações demostraram que a NOCA apresenta melhora de desempenho a medida que o número de unidades de processamento aumenta. Além disso, verificaram-se possibilidades de melhorias conceituais a NOCA, que tendem a fortalecê-la como uma alternativa de execução paralela. / Traditional programming paradigms lack techniques for the productive and quality software’s design that makes efficient use of the parallel execution capabilities provided by the modern computing systems hardware. The Notification Oriented Paradigm (NOP) presents a new approach to develop more efficient and decoupled software when compared to the traditional programming paradigms, such as the Imperative Paradigm and the Declarative Paradigm. The NOP allows the exploitation of parallelization and/or distribution in a simpler and more efficient way than more commonly used programming paradigms. Initially, the NOP was conceived as an alternative software paradigm, highlighting the recent NOP language and compiler. However, other research was focused on hardware development using reconfigurable logic, which enables an execution model closer to the NOP model. Indeed, in parallel processing, the NOP applications cannot always be executed efficiently by the traditional computer architectures hardware based on set of cores with sequential execution model. Aiming at more efficient execution of NOP applications, a new Notification Oriented Computer Architecture (NOCA) has been developed. NOCA is based on multiple processing units, where each unit corresponds to specific elements of the NOP model. This way, parallelism is adequately exploited. Experiments were performed on a prototype of this architecture. When compared with Imperative Paradigm, execution time was improved under certain conditions, in particular, the low scale of parallelization obtained as a function of stage limitation of experimentation. In this sense, this Master of Science dissertation presents the development of a simulator for the NOCA architecture, which is called NOCASim. The NOCA implementation over software approach aims to simulate NOCA behavior with amount of simulated processors in the same proportions as the amount of NOP elements of an application. This allows obtain data for validation of NOCA functional model. As a development strategy, firstly this work adapted a NOP language to generate NOCA assembly facilitating the development of applications for this architecture. In the sequence, the own NOCA's design artifacts were used for the NOCASim development. The NOCASim operation consists of simulating in software to update the NOCA internal states in a similar way to each change in the clock cycle. The experiments results using NOCASim with different configurations have demonstrated that the NOCA performance improve when the number of processing units increases. In addition, were observed new possibilities for conceptual improvements to NOCA, which tend to strengthen it as a parallel execution alternative.

Page generated in 0.1386 seconds