A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur Arquiteturas Avançadas."— Transcrição da apresentação:

1 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas Máquinas Paralelas

2 Prof. Arthur Máquinas Paralelas Projeto Lógico de ComputadoresArquiteturas 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.

3 Prof. Arthur Máquinas Paralelas Projeto Lógico de ComputadoresArquiteturas 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.

4 Prof. Arthur As três perguntas básicas ao iniciar-se o estudo de uma máquina paralela são: Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introduçã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?

5 Prof. 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 ComputadoresArquiteturas Avançadas Máquinas Paralelas Introdução

6 Prof. 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 ComputadoresArquiteturas Avançadas Máquinas Paralelas Introdução

7 Prof. Arthur Esquema Estático: Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introdução Os componentes são ligados de maneira fixa como, por exemplo: em estrela, em anel ou em grade.

8 Prof. Arthur Esquema Dinâmico: Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introdução Nesta situação, todas as partes componentes do sistema estão ligadas a elementos comutadores, os quais podem rotear mensagens dinamicamente entre eles.

9 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introduçã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.

10 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introduçã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.

11 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Introduçã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.

12 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos 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

13 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multiprocessadores Todos os processadores compartilham a mesma memória física.

14 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multiprocessadores Todos 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.

15 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multiprocessadores Exemplo: 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.

16 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos 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.

17 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multicomputadores Cada processador tem sua própria memória, acessível somente pelo processador proprietário e nunca diretamente por qualquer outro processador do sistema.

18 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multicomputadores Este 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.

19 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Modelos de Comunicação Multicomputadores Se 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.

20 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes de Interconexão As redes de interconexão podem ser compostas por até cinco componentes: Processadores Módulos de memória Interfaces Links Comutadores

21 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

22 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

23 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

24 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Ao projetar uma rede de interconexão deve-se prestar atenção em três pontos principais: Topologia Comutadores Roteamento

25 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Topologia: como os componentes da rede são organizados? Árvore Grade

26 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

27 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

28 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Comutadores:

29 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

30 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

31 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Deadlock

32 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Deadlock

33 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

34 Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Máquinas Paralelas Redes 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.

35 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

36 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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

37 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

38 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

39 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

40 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

41 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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.

42 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Obtenção de alta performance Consideremos, agora, o mesmo barramento com 16 processadores:

43 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes 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:

44 Prof. Arthur Projeto Lógico de Computadores Arquiteturas Avançadas Máquinas Paralelas Redes de Interconexão Obtenção de alta performance Exemplo com 16 processadores:

45 Prof. Arthur Projeto Lógico de Computadores Prof. Arthur arthur@unip.br2012 Arquiteturas Avançadas Máquinas Paralelas Arquiteturas Avançadas


Carregar ppt "Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur Arquiteturas Avançadas."

Apresentações semelhantes


Anúncios Google