Arquiteturas computacionais

Download Report

Transcript Arquiteturas computacionais

Tópicos em redes e
sistemas distribuídos B
Carlos Oberdan Rolim
Ciência da Computação
Arquiteturas computacionais
Arquiteturas computacionais
Taxonomia de Flynn: 1972 - se baseia nas possíveis
unicidade e multiplicidade dos fluxos de instruções e
de dados para definir quatro tipos de arquiteturas:
SISD (Single Instruction Streams Single Data Streams ): Fluxo
único de instruções sobre um único conjunto de dados .
Computadores sequenciais
SIMD (Single Instruction Streams Multiple Data Streams ): Fluxo
único de instruções em múltiplos conjuntos de dados
.Computadores vetoriais e matriciais
MISD (Multiple Instruction Streams Single Data Streams ): Fluxo
múltiplo de instruções em um único conjunto de dados .Não
existem computadores
MIMD (Multiple Instruction Streams Multiple Data Streams ): Fluxo
múltiplo de instruções sobre múltiplos conjuntos de dados.
.Arquiteturas com múltiplos processadores independentes
Classificação de Flynn
SISD (Single Instruction Single
Data)
Não é um computador paralelo
Uma instrução por fluxo
Cada operação opera em um
único dado
Análogia
Máquinas von Neumann tradicionais:
microcomputadores pessoais e estações de trabalho
Classificação de Flynn
SIMD (Single Instruction Multiple Data)
Tambem uma arquitetura de von Neumann architectures mas com instruções
mais poderosas
Cada instrução pode operar em mais de um elemento
Dois tipos
Vector SIMD
Parallel SIMD
Análogia
Classificação de Flynn
Vector SIMD
Uma instrução resulta em multiplas
operações de atualização
Processamento escalar acontece
em elementos de dados simples
Examplos:
Cray 1
NEC SX-2
Fujitsu VP
Hitachi S820
Classificação de Flynn
Paralell SIMD
Arrays de processadores. Uma instrução é dada e todos os processadores
executam a mesma instrução operando em conjuntos diferentes de dados
Processadores rodam de forma sincrona
Examplos:
Connection Machine CM-2
Maspar MP-1, MP-2
Classificação de Flynn
MISD (Multiple Instruction Single Data)
!!!! Non ecziste!!!!
Não existem exemplos práticos de implementação
Classificação de Flynn
MIMD (Multiple Instruction Multiple Data)
Paralelismo alcançado pela coneão de multiplos processadores em
conjunto
Inclui todas as formas de configuração com multiprocessador
Cada processador executa seu próprio conjunto de instruções
independente dos outros processadores em um único fluxo de dados
Exemplos:
Multiprocessadores e multicomputadores:
nCube, Intel Paragon, Cray T3D
Análogia
Multiprocessadores e multicomputadores
MIMD
Computadores
Paralelos e
Distribuídos
Fortemente Acoplado
Multiprocessadores
(memória compartilhada)
Barramento
Switched
Sequent, Encore
Ultracomputer,
RP3
Fracamente Acoplado
Multicomputadores
(memória privada)
Barramento
Estações de
Trabalho
Switched
Transputer,
Hypercube
Multiprocessadores
Baseado em barramento
CPU
CPU
CPU
cache
cache
cache
Memória
Multiprocessadores
Baseado em switch
M
M
M
M
C
M
C
C
M
C
C
M
C
C
M
C
crossbar switch
omega switching network
Multicomputadores
Baseado em barramento
Estação de
Trabalho
Estação de
Trabalho
Estação de
Trabalho
Memória
Local
Memória
Local
Memória
Local
CPU
CPU
CPU
Rede
Multicomputadores
Baseado em switch
grid
hypercube
Compartilhamento de memória
Multiprocessadores (espaço de endereçamento único)
UMA (uniform memory access) - memória central
NUMA (non-uniform memory access) - memória distribuída
COMA (cache-only memory architecture)
CC-NUMA (cache-coherent non-uniform memory access)
NCC-NUMA (non-cache-coherent non-uniform memory access)
Multicomputadores (múltiplos espaços de endereçamento)
NORMA (non-remote memory access)
SC-NUMA (software-coherent non-uniform memory access)
DSM (Distributed shared memory)
Compartilhamento de memória
UMA
P
P
P
P
P
Rede de Interconexão
M
Coerência de cache resolvida em HW.
P
P
P
Acesso Não-Uniforme à Memória (NUMA)
NUMA
Dois ou mais processadores compartilham a memória global (= um único
espaço de endereçamento). Em um sistema NUMA os processadores são
organizados em nós. Cada nó possui 1 ou mais processadores, com sua(s)
própria(s) memória(s) cache (um, dois, ou mais níveis) e alguma memória
principal conectados por um barramento ou outro sistema de interconexão.
Principal característica de uma arquitetura NUMA é o acesso não uniforme
à memória, ou seja, embora todos os processadores possam acessar todas
as posições de memória, os tempos de acesso variam de acordo com o
endereço acessado
Acesso local mais rápido que acesso remoto
Dois tipos: ncNUMA (NUMA sem cache) e ccNUMA (NUMA com cache)
Compartilhamento de memória
NUMA
espaço de endereçamento
M
M
M
M
M
M
M
M
P
P
P
P
P
P
P
P
Rede de Interconexão
Compartilhamento de memória
NORMA
P
P
P
P
P
P
P
P
M
M
M
M
M
M
M
M
Rede de Interconexão
Arquiteturas paralelas
Serie: N módulos conectados um após o outro. Falha de um módulo
ocasiona falha o sistema todo
Paralelo: N módulos conectados entre si. O sistema falha somente
se todos os módulos falharem