Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores...

45
Prof. Prof. Arthur Arthur Projeto Lógico de Projeto Lógico de Computadores Computadores Arquiteturas Avançadas Arquiteturas Avançadas Projeto Lógico de Projeto Lógico de Computadores Computadores Prof. Arthur Prof. Arthur [email protected] [email protected] 2012 2012 Arquiteturas Avançadas Arquiteturas Avançadas Máquinas Paralelas

Transcript of Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores...

Page 1: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Projeto Lógico de Projeto Lógico de ComputadoresComputadores

Prof. ArthurProf. [email protected]@unip.br

20122012

Arquiteturas AvançadasArquiteturas Avançadas

Máquinas Paralelas

Page 2: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

Máquinas ParalelasMáquinas Paralelas

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Introdução

Embora os computadores estejam cada vez mais velozes, o nível de exigência sobre eles cresce mais rápido que sua velocidade de operação.

Em função disso, os projetistas de computadores estão se voltando para os computadores paralelos.

Page 3: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

Máquinas ParalelasMáquinas Paralelas

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Introdução

Ainda não é possível construir um único processador cujo ciclo seja, por exemplo, 0,001 ns.

Mas é possível construir uma máquina com 1.000 processadores com ciclo de 1 ns cada, o que equivale, em termos de potência de processamento, a um único processador com ciclo de 0,001 ns.

Page 4: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

As três perguntas básicas ao iniciar-se o estudo de uma máquina paralela são:

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

• Qual a natureza, o tamanho e a quantidade de seus elementos de processamento?

• Qual a natureza, o tamanho e a quantidade de seus elementos de memória?

• Como os elementos de processamento e os elementos de memória estão interconectados?

Page 5: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

Os sistemas de memória são muitas vezes divididos em módulos que operam de modo independente uns dos outros, e em paralelo para permitir que vários processadores tenham acesso simultâneo às informações armazenadas.

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Page 6: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

A área na qual os sistemas de processamento paralelo apresentam as maiores diferenças diz respeito à maneira de ligar as diversas partes que compõem esses sistemas.

De maneira geral, os esquemas de interconexão podem ser divididos em: estáticos e dinâmicos.

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Page 7: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

Esquema Estático:

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Os componentes são ligados de maneira fixa como, por exemplo: em estrela, em anel ou em grade.

Page 8: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. Arthur

Esquema Dinâmico:

Projeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Nesta situação, todas as partes componentes do sistema estão ligadas a elementos comutadores, os quais podem rotear mensagens dinamicamente entre eles.

Comutador A

Comutador B

Page 9: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

A adoção do esquema estático ou do dinâmico depende diretamente da finalidade a que os computadores se destinam.

Por exemplo, um computador de banco que gerencie as transações em caixas eletrônicos estará rodando simultaneamente tarefas independentes entre si. Neste caso, o esquema estático é o mais indicado.

Page 10: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Os sistemas compostos por uma pequena quantidade de processadores grandes, independentes e com conexões de baixa velocidade entre si, são denominados de sistemas fracamente acoplados.

Page 11: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasIntrodução

Os sistemas fortemente acoplados são compostos de processadores de pouca potência computacional, fisicamente próximos uns dos outros e que interagem frequentemente através de redes de comunicação de alta velocidade.

Page 12: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

Em qualquer tipo de sistema de processamento paralelo, os processadores que estiverem trabalhando nas diferentes partes de uma mesma tarefa precisam se comunicar entre si para poder trocar informação:

• Sistemas multiprocessadores

• Sistemas multicomputadores

Page 13: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MultiprocessadoresTodos os processadores compartilham a mesma memória física.

Page 14: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MultiprocessadoresTodos os processos que trabalham juntos em um sistema multiprocessador podem compartilhar um único espaço de endereçamento virtual mapeado na memória física comum a eles.

Dois processos podem se comunicar escrevendo / lendo dados na memória compartilhada.

Page 15: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MultiprocessadoresExemplo:

•Considere um programa que inspeciona uma imagem em um mapa de bits e lista todos os objetos nela existentes.

•Uma cópia da imagem é mantida na memória.

Page 16: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

Multiprocessadores• Cada um dos 16 processadores roda um único

processo, processo esse que analisa uma das 16 seções nas quais o mapa foi dividido para análise.

• Além disso, cada processo tem acesso à imagem inteira, o que é essencial, pois alguns objetos podem ocupar mais de uma seção .

• Se um processo descobre que um dos seus objetos se estende além da fronteira de uma seção, simplesmente ele continua a analisar esse objeto na seção seguinte.

Page 17: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MulticomputadoresCada processador tem sua própria memória, acessível somente pelo processador proprietário e nunca diretamente por qualquer outro processador do sistema.

Page 18: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MulticomputadoresEste sistema tem um único espaço de endereçamento para cada processador.

Como os processadores de um multicomputador não podem se comunicar por meio de leituras e escritas à memória comum, eles fazem a comunicação entre si trocando mensagens uns com os outros, através de uma rede de interconexão.

Page 19: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasModelos de Comunicação

MulticomputadoresSe um processador precisar de informações que estão num outro espaço de endereçamento que não o seu próprio, ele deve descobrir qual dos processadores do sistema tem os dados que ele necessita e enviar uma mensagem para este processador requisitando uma cópia destes dados.

Page 20: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

As redes de interconexão podem ser compostas por até cinco componentes:

• Processadores

• Módulos de memória

• Interfaces

• Links

• Comutadores

Page 21: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

As interfaces são dispositivos que de fato fazem o envio e a recepção de mensagens.

Em alguns projetos a interface é um chip ou uma placa ligada a cada barramento local dos processadores, e que pode se comunicar tanto com o processador quanto com a memória local.

Em geral a interface pode ler e escrever em várias memórias, o que possibilita a transferência de blocos de dados.

Page 22: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Os links são os canais físicos sobre os quais os bits se movimentam. Um canal pode ser construído com fios elétricos ou com fibras ópticas.

Cada link tem uma banda passante máxima, que representa a quantidade de bits que o link pode transferir por segundo. O link pode ser: simplex, half-duplex ou full-duplex.

Page 23: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Os comutadores são dispositivos com várias portas de entrada e várias portas de saída. Quando um pacote chega à porta de entrada de um comutador, alguns de seus bits são usados para selecionar a porta de saída pela qual o pacote deve ser enviado.

Page 24: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Ao projetar uma rede de interconexão deve-se prestar atenção em três pontos principais:

• Topologia

• Comutadores

• Roteamento

Page 25: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Topologia: como os componentes da rede são organizados?

Árvore

Grade

Page 26: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Topologia

•Descreve a interconexão dos links e dos comutadores.

•O projeto pode ser modelado por meio de grafos, com os links sendo os arcos e os comutadores os nós.

•Cada nó de uma rede tem um certo número de links ligados a ele. A este número denomina-se fanout do nó. Quanto maior o fanout maior a quantidade de escolhas à disposição do algoritmo de roteamento, e maior a tolerância a falhas.

Page 27: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Comutadores: como funcionam e como tratam da escassez de recursos?

• Uma rede de interconexão é composta de comutadores e de fios que os conectam.

• Cada comutador tem alguns processadores e circuitos de interconexão.

• A tarefa do comutador é aceitar pacotes que chegam em qualquer uma das portas de entrada e enviá-los para a porta de saída correta, de acordo com o seu destino.

Page 28: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Comutadores:

Page 29: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Comutadores: como funcionam e como tratam da escassez de recursos?

• Cada porta de saída é ligada a uma porta de entrada de outro comutador por intermédio de um link serial ou paralelo.

• Os links seriais transferem um bit de cada vez, e os paralelos transferem vários bits de uma só vez.

• Os links paralelos têm de tratar do problema do escorregamento do clock.

Page 30: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Roteamento: como estabelecer o algoritmo de roteamento usado para levar mensagens de modo eficiente a seus destinos?

• Um bom algoritmo de roteamento deve dividir a carga da rede sobre seus diversos links, de maneira a utilizar totalmente a banda passante disponível.

• O algoritmo deve evitar a ocorrência de deadlocks.

Page 31: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Deadlock

Page 32: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Deadlock

Page 33: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Roteamento:

• Os algoritmos de roteamento podem ser classificados como roteamento fonte ou roteamento distribuído.

• Roteamento fonte: a fonte determina antecipadamente a rota completa do pacote através da rede de interconexão, elaborando uma lista de números de portas a serem usadas em cada comutador ao longo do caminho.

Page 34: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Roteamento:

• Roteamento distribuído: cada comutador toma a decisão sobre a porta para a qual o pacote que entra deve ser mandado.

• Se a mesma decisão for tomada para todos os pacotes de um mesmo destino, diz-se que o roteamento é estático. Se o comutador levar em conta o tráfego atual da rede, diz-se que é adaptativo.

Page 35: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas no hardware

• Velocidade do processador

• Velocidade dos dispositivos de E/S

• Performance da rede de interconexão

Considerando que o processador e os dispositivos de E/S são modelos de mercado, os parâmetros chave para a performance em sistemas paralelos são aqueles associados à rede de interconexão.

Page 36: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas no hardware

Há dois parâmetros principais para medir a performance das redes de interconexão:

Latência

Banda passante

Page 37: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas no hardware

Latência total (ida e volta)

É o tempo gasto por um processador para enviar um pacote e receber uma resposta.

• Se o pacote for enviado à memória, a latência mede o tempo de leitura ou escrita de uma palavra ou de um bloco de palavras.

• Se o pacote for enviado para outro processador, a latência mede o tempo de comunicação entre processadores para pacotes daquele tamanho.

Page 38: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas no hardware

Banda passante

Representa a quantidade de bits por segundo que um sistema pode deslocar.

• Muitas fontes de overhead contribuem para reduzir a capacidade de comunicação de um link.

• Por exemplo, existe sempre um overhead associado a cada pacote: montagem do pacote, construção do seu cabeçalho e envio do pacote.

Page 39: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas no hardware

Banda passante

• O envio de 4 pacotes de 1024 bytes cada, por exemplo, não vai obter a mesma performance que o envio de um único pacote de 4096 bytes.

• Quanto menor o pacote, menor a latência, pois pacotes grandes bloqueiam por muito tempo as linhas de comunicação e os comutadores.

Page 40: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Performance: medidas do software

Ganho

Representa o quanto um programa irá rodar mais rápido em um computador paralelo, em comparação com o tempo de execução em uma máquina que tem um único processador.

Page 41: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Obtenção de alta performance

• Nem sempre aumentar o número de processadores leva a um aumento de performance.

• Exemplo: consideremos 4 processadores conectados por meio de um barramento com banda passante b MB/s. Nessa situação a banda passante para cada processador é de b/4 MB/s.

P PPP

Page 42: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Obtenção de alta performance

• Consideremos, agora, o mesmo barramento com 16 processadores:

P PPP PPPP

P PPP PPPP

Page 43: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Obtenção de alta performance

• Nesta situação a banda passante para cada processador é de b/16 MB/s, o que derrubará a performance do conjunto.

• Para evitar este problema, o acréscimo de novos processadores deve vir acompanhado de novos links, de modo que o acréscimo no número de processadores não diminua a banda passante agregada por cada processador. Exemplo:

PP

PP

Page 44: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores Arquiteturas AvançadasArquiteturas Avançadas

Máquinas ParalelasMáquinas ParalelasRedes de Interconexão

Obtenção de alta performance

• Exemplo com 16 processadores:

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

Page 45: Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas.

Prof. ArthurProf. ArthurProjeto Lógico de ComputadoresProjeto Lógico de Computadores

Projeto Lógico de Projeto Lógico de ComputadoresComputadores

Prof. ArthurProf. [email protected]@unip.br

20122012

Arquiteturas AvançadasArquiteturas Avançadas

Máquinas Paralelas

Arquiteturas AvançadasArquiteturas Avançadas