Ambiente de Simulação de Multiprocessadores com Arquitetura Paralela (original) (raw)

Um Ambiente de Compilaçao e Simulaçao para Processadores Embarcados Parametrizáveis

VII IBERCHIP …, 2001

This paper presents an environment to compile and simulate a given processor architecture, used in embedded applications. The designer can configure the processor instruction set and internal organization. The instruction set parameterization allows to fit the instruction set to the user application, for example, some arithmetic operations, as multiplication or division, can improve performance or reduce the cost of the processor to be implemented. The internal organization, composed by a data-path and a control unit reflects the instruction set choices, as the number of internal registers, the arithmetic and logic unit functions and the stack structure. The availability of a flexible, low cost, high performance processor is crucial in system-on-a-chip designs. This environment to compile and simulate a processor architecture includes 5 tools: architecture customizer, assembler, simulator, C compiler and VHDL code generator. This paper presents the first 3 tools, being the C compiler and VHDL code generator under development.

Análise da Execução Concorrente de Aplicações Paralelas em Arquiteturas Multicore

Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2020), 2020

O paralelismo no nível de threads (TLP) tem sido amplamente utilizado para otimizar o uso de recursos computacionais (e.g., memórias cache e unidades funcionais da CPU) de sistemas de alto desempenho. No entanto, como algumas aplicações não escalam com o número de threads, recursos ficarão ociosos quando a aplicação é executada com o número ideal de threads. Neste sentido, a execução concorrente de aplicações paralelas pode ser utilizada para prover uma melhor utilização dos recursos computacionais sem impactar no desempenho e consumo de energia do sistema como um todo. Dito isto, nós realizamos uma extensa exploração de espaço e projeto com a execução de vinte e duas aplicações paralelas com diferentes características de acesso à memória compartilhada, IPC (instruções por ciclo) e grau de exploração do TLP em duas arquiteturas multicore (Intel e AMD). Nós mostramos quais tipos de aplicações podem ser executadas de maneira concorrente e ainda proporcionar melhor utilização dos recurs...

Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores

In Computer Architecture, one of the challenges is getting the students to understand the workings of a processor correctly. To assist in this task, applications are used to simulate these architectures. From these barriers of education, is proposed the development of an application that visually simulates the instructions of an implementable and didactic architecture. Such instructions can be visualized, both with and without pipeline, which facilitates the comprehension of this concept, and of the operation of a processor while executing an instruction. Resumo. Em arquitetura de computadores, um dos desafios é conseguir que os alunos compreendam o funcionamento de um processador corretamente. Para auxiliar esta tarefa são utilizadas aplicações que simulam essas arquiteturas. A partir dessas barreiras do ensino, se propôs desenvolver uma aplicação que simula visualmente as instruções de uma arquitetura didática e implementável. Tais instruções podem ser visualizadas, tanto com quanto sem pipeline, o que facilita a compreensão desse conceito, e do funcionamento de um processador enquanto realiza uma instrução. 1. Introdução A informática tem tido uma relevância cada vez maior nos dias de hoje no cenário educacional. Aplicações para o ensino facilitam a transmissão do conhecimento de professores para alunos através de métodos dinâmicos, massificando uma aula para múltiplos ramos sem haver grande esforço ou repetições desnecessárias. O uso da computação gráfica tem se mostrado útil nos métodos de aprendizagem em diferentes áreas. O uso de CAD, sistemas computacionais que auxiliam na construção de desenhos técnicos, na geologia, engenharia e arquitetura, por exemplo, mostra o quanto uma interface gráfica com 3D facilita no desenvolvimento de um projeto, no seu entendimento e posterior ensino. Facilitar a aprendizagem do correto funcionamento de um processador para os alunos e proporcionar uma visão comparativa sobre algumas possibilidades arquiteturais são os principais problemas encontrados no ensino de arquitetura de computadores. Um desafio ainda maior é tornar o conteúdo atrativo visualmente. Várias caixas e fios com letras pequenas tornam os circuitos um assunto de difícil entendimento a partir de uma simples leitura.

Ambientes de Execução Paralela Prof. Celso Maciel da Costa Faculdade de Informática da PUCRS

Por ambientes de suporte à execução paralela pode se entender os sistemas operacionais para máquinas paralelas e os ambientes de execução das ferramentas de programação paralela. Estes ambientes devem prover mecanismos de gerenciamento de recursos que permitam aos usuários desenvolver e executar as suas aplicações de maneira apropriada. Uma alternativa de implementação destes ambientes é a construção de um novo sistema operacional, com funções de gerenciamento de processos locais e remotos, com suporte à comunicação e a sincronização entre processos. Este sistema também necessita de mecanismos que permitam ao usuário acessar a máquina paralela. Outra alternativa é a utilização de um sistema operacional tradicional acrescido destas funcionalidades. Este artigo apresenta um estudo sobre estas alternativas e apresenta um panorama das soluções empregadas atualmente.

Exploração Do Paralelismo Em Arquiteturas Multicore, Multicomputadores e Gpus

2017

A computacao paralela visa atender a demanda por alto poder computacional ao utilizar mais de um nucleo de processamento simultaneamente para resolver um problema. Diversas arquiteturas foram propostas para permitir uma melhor exploracao do paralelismo, as quais geralmente sao seguidas por modelos de programacao e ferramentas apropriadas para extrair todo o potencial da arquitetura. Este trabalho apresenta as principais classificacoes de sistemas paralelos bem como tres ferramentas popularmente utilizadas para criacao de aplicacoes paralelas em diferentes arquiteturas. Alem disso, o problema da transferencia de calor foi utilizado como estudo de caso para exploracao do paralelismo com estas ferramentas, obtendo resultados satisfatorios nas implementacoes paralelas em relacao a implementacao sequencial.

Aspectos de Programação Paralela em Máquinas NUMA

pode-se citar características intrínsecas do problema a ser tratado, da plataforma de hardware disponível e do paradigma de programação empregado, memória distribuída ou memória compartilhada. Além disso, há uma forte influência do suporte dado pelo sistema operacional quanto às tarefas de escalonamento e gerência de memória, como os conceitos de afinidade e de falso compartilhamento, particularmente importantes em multiprocessadores simétricos (SMP) e em processadores multicore. Hoje em dia, os multiprocessadores dedicados ao processamento paralelo pesado apresentam um acesso não uniforme a memória (Non-Uniform Memory Access) quanto à latência e a banda passante. Isso é devido ao número de processadores que possuem e a forma pela qual a memória é distribuída entre eles. Para se obter um bom desempenho na execução de uma aplicação nessas máquinas é importante que as threads (ou processos) executem em processadores que minimizem o tempo de acesso à memória. Cabe ao sistema operacional considerar esse aspecto em suas decisões de escalonamento e na alocação de memória. Este trabalho aborda os principais conceitos relacionados com máquinas NUMA e apresenta, como estudo de casos, o suporte fornecido pelos sistemas operacionais OpenSolaris e Linux. Para ilustrar quão importante é considerar esses fatores na prática, são apresentados os resultados preliminares obtidos pela execução de uma aplicação da área de geociências (simulação sísmica) em uma máquina NUMA.

Interface Reconfigurável Para Arquitetura Paralela Baseada Em Processador Embarcado Nios II

Com a crescente demanda por capacidade de processamento em diversas áreas, as pesquisas de processamento paralelo são cada vez mais freqüentes e uma das linhas é o interfaceamento dos processadores paralelos com o mundo externo. O objetivo deste trabalho é demonstrar a implementação de uma interface de gerenciamento em FPGA (Field Programmable Gate Array) para uma arquitetura paralela utilizando o conceito de computação reconfigurável. Essa interface tem como finalidade o gerenciamento do fluxo de dados entre um software, que serve de interface homem/máquina e uma arquitetura de processamento paralelo. Os dispositivos FPGA permitem a implementação lógica de componentes aumentando a produtividade e a flexibilidade na construção de equipamentos digitais. Utiliza-se o processador embarcado Nios II e componentes desenvolvidos em HDL (Hardware Description Language) com o objetivo de obter-se um desenho modular e padronizado. Os testes realizados indicam um expressivo ganho de desempenho conforme o modelo do processador selecionado e com o incremento do tamanho do pacote de comunicação entre a interface e o software.

Avaliação de um Ambiente UNIX com Multiplos Processadores

Anais do II Simpósio Brasileiro de Arquitetura de Computadores e Processamento Paralelo (SBAC-PP 1988)

Este artigo apresenta uma avaliação de desempenho de um sistema multiprocessador, desenvolvido no NCE/UFRJ e denominado PEGASUS/PLURIX. O objetivo principal desta avaliação foi o de determinar o ganho obtido com o uso de múltiplos processadores em um ambiente do tipo UNIX. Um conjunto de programas portáteis foi utilizado para avaliar o sistema, permitindo uma comparação com resultados obtidos na execução destes programas em sistemas comerciais com ambiente UNIX.

Impacto do Prefetcher na Precisão de Simulações de Arquiteturas Paralelas

Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD)

Em arquitetura de computadores, o uso de simuladores é predominante em todos os grupos de pesquisa, com uma ampla variedade de abordagens e implementações.No entanto, falta na literatura uma análise detalhada de simuladores de arquiteturas paralelas que suportem workloads de Computação de Alto Desempenho (High Performance Computing - HPC). Este trabalho busca analisar o impacto do prefetcher na precisão da simulação paralela realizada pelo ZSim, um simulador de arquiteturas paralelas. Observamos que, devido à falta de modelagem de prefetcher, as estatı́sticas da hierarquia de memória apresentam comportamentos imprecisos, com erros de até 2.600%.