arquiteturas de computadores paralelos

67
Engenharia de Computação 23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 1

Upload: elaine-cecilia-gatto

Post on 20-Jul-2015

112 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Arquiteturas de Computadores Paralelos

Engenharia de Computação

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 1

Page 2: Arquiteturas de Computadores Paralelos

• Computadores cada vez mais rápidos

• Demandas crescentes

• Os Cientistas, os Engenheiros e a Indústria querem usar

os computadores para projetar e testar todas as suas

teorias e protótipos.

• Exemplo: projetar medicamentos para doenças

específicas sem ter de sacrificar animais

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 2

Page 3: Arquiteturas de Computadores Paralelos

• A velocidade dos atuais circuitos não podem aumentarindefinidamente

• A velocidade do clock tem aumentado gradativamente

• Dissipação de calor é um grande problema

• Tamanho dos transistores continua a diminuir: cadaTRANSISTOR terá um número tão pequeno deÁTOMOS dentro dele que os efeitos da mecânicaquântica podem se tornar um grande problema

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 3

Page 4: Arquiteturas de Computadores Paralelos

• Computadores paralelos são uma solução temporária

para as necessidades atuais da sociedade

• Uma máquina + uma CPU + tempo de 0,001ns

impossível

• Várias máquinas + 1000 CPUs + tempo de 1ns cada

possível

• O paralelismo existe em vários níveis

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 4

Page 5: Arquiteturas de Computadores Paralelos

• Nível mais baixo: CPU, pipeline, CPUs superescalares,

palavras de instruções muito longas, múltiplos threads de

controle ao mesmo tempo, CPUs reunidas em um

mesmo CHIP, etc. Desempenho 10x maior

• Nível seguinte: placas extras de CPU com funções

especificas. Desempenho de 5 a 10x maior.

• Independente do fato de desempenho aumentar, CPUs

devem ser replicadas INTEIRAS e devem funcionar

juntas com eficiência

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 5

Page 6: Arquiteturas de Computadores Paralelos

• Clusterização, multicomputadores, multiprocessadores,

grids, nuvem

• PROCESSAMENTO FORTEMENTE ACOPLADO:

quando duas CPUs ou dois elementos de

processamento estão perto um do outro, têm alta largura

de banda, o atraso é baixo e são próximos

computacionalmente

• PROCESSAMENTO FRACAMENTE ACOPLADO:

quando estão longe um do outro, têm baixa largura de

banda, alto atraso, são remotos computacionalmente23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 6

Page 7: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 7

Page 8: Arquiteturas de Computadores Paralelos

• Objetivo: Fazer mais coisas ao mesmo tempo

• Emissão de múltiplas instruções por ciclo de clock

• Dois tipos:

• Processadores superescalares

• Processadores VLIW

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 8

Page 9: Arquiteturas de Computadores Paralelos

• CPUs Superescalares são capazes de emitir múltiplasinstruções para as unidades de execução em um únicociclo de clock

• De duas a seis instruções podem ser emitidas de umaúnica vez

• O número máximo é determinado pelo hardware

• Se uma instrução precisar de uma unidade funcionalou resultado que não está disponível, ela não seráemitida

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 9

Page 10: Arquiteturas de Computadores Paralelos

• Very Long Instruction Word – palavra de instrução

muito longa

• Instruções que usavam múltiplas unidades funcionais

• Exemplificando:

• Considere uma máquina que tenha 5 unidades

funcionais, efetua simultaneamente 2 operações com

inteiros, 1 operação em ponto flutuante, 1

carregamento e 1 armazenamento.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 10

Page 11: Arquiteturas de Computadores Paralelos

• Uma instrução VLIW para essa máquina conteria 5

opcodes e 5 pares de operandos, sendo 1 opcode e 1

par de operandos por unidade funcional

• Supondo 6 bits por OPCODE, 5 bits por

REGISTRADOR, 32 bits por endereço de memória, as

instruções teriam 134 bits.

• Isso significa uma palavra longa: tamanho de bits de

uma instrução muito grande

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 11

Page 12: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 12

Page 13: Arquiteturas de Computadores Paralelos

• DESVANTAGEM: nem toda instrução podia utilizartodas as unidades funcionais, o que resultava emmuitas NO-OP

• Transfere do tempo de execução para o tempo decompilação o trabalho de determinar quais instruçõespodem ser emitidas em conjunto

• Simplifica o hardware e o torna mais rápido

• Paralelismo no nível da memória: há múltiplasoperações de memória no ar ao mesmo tempo

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 13

Page 14: Arquiteturas de Computadores Paralelos

• Problema INERENTE no PIPELINE das CPUs modernas:

• Quando uma referência à memória encontra uma ausência das

caches de nível 1 e nível 2, há uma longa espera até que a

palavra requisitada, e sua linha de cache associada, sejam

carregadas na cache, portanto, o pipeline para.

• MULTITHREADING NO CHIP:

• Solução para o problema descrito acima

• Permite que a CPU gerencie múltiplos threads de controle ao

mesmo tempo

• Se o thread 1 estiver bloqueado, a CPU ainda tem chance de

executar o thread 2, de modo a manter a CPU sempre

ocupada

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 14

Page 15: Arquiteturas de Computadores Paralelos

• Multithreading de granulação fina:

• Mascara as protelações executando os threads segundo

uma política de alternância circular, com um thread

diferente em ciclos consecutivos

• Se uma protelação de memória demorasse quatro ciclos,

precisaríamos de quatro threads para garantir a

operação contínua e assim por diante

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 15

Page 16: Arquiteturas de Computadores Paralelos

• Cada thread precisa do seu próprio conjunto de registradores

• O número máximo de threads que podem ser executados de

uma só vez é fixado no projeto do chip

• RAZÃO PARA PROTELAÇÃO

• Operações de memória.

• Uma instrução pode precisar de um resultado calculado por

outra instrução que ainda não foi concluída.

• Uma instrução não pode iniciar porque ela vem após um

desvio condicional cuja direção ainda não é conhecida

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 16

Page 17: Arquiteturas de Computadores Paralelos

• Se o pipeline tiver K estágio, mas houver no mínimo K threads

para fazer alternância circular, NUNCA haverá mais de uma

instrução por THREAD no pipeline a qualquer momento,

portanto, Não pode ocorrer nenhum conflito.

• Dessa forma a CPU executa em velocidade total e não fica

OCIOSA

• MULTITHREADING DE GRANULAÇÃO GROSSA:

• Nem sempre há tantos threads disponíveis quantos são os

estágios do pipeline

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 17

Page 18: Arquiteturas de Computadores Paralelos

• Se perde um ciclo sempre que uma instrução protela

• Troca threads quando há protelação ou

• Trocar threads de imediato em qualquer instrução que poderiaacarretar uma protelação, antes mesmo de descobrir se elade fato causaria isso.

• É potencialmente menos eficiente do que o de granulação fina

• Vantagem: precisa de um número menor de threads paramanter a CPU ocupada

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 18

Page 19: Arquiteturas de Computadores Paralelos

• Monitorar qual operação pertence a qual thread

• MULTITHREADING DE GRANULAÇÃO FINA: anexar um

identificador de thread a cada operação, para que sua

identidade fique clara ao percorrer o pipeline

• MULTITHREADING DE GRANULAÇÃO GROSSA: ao trocar

de threads, limpar o pipeline e só então iniciar o próximo

thread

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 19

Page 20: Arquiteturas de Computadores Paralelos

• Considere, a partir de agora, que a CPU pode emitir múltiplasinstruções por ciclo de clock

• Manter a regra: quando uma instrução protela, assubsequentes não podem ser emitidas

• MULTITHREADING DE GRANULAÇÃO FINA PARA UMACPU SUPERESCALAR DUAL:

• Emite duas instruções por ciclo de clock

• Para o Thread A, as duas primeiras instruções podem seremitidas no 1.º ciclo

• Para o Thread B, há um problema no próximo ciclo, entãosomente uma instrução será emitida

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 20

Page 21: Arquiteturas de Computadores Paralelos

• MULTITHREADING DE GRANULAÇÃO GROSSA PARA UMA

CPU SUPERESCALAR DUAL:

• Os threads são executados um por vez

• A CPU emite duas instruções por thread até atingir um que

protela

• Nesse ponto, troca para o próximo thread no início do ciclo

seguinte

• MULTITHREADING SIMULTANEO:

• Refinamento do multithreading de granulação grossa

• Um único thread tem permissão de emitir duas instruções por

ciclo pelo tempo que puder

• Quando protelar, as instruções são tomadas imediatamente

do próximo thread na sequencia23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 21

Page 22: Arquiteturas de Computadores Paralelos

• MULTITHREADING SIMULTANEO:

• Mantém a CPU ocupada por completo

• Ajuda a manter ocupadas todas as unidades funcionais

• Uma instrução de um thread diferente pode ser escolhida para

ser executada, caso uma instrução de outra thread não possa

ser iniciada porque a unidade funcional de que ela precisa

está ocupada

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 22

Page 23: Arquiteturas de Computadores Paralelos

• Duas ou mais CPUs em um único CHIP

• Compartilham a mesma cache L2

• Compartilham memória principal

• Área de aplicação típica:

• Servidores web:

• Compartilham memória principal, memória cache,

memória permanente, interfaces de rede, etc.

• Isto dobra o desempenho sem dobrar o custo

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 23

Page 24: Arquiteturas de Computadores Paralelos

• 1.ª forma de implementação:

• Uma CPU um único chip, mas com dois pipelines

• Dobra a taxa de execução de instruções

• Recursos (unidades funcionais) podem ser

compartilhados entre os processadores. Isso permite

que uma CPU use recursos que outra não esteja

usando, entretanto, não funciona bem para mais de

2 CPUs.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 24

Page 25: Arquiteturas de Computadores Paralelos

• 2.ª forma de implementação:

• Núcleos separados no mesmo CHIP

• Cada núcleo contém uma CPU completa

• NÚCLEO: é um grande circuito, controlado por E/S ou

CACHE, que pode ser colocado em um CHIP de forma

modular.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 25

Page 26: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 26

Page 27: Arquiteturas de Computadores Paralelos

• Área de aplicação: sistemas embutidos (televisores,

DVDs, filmadoras, consoles, smartphones, etc.)

• Exemplo: composição de um APARELHO DE

TELEVISÃO

• Controle de servomecanismo (cabeçote)

• Correção de erros

• Decriptação e gerenciamento de direitos digitais

• Descompressão de vídeo

• Descompressão de áudio

• Codificação de saída (NTSC, PALM, SECAM)23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 27

Page 28: Arquiteturas de Computadores Paralelos

• O trabalho realizado pelo aparelho de televisão exige

os seguintes cuidados:

• Restrições de tempo real

• Qualidade de serviço

• Energia

• Dissipação de calor

• Tamanho

• Peso

• Preço

• Etc.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 28

Page 29: Arquiteturas de Computadores Paralelos

• Multiprocessador heterogêneo:

• Contem múltiplos núcleos

• Cada núcleo especializado em uma tarefa particular

• As funções dos núcleos são todas diferentes

• Cada uma é projetada com cuidado para ser muito

boa no que faz pelo preço mais baixo possível

• Processadores dedicados em hardware: chips

multiprocessadores heterogêneos que contem

múltiplos núcleos projetos para aplicações

audiovisuais23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 29

Page 30: Arquiteturas de Computadores Paralelos

• O processador de controle de um multiprocessador

heterogêneo é uma CPU programável de uso geral

• À medida que os dispositivos (sistemas embutidos)

adquirem cada vez mais funcionalidades e recursos, a

necessidade de multiprocessadores heterogêneos só

aumenta

• Chips como esses são grandes demais

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 30

Page 31: Arquiteturas de Computadores Paralelos

• A maneira mais viável de projetar um multiprocessador

como este é:

• Usar núcleos que contenham subconjuntos grandes

• Colocar os núcleos e interconectá-los no chip

conforme necessidades

• Determinar no projeto:

• Qual núcleo de CPU usar para processador de

controle

• Quais Processadores de uso especial acrescentar

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 31

Page 32: Arquiteturas de Computadores Paralelos

• Atribuir mais carga ao software que executa noprocessador de controle faz o sistema ficar mais lento,entretanto, o chip fica menor e mais barato

• Ter mais processadores de uso especial para áudio evídeo ocupa uma área maior do chip, o que aumenta ocusto, mas melhora o desempenho, diminui taxa declock, consume menos energia e dissipa menos calor.

• 50% a 75% da área do chip é dedicado à memória,devido às grandes quantidades de dados queprecisam ser processados

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 32

Page 33: Arquiteturas de Computadores Paralelos

• Questões relevantes de projeto que tem implicações

par ao desempenho, consumo de energia e dissipação

de calor do chip:

• Quantos níveis de cache devem se usados?

• As caches devem ser unificadas ou divididas?

• Qual deverá ser o tamanho de cada uma?

• Qual deverá ser a rapidez?

• Um pouco da memória também deve ir par ao chip?

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 33

Page 34: Arquiteturas de Computadores Paralelos

• Como todos os núcleos se comunicam uns com os

outros?

• Sistemas pequenos: um único barramento

• Sistemas maiores:

• Múltiplos barramentos

• Anel que vai de um núcleo ao outro

• Etc.

• Exemplo de barramento usado em sistemas

embutidos:

CoreConnect, AMBA, VCI, OCP-IP, etc.23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 34

Page 35: Arquiteturas de Computadores Paralelos

• O computador ganha velocidade com a adição de um

segundo processador especializado: o coprocessador.

Exemplos:

• Coprocessadores de E/S

• Coprocessadores gráficos

• Coprocessadores de ponto flutuante

• DMA (acesso direto a memória)

• A CPU dá ao coprocessador uma ou mais instruções e

ordena que ele as execute. Em alguns casos, o

coprocessador é independente e funciona por si só23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 35

Page 36: Arquiteturas de Computadores Paralelos

• Coprocessadores podem ser:

• Gabinete separado (canais de E/S, por exemplo)

• Placa de expansão (processadores de rede, por

exemplo)

• Área no chip principal

• O coprocessador ajuda o processador principal

• Três áreas: processamento de rede, multimídia e

criptografia

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 36

Page 37: Arquiteturas de Computadores Paralelos

• Coprocessadores podem ser:

• Gabinete separado (canais de E/S, por exemplo)

• Placa de expansão (processadores de rede, por

exemplo)

• Área no chip principal

• O coprocessador ajuda o processador principal

• Três áreas: processamento de rede, multimídia e

criptografia

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 37

Page 38: Arquiteturas de Computadores Paralelos

• Dificuldade em processar os dados que trafegam pela redeem software

• Computadores de alta tecnologia contém um processadorde rede

• Curiosidade:

• Velocidade das LANs atuais: 40 gigabits/segundo compacotes de 1 KB

• Computador em rede: processa 5 milhões depacotes/segundo

• Qual a solução para o processamento dessa enormequantidade de pacotes?23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 38

Page 39: Arquiteturas de Computadores Paralelos

• Primeira opção:

• ASIC:

• Application specific integrated circuit

• Circuito integrado específico da aplicação

• Hardware para processamento rápido de pacotes

• Executa qualquer conjunto de funções de

processamento para o qual foi projetado

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 39

Page 40: Arquiteturas de Computadores Paralelos

• ASIC:

• Desvantagens:

• Projeto demorado

• Fabricação demorada

• É preciso projetar e fabricar um novo chip se

houver uma nova funcionalidade

• Gerenciamento de bugs é péssimo

• São caros

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 40

Page 41: Arquiteturas de Computadores Paralelos

• Segunda opção:

• FPGA

• Field programmable gate array

• Arranjo de portas programável em campo

• Um conjunto de portas que pode ser organizado

conforme o circuito desejado modificando sua

fiação em campo

• Projeto e fabricação rápidos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 41

Page 42: Arquiteturas de Computadores Paralelos

• Segunda opção:

• FPGA

• Desvantagem:

• Complexos

• Lentos

• Caros

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 42

Page 43: Arquiteturas de Computadores Paralelos

• Terceira opção:

• Processadores de rede

• Dispositivos programáveis que podem manipular pacotes que

chegam e que saem à velocidade dos fios (em tempo real)

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 43

Page 44: Arquiteturas de Computadores Paralelos

• Terceira opção:

• Processadores de rede

• Milhões de pacotes por segundo por linha de redepodem ser processados

• Um roteador pode ter várias linhas de rede

• Processadores de redes devem ter alto grau deparalelismo

• PPEs:

• protocol-programmable-packet processorengines

• Dispositivos de processamento de protocolo-programáveis-pacotes

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 44

Page 45: Arquiteturas de Computadores Paralelos

• Terceira opção:

• PPEs:

• Um processador de rede tem vários PPEs

• É um núcleo RISC com memória interna para o

programa e algumas variáveis

• Todos os processadores de rede contém também um

processador de controle (processador RISC padronizada

de uso geral)

• Todos os componentes do processador de rede se

comunicam por um ou mais barramentos paralelos no chip23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 45

Page 46: Arquiteturas de Computadores Paralelos

• Tratamento de processamento gráfico de alta resolução.Exemplo: renderização 3D.

• GPUs:

• Graphics processing units

• Unidades de processamento gráfico

• CUDA:

• Compute unified Device Architecture

• Arquitetura de elemento unificado de computação

• Cálculos com inteiros e ponto flutuante com precisãosimples

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 46

Page 47: Arquiteturas de Computadores Paralelos

• SMs

• Streaming multiprocessor

• Multiprocessadores streaming

• Cada SMs tem uma quantidade de CUDA

• GPGPUs

• General purpose graphics processing units

• Unidades de processamento gráfico de uso geral

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 47

Page 48: Arquiteturas de Computadores Paralelos

• Área de segurança e segurança de redes

• Criptografia faz uso intensivo de computação

• Dois tipos de criptografia:

• Chave simétrica: baseada em mistura completa de

bits (bater tudo em um liquidificador)

• Chave pública: baseada em multiplicação e

exponenciação de grandes números. Consome

enorme quantidade de tempo.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 48

Page 49: Arquiteturas de Computadores Paralelos

• Coprocessadores criptográficos

• Placas de expansão para barramento PCI

• Tem um hardware especial que habilita a execução da

criptografia necessária muito mais rápido do que uma

CPU comum.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 49

Page 50: Arquiteturas de Computadores Paralelos

• É um computador paralelo no qual todas as CPUscompartilham uma memória comum

• Todos os processos que funcinam juntos em ummultiprocessador podem compartilhar um único espaçode endereço virtual mapeado para a memória comum

• Qualquer processo pode ler ou escrever uma palavra damemória apenas executando uma instrução LOAD ouSTORE

• Vantagem: capacidade de dois ou mais processos secomunicarem apenas lendo e escrevendo na memória

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 50

Page 51: Arquiteturas de Computadores Paralelos

• Duas formas de acesso à E/S

• 1.ª: Somente certas CPUs tem acesso ao

dispositivos e tem uma função especial de E/S

• 2.ª: Cada CPU tem igual acesso a todo dispositivo

de E/S.

• SMP – symmetric multiprocessor –

multiprocessador simétrico: quando cada CPU tem

igual acesso a todos os módulos de memória e a todos

os dispositivos de E/S e é tratada pelo sistema

operacional como intercambiável com as outras.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 51

Page 52: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 52

Page 53: Arquiteturas de Computadores Paralelos

• Uma das distinções entre multiprocessadores e

multicomputadores é o sistema operacional.

• Em multiprocessadores há apenas uma única cópia do

S.O.

• Em multicomputadores, cada computador tem sua

própria cópia do S.O.

• Multicomputador: Toda CPU tem sua memória privada,

acessível somente a ela mesma e a nenhuma outra23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 53

Page 54: Arquiteturas de Computadores Paralelos

• Também pode ser chamado de memória distribuída

• A CPU de um multicomputador tem sua própria memórialocal privada, a qual pode acessar apenas executandoinstruções LOAD e STORE.

• Nenhuma outra CPU pode acessar instruções LOAD eSTORE

• Multicomputadores tem um espaço de endereço físico paracada CPU

• Multiprocessadores tem um único espaço de endereçofísico compartilhado por todas as CPUs

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 54

Page 55: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 55

Page 56: Arquiteturas de Computadores Paralelos

• Multicomputadores não podem se comunicar lendo e

escrevendo na memória comum

• Solução: as CPUS passam mensagens uma para

outro usando a rede de interconexão

• Exemplos: IBM BlueGene/L, Red Storm e Cluster

Google

• A comunicação entre processos costuma usar primitiva

de software como SEND e RECEIVE23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 56

Page 57: Arquiteturas de Computadores Paralelos

• Em um multicomputador as CPUs precisam descobrirqual CPU tem os dados de que precisa e enviar a essaCPU uma mensagem requisitando uma cópia dosdados

• Assim, a CPU bloqueia até que a requisição sejaatendida.

• Programar multicomputadores é mais difícil do queprogramar um multiprocessador (baixo nível)

• Entretanto, é mais barato e simples construirGRANDES multicomputadores do quemultiprocessadores

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 57

Page 58: Arquiteturas de Computadores Paralelos

• Atualmente são utilizados sistemas híbridos

• Chave do sucesso: construir projetos que continuem a

funcionar bem à medida que mais e mais CPUs sejam

adicionadas

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 58

Page 59: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 59

Page 60: Arquiteturas de Computadores Paralelos

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 60

Page 61: Arquiteturas de Computadores Paralelos

• Categorização em fluxos de instruções e fluxos de dados

• Fluxo de instruções: corresponde a um contador de

programa. Um sistema com N CPUs tem N contadores

de programa, portanto, n fluxos de instruções

• Fluxo de dados: conjunto de operandos.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 61

Page 62: Arquiteturas de Computadores Paralelos

• SISD: Single instruction stream, single data stream.

Fluxo de instrução único, fluxo de dados único. Um fluxo

de instruções, um fluxo de dados e faz uma coisa por

vez

• SIMD: Single Instruction Multiple Data. Uma única

instrução manipula vários dados. Tem uma única UC

que emite uma instrução por vez, mas tem múltiplas

ULAs para executar as instruções em vários conjuntos

de dados simultameamente

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 62

Page 63: Arquiteturas de Computadores Paralelos

• MISD: Multiple Instruction Single Data. Multiplas

instruções com dados únicos. Múltiplas instruções

operando no mesmo conjunto de dado

• MIMD: Multiple Instructions Multiple Data. Multiplas

instruções manipulando múltiplos dados diferentes.

Múltiplas CPUs independentes operando como parte de

um sistema maior. Multiprocessadores e

multicomputadores são máquinas MIMD

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 63

Page 64: Arquiteturas de Computadores Paralelos

• UMA:

• uniform memory aaccess

• acesso uniforme à memória

• CARACTERISTICA: A memória é subdividida em

vários módulos. Cada CPU tem o mesmo tempo de

acesso a todos a todos os módulos de memória.

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 64

Page 65: Arquiteturas de Computadores Paralelos

• COMA: cache only memory access – acesso somente à

memória cache

• NUMA: nonuniform memory access – acesso não

uniforme à memória

• CARACTERISTICA DE AMBAS: é mais rápido acessar

os módulos de memória que esTão próximos a cada

CPU do que os mais distantes

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 65

Page 66: Arquiteturas de Computadores Paralelos

• MPPs:

• massively parallel processors

• Processadores de paralelismo maçico

• São supercomputadores caros que consistem em

muitas CPUs fortemente acopladas por uma rede de

interconexão proprietária de alta velocidade

• Exemplo: IBM SP/3

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 66

Page 67: Arquiteturas de Computadores Paralelos

• COWs

• Cluster of workstations

• Grupo de estações de trabalho

• Consistem em PCs ou estações de trabalhos

comuns, montados em estantes e conectados por

tecnologia de interconexão comercial

23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 67