Buscar

Processamento paralelo

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais