Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Processamento paralelo Integrantes: Gabriel velozo Paula almeida Rafael wallace thaynan cássio sUMáRIO Computação paralela Arquitetura RISC Paralelismo a nível de instrução e processador Pipeline Taxonomia de Flynn Modelos de Arquitetura Arquiteturas Paralelas MIMD Aplicações paralelas Métricas de Desempenho para Aplicações Computação paralela Múltiplos processadores operando ao mesmo tempo para resolver os problemas. Execução de mais de uma instrução ao mesmo tempo pela CPU. Uso simultâneo de vários recursos computacionais para reduzir o tempo necessário para resolver um problema Computação paralela Podem ser inclusos nesse recuso computacional: Um único computador com múltiplos processadores Um número arbitrário de computadores ligados por rede Modelo hibrido com a combinação dos outros dois modelos Arquitetura risc RISC: Reduced Instruction Set Computer, ou computador de conjunto de instruções reduzidas, tem como objetivo simplificar as instruções para serem resolvidas mais rapidamente. Paralelismo a nível de instrução e processador Paralelismo a nível de instrução Explorado em cada instrução individualmente para maximizar as operações por segundo. Paralelismo a nível de processador Vários processadores trabalhando em paralelo O paralelismo em nível de processador permite obter ganho de desempenho de até 100 vezes mais PIPELINE É uma técnica que o processador tem de fazer o processamento através de fases, tornando-se, assim, muito mais otimizado e rápido. Pipeline busca de instrução (BI) decodificação de instrução (DI) cálculo de operandos (CO) busca de operandos (BO) execução de instrução (EI) escrita de operando (EO) Pipeline Taxonomia de flynn Os modelos de arquiteturas de computadores são divididos em quatro categorias, conhecidas como taxonomia de Flynn, que é o fato de um computador executar uma sequência de instruções de dados, onde ele se diferencia no fluxo de instruções e no fluxo de dados e abrange quatro classes de arquiteturas de computadores que são: SISD SIMD MISD MIMD Modelos de arquitetura sisd SISD (Single instruction single data) Dados únicos de instrução única. Fluxo único de instruções com conjunto de dados únicos. Arquitetura conhecida também como Von Neumann. Modelos de arquitetura SIMD SIMD (Single Instruction Multiple Data) Dados Múltiplos de Instrução Única Arquiteturas vetoriais onde a mesma operação é executada sobre múltiplos operandos Modelos de arquitetura misd MISD (Multiple Instruction Single Data) Dados simples de Instrução Múltipla Fluxo múltiplo de instruções em um único conjunto de dados. Modelos de arquitetura MIMD MIMD (Multiple Instruction Multiple Data) Dados Múltiplos de Instruções Múltiplas Fluxo múltiplo de instruções sobre múltiplos conjuntos de dados. Arquiteturas Paralelas A arquitetura MIMD pode ser divididas em duas subcategorias: Arquiteturas de memória compartilhada Arquiteturas de memória distribuída Arquiteturas Paralelas Arquiteturas de memória compartilhada Todos os processadores possuem acesso a uma memória compartilhada Multiprocessadores Cada processador tem acesso a uma parte da memória Arquiteturas Paralelas Arquiteturas de Memória Distribuída Multicomputadores Cada processador pode executar um processo independente sobre seus próprios dados. aplicações paralelas Dois dos principais objetivos do desenho de aplicações paralelas são desempenho e escalabilidade. Desempenho: a capacidade de reduzir o tempo de resolução do problema à medida que os recursos computacionais aumentam. Escalabilidade: a capacidade de aumentar o desempenho à medida que a complexidade do problema aumenta. aplicações paralelas: classes de medidas de desempenho Métricas de Desempenho para Processadores: métricas que permitem avaliar a performance de um processador tendo como base a velocidade/número de operações que este consegue realizar num determinado espaço temporal. aplicações paralelas: classes de medidas de desempenho Métricas de Desempenho para Aplicações Paralelas: métricas que permitem avaliar a performance de uma aplicação paralela tendo por base a comparação entre a execução com múltiplos processadores e a execução com um só processador. Métricas de Desempenho para Aplicações Aplicações Paralelas Existem várias medidas que permitem medir ou avaliar o desempenho de uma aplicação paralela. As mais conhecidas são: Speedup : Uma medida do grau de desempenho. O speedup mede o rácio entre o tempo de execução sequencial e o tempo de execução em paralelo Eficiência : A eficiência é uma medida do grau de aproveitamento dos recursos computacionais. A eficiência mede a estatística entre o grau de desempenho e os recursos computacionais disponíveis. Métricas de Desempenho para Aplicações Redundância : . A redundância mede o rácio entre o número de operações realizadas pela execução paralela e pela execução sequencial. Utilização : A utilização mede o rácio entre a capacidade computacional utilizada durante a computação e a capacidade disponível. Qualidade: A qualidade é uma medida do grau de importância de utilizar programação paralela. Conclusão Referências Stallings,W Arquitetura e Organização de Computadores. Ed: quinta edição. São Paulo: Pearson, 2009
Compartilhar