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

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

1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Aula 9 15/09/10 (Turmas 1 e 2) Profa. Sarita.

Apresentações semelhantes


Apresentação em tema: "1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Aula 9 15/09/10 (Turmas 1 e 2) Profa. Sarita."— Transcrição da apresentação:

1 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Aula 9 15/09/10 (Turmas 1 e 2) Profa. Sarita

2 2 Arquiteturas Paralelas Níveis de paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas Pipeline, Superescalar, VLIW Tarefas (granulosidade média) Paralelismo entre as threads Arquiteturas SMT (Simultaneous MultiThreading) Processos (granulosidade grossa) Paralelismo entre os processos Computação Paralela Arquiteturas multiprocessadores e multicomputadores

3 3 Arquiteturas Paralelas Computação Paralela – Conceitos Permite a execução das tarefas em menor tempo, através da execução em paralelo de diversas tarefas. O paralelismo pode ser obtido em diversos níveis, com ou sem o uso de linguagens de programação paralela. Arquiteturas de diversos tipos, elaboradas para aplicações específicas, podem ser utilizadas para acelerar a execução dessas aplicações.

4 4 Arquiteturas Paralelas Computação Paralela – Conceitos Programação Seqüencial Programação Concorrente Um servidor, atendendo vários clientes através de uma política de escalonamento no tempo Programação Paralela Vários servidores, atendendo vários clientes simultaneamente no tempo

5 5 Arquiteturas Paralelas Computação Paralela – Aplicações Genoma Humano Turbulência dos Fluidos Dinâmica de Veículos Circulação de Oceanos Dinâmica de Fluidos Viscosos Modelagem de Supercondutores Cromodinâmica Quântica Visão por Computador Farmacêutica Biologia Estrutural Previsão do Tempo (+ 72 hs)

6 6 Arquiteturas Paralelas Existem diversas classificações para as arquiteturas paralelas Devido a constante evolução, nenhuma classificação consegue abranger todas as arquiteturas existentes Classificação de Flynn (1972): Some computer organizations and their effectiveness, IEEE Transactions on Computers, vol. C-21, pp , Mais conhecida Baseia-se na unicidade e multiplicidade do fluxo de dados e instruções

7 7 Arquiteturas Paralelas Classificação de Duncan (1990) A survey of parallel computer architectures, IEEE Computer, pp. 5-16, Fevereiro, 1990 Classificação mais recente e abrangente Menos conhecida

8 8 Arquiteturas Paralelas Classificação de Flynn SISD Single Instruction Single Data SIMD Single Instruction Multiple Data MISD Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data Único Múltiplo ÚnicoÚnico MúltiploMúltiplo Fluxo de instruções Fluxo de dados

9 9 Classificação de Duncan Duncan, em sua classificação, exclui arquiteturas que apresentem apenas mecanismos de paralelismo de baixo nível, que já se tornaram lugar comum nos computadores modernos. Exemplos desses mecanismos são: pipeline dos estágios de execução de uma instrução e unidades funcionais múltiplas em uma única UCP.

10 10 Classificação de Duncan

11 11 Classificação de Duncan Arquiteturas Síncronas Arquiteturas paralelas síncronas coordenam suas operações concorrentes sincronamente em todos os processadores, através de relógios globais, unidades de controle únicas ou controladores de unidades vetoriais Tais arquiteturas apresentam pouca flexibilidade para a expressão de algoritmos paralelo

12 12 Classificação de Duncan Processadores Vetoriais Esquematicamente, a organização básica de um processador vetorial apresenta: um processador escalar (para a execução do código não vetorizável do programa), uma unidade de processamento vetorial, e um processador de instruções (que define quais instruções serão executadas em qual dos processadores) Exemplificando uma instrução vetorial, considere o código: for i = 1 to 100 a i = 0 Em uma máquina vetorial, apenas a estrutura ai:100 = 0 executa esta instrução, enquanto que, em uma máquina escalar, a busca e decodificação das instruções ocorrerá 100 vezes É importante ressaltar que o paralelismo dessas arquiteturas é explorado em nível de compilação e não de programação. Exemplos de processadores vetoriais são: Cray 1 e CDC Cyber 205

13 13 Classificação de Duncan Arquiteturas SIMD Fads Arquiteturas SIMD apresentam múltiplos processadores, sob a supervisão de uma unidade central de controle, que executam a mesma instrução sincronamente em conjuntos de dados distintos. Podem ser organizadas de duas maneiras: Processadores Matriciais: projetados especialmente para fornecer estruturas para computação sobre matrizes de dados, são empregados para fins específicos. Fornecem acesso à memória via endereço, o que os diferencia do modelo associativo. Exemplos: Illiac IV e IBM GF11 Memória Associativa: relacionam arquiteturas SIMD cujo acesso à memória é feito de acordo com o seu conteúdo, em contraste ao método de acesso usual, via endereço. O esquema associativo visa permitir o acesso paralelo à memória, de acordo com certo padrão de dados. Exemplos: Goodyear Aerospace STARAN e Parallel Element Processing Esemble (PEPE)

14 14 Classificação de Duncan Arquiteturas Sistólicas Propostas no início da década de 80, por H.T. Kung na Universidade de Carnegie Mellon, estas arquiteturas têm como principal objetivo fornecer uma estrutura eficiente para a solução de problemas que necessitem de computação intensiva junto a grande quantidade de operações de E/S Essas arquiteturas se caracterizam pela presença de vários processadores, organizados de maneira pipeline, que formam uma cadeia na qual apenas os processadores localizados nos limites desta estrutura possuem comunicação com a memória Desta maneira, o conjunto de dados percorre toda a cadeia de processadores, de maneira rítmica e sincronizada por um relógio global, não havendo armazenamento temporário em memória na comunicação entre os processadores

15 15 Arquiteturas Paralelas Classificação de Flynn SISD: único fluxo de instrução, único fluxo de dados classe que representa os computadores convencionais (seriais) as instruções são executadas serialmente, porém os estágios (busca da instrução, decodificação, busca do operando e execução) podem ser sobrepostos (pipeline) Pode-se saber o que está ocorrendo exatamente em cada instante de tempo e reproduzir o processo passo a passo mais tarde

16 16 Arquiteturas Paralelas Classificação de Flynn – SISD

17 17 Arquiteturas Paralelas Classificação de Flynn – SISD Exemplo (SISD) LOAD A(I) B(I)=A(I)*4 => MULT 4 STORE B(I) TEMPO: t1t1 t2t2 t3t3 LOAD A(1) MULT 4 STORE B(1) Processador P t4t4 t5t5 t6t6 LOAD A(2) MULT 4 STORE B(2) Processador P

18 18 Arquiteturas Paralelas Classificação de Flynn – MISD MISD: múltiplo fluxo de instruções, único fluxo de dados vários processadores, onde cada um recebe instruções distintas mas operam sobre o mesmo conjunto de dados poucos exemplos Múltiplos filtros de freqüência operando sobre um único fluxo de sinal Múltiplos algoritmos de criptografia para decodificar uma mensagem

19 19 Arquiteturas Paralelas Classificação de Flynn – MISD

20 20 Arquiteturas Paralelas Classificação de Flynn – SIMD SIMD: único fluxo de instruções, múltiplo fluxo de dados classe que representa os processadores matriciais, paralelos e associativos uma única unidade de controle que envia um fluxo de instruções para vários processadores os processadores recebem a mesma instrução ao mesmo tempo e atuam sobre diferentes fluxos de dados Cambridge Parallel Processing Gamma II Plus

21 21 Arquiteturas Paralelas Classificação de Flynn – SIMD 1024 processadores em um array 32x32, ou 4096 em 64x64 processador de controle armazena instruções e dados são armazenados na memória de cada processador

22 22 Arquiteturas Paralelas Classificação de Flynn – SIMD Exemplo (SIMD) LOAD A(I) B(I)=A(I)*4 => MULT 4 STORE B(I) TEMPO: t1t1 t2t2 t3t3 LOAD A(3) MULT 4 STORE B(3) P 3 LOAD A(2) MULT 4 STORE B(2) P 2 LOAD A(1) MULT 4 STORE B(1) P 1

23 23 Arquiteturas Paralelas Classificação de Flynn – MIMD MIMD: múltiplo fluxo de instruções, múltiplo fluxo de dados vários processadores, cada um controlado por uma unidade de controle processadores recebem instruções diferentes e operam sob fluxo de dados diferentes podem ser síncronos ou assíncronos

24 24 Arquiteturas Paralelas Classificação de Flynn – MIMD

25 25 Arquiteturas Paralelas Classificação de Flynn – MIMD Exemplo (MIMD) TEMPO: Inicializa Dispara tarefa A Dispara tarefa B Espera por processador Dispara tarefa C Espera por processador Dispara tarefa D Espera fim de todas as tarefas Junta resultados Fim P 1 Programa principal P2P2 P3P3 Tarefa B Fim Tarefa A Fim Tarefa D Fim Tarefa C Fim

26 26 Modelos de acesso à memória Um computador convencional consiste de um processador executando um programa armazenado na memória: Memória principal Processador Instruções para o processador Dados para ou do processador

27 27 Modelos de acesso à memória Cada lugar da memória possui um endereço que inicia em 0 e vai até 2 n - 1, onde n é o número de bits do endereço Em computação paralela, pode-se ter: memória compartilhada (multiprocessadores) memória distribuída (multicomputadores)

28 28 MIMD com Memória compartilhada A mesma memória é acessada pelos múltiplos processadores Sincronização entre tarefas é feita por escrita/leitura na/da memória compartilhada e usuário é responsável por sua especificação Um lugar da memória não pode ser modificado por uma tarefa enquanto outra o estiver acessando

29 29 MIMD com Memória compartilhada Comunicação entre tarefas é rápida Escalabilidade limitada pelo número de caminhos entre memória e processadores UC 1 UC 2 UC n

30 30 MIMD com Memória compartilhada Usuário é responsável pela sincronização Programação: Linguagens de programação paralela Construções e instruções paralelas permitem declarações de variáveis compartilhadas e seções paralelas de código Compilador responsável pela geração do código final executável Threads Seqüências de código escritas em alto nível para processadores individuais que podem acessar localidades compartilhadas

31 31 MIMD com Memória compartilhada Exemplos: SMP (Symetric MultiProcessors) SGI Power Chalenge máquinas da Sun Microsystems Silicon Graphics NUMA (NonUniform Memory Access)

32 32 MIMD com Memória distribuída Memória fisicamente distribuída entre os processadores e cada memória local só pode ser acessada pelo seu processador Tarefas se comunicam através de troca de mensagens e a sincronização entre as tarefas é feita através dessa troca

33 33 MIMD com Memória distribuída Programação: Bibliotecas com rotinas para passagem de mensagens que são ligadas a programas seqüenciais convencionais são bastante utilizadas Problema dividido em um número de tarefas que se comunicam

34 34 MIMD com Memória distribuída UC 1 UC 2 UC n

35 35 MIMD com Memória distribuída MPP (Massively Parallel Processors) interconectadas por rede de alta velocidade boa escalabilidade (podem ser formadas por uma grande quantidade de máquinas) complicadas de programar alto custo (em torno de US$ ) Exemplos: Intel Paragon Cray T3E Thinking Machines CM-5

36 36 MIMD com Memória distribuída COW (Cluster of Workstations) utilização de estações de trabalho em uma rede local de processamento baixo custo boa relação custo/benefício

37 37 Arquiteturas Paralelas Fonte: A. Tanenbaum Structured Computer Organization


Carregar ppt "1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Aula 9 15/09/10 (Turmas 1 e 2) Profa. Sarita."

Apresentações semelhantes


Anúncios Google