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

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

SSC114 Arquitetura de Computadores Arquiteturas Paralelas

Apresentações semelhantes


Apresentação em tema: "SSC114 Arquitetura de Computadores Arquiteturas Paralelas"— Transcrição da apresentação:

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

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 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 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 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 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 , 1972. Mais conhecida Baseia-se na unicidade e multiplicidade do fluxo de dados e instruções

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 Arquiteturas Paralelas Classificação de Flynn
Fluxo de dados Único Múltiplo SISD Single Instruction Single Data SIMD Single Instruction Multiple Data Ú n i c o Fluxo de instruções M ú l t i p o MISD Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data

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 Classificação de Duncan

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 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 ai = 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 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 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 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 Arquiteturas Paralelas Classificação de Flynn – SISD

17 Arquiteturas Paralelas Classificação de Flynn – SISD
Exemplo (SISD) LOAD A(I) B(I)=A(I)*4 => MULT 4 STORE B(I) TEMPO: t1 t2 t3 LOAD A(1) MULT 4 STORE B(1) Processador P t4 t5 t6 LOAD A(2) STORE B(2)

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 Arquiteturas Paralelas Classificação de Flynn – MISD

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 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 Arquiteturas Paralelas Classificação de Flynn – SIMD
Exemplo (SIMD) LOAD A(I) B(I)=A(I)*4 => MULT 4 STORE B(I) TEMPO: LOAD A(1) MULT 4 STORE B(1) P1 LOAD A(2) MULT 4 STORE B(2) P2 LOAD A(3) MULT 4 STORE B(3) P3 t1 t2 t3

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 Arquiteturas Paralelas Classificação de Flynn – MIMD

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

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 Modelos de acesso à memória
Cada lugar da memória possui um endereço que inicia em 0 e vai até 2n - 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 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 MIMD com Memória compartilhada
Comunicação entre tarefas é rápida Escalabilidade limitada pelo número de caminhos entre memória e processadores UC1 UC2 UCn

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 MIMD com Memória compartilhada
Exemplos: SMP (Symetric MultiProcessors) SGI Power Chalenge máquinas da Sun Microsystems Silicon Graphics NUMA (NonUniform Memory Access)

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 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 MIMD com Memória distribuída
UC1 UC2 UCn

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 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 Arquiteturas Paralelas
Fonte: A. Tanenbaum Structured Computer Organization


Carregar ppt "SSC114 Arquitetura de Computadores Arquiteturas Paralelas"

Apresentações semelhantes


Anúncios Google