ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

43
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia de Flynn

Transcript of ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

Page 1: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

ARQUITETURA E ORGANIZAÇÃODE COMPUTADORES

Taxonomia de Flynn

Page 2: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

CLASSIFICANDO OS COMPUTADORES

A taxonomia de Flynn é uma classificação de arquiteturas de computadores, proposta por Michael J. Flynn em 1966.

O sistema de classificação ficou preso e tem sido usado como uma ferramenta no design de processadores modernos e suas funcionalidades.

Desde o surgimento das unidades centrais de processamento multiprocessamento (CPUs), um contexto de multiprogramação evoluiu como uma extensão do sistema de classificação.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 2

Page 3: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

VISITANDO A TAXONOMIA DE FLYNN

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 3

* SD (Single Data) MD (Multiple Data)

SI

(Single

Instruction)

SISD (Máquinas von Neumann) SIMD (Máquinas Vetoriais)

MI

(Multiple

Instruction)

MISD (Sem representante /

Arquiteturas Sistólicas)

MIMD (Multiprocessadores e

Multicomputadores)

*[Flynn, 1972]

**[De Rose, 2003]

*

*

*

*

*

*

*

*

Page 4: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

VISITANDO A TAXONOMIA DE FLYNN

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 4

* SD (Single Data) MD (Multiple Data)

SI

(Single

Instruction)

SISD (Máquinas von Neumann) SIMD (Máquinas Vetoriais)

MI

(Multiple

Instruction)

MISD (Sem representante /

Arquiteturas Sistólicas)

MIMD (Multiprocessadores e

Multicomputadores)

*

*

*

*

*

*

*

*

*[Flynn, 1972]

**[De Rose, 2003]

Page 5: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MONOCICLO VS. PIPELINE

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 5

Tempo

REGIM DM REGALU

2 4 6 8 10 12 14 16 18

REGIM DM REGALU

Ordem de

ExecuçãoMono-ciclo

ALUREGIM DM REG

ALUREGIM DM REG

ALUREGIM DM REG

Pipelined

Tempo 2 4 6 8 10 12 14 16 18

Ordem de

Execução

Page 6: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

SINGLE CORE - PIPELINING

Sem Paralelismo.

Reuso do hardware.

CPI ideal = 1 (após encher o pipeline).

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 6

Como resolvemos:

- Dependência de recursos?

- Dependência de dados?

ALUREGIM DM REG

ALUREGIM DM REG

ALUREGIM DM REG

Pipelined

2 4 6 8 10 12 14 16 18

Ordem de

Execução

ALUREGIM DM REG

Page 7: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

SINGLE CORE - PIPELINE SUPERSCALAR

Pipelining continua ativo

IPC ideal >1

ILP Paralelismo de instruções.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 7

ALUREGIM DM REG

ALUREGIM DM REG

ALUREGIM DM REG

ALUREGIM DM REG

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8

Tempo

Page 8: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

SINGLE CORE - PIPELINE SUPERSCALAR O³ (OUT-OF-ORDER)

Início do Paralelismo (ILP – Instruction Level Parallelism)

Busca, decodificação e execução de mais de uma instrução por ciclo.

Paralelismo agressivo com despacho e execução fora-de-ordem (OOO).

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 8

Memory Interface

Pre-Decode

FetchDecode/

Rename

PC

Inst

r. Ca

che

Inst

r. Bu

ffer

ROB

Disp

atch

Data

Cac

he

Int Queue

FP Queue

Int unit

FP unit

FP unit

Int unit

Int unit

Int Reg

File

FP Reg

File

Page 9: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES VLIW

Compilador entende de arquitetura.

Controle e despacho simplificados.

Não mantém retro-compatibilidade.

Menor densidade do código (muitos nops).

Requer muitas portas de acesso a dados (cache).

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 9

Instruction Fetch

dest

src

src

dest

src

src

dest

src

src

Register File Read

ExecutionUF UF UF

D-Cache

I-Cache

Register File

State Update

Very Long Instruction Word

...

...

Page 10: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES VLIW

Superescalar VLIW

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 10

Compilador

CPU

UF UF UF UF

CPUInstruction

Scheduler

UF UF UF UF

Compilador

Page 11: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

TAXONOMIA DE FLYNN

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 11

* SD (Single Data) MD (Multiple Data)

SI

(Single

Instruction)

SISD (Máquinas von Neumann) SIMD (Máquinas Vetoriais)

MI

(Multiple

Instruction)

MISD (Sem representante /

Arquiteturas Sistólicas)

MIMD (Multiprocessadores e

Multicomputadores)

*[Flynn, 1972]

**[De Rose,

2003]

*

*

*

*

*

*

*

*

Page 12: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS SIMD

Processador opera sobre vetores de dados

Controle único

1 Contador de programa

1 Bloco de controle

1 Instrução sendo executada

Múltiplas unidades de execução (blocos operacionais)

ALU

Registradores de dados

Registradores de endereço

Memória de dados local

Interconexões com unidades vizinhas

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 12

Page 13: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS SIMD (2)

Processador hospedeiro SISD

Executa operações sequenciais

Calcula endereços

Acessa memória de instruções

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 13

Unidade Execução

Unidade Execução

Unidade Execução

Unidade Execução

Fluxo Dados

Fluxo Dados

Fluxo Dados

Fluxo Dados

Fluxo Instruções

Page 14: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EFICIÊNCIA DE ARQUITETURAS SIMD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 14

UF0 UF1 UF2 UF3

i8? i8?

i4? i4?

i0i1i2i3 (br) if (id % 2 == 0) goto i8i4i5i6i7i8i9i10

Page 15: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EFICIÊNCIA DE ARQUITETURAS SIMD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 15

UF0 UF1 UF2 UF3

Halt! Halt!

i4-i7 i4-i7

Tem

po d

e e

xecu

ção

UF0 UF1 UF2 UF3

i8... i8...i8... i8...

i0i1i2i3 (br) if (id % 2 == 0) goto i8i4i5i6i7i8i9i10

Page 16: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EFICIÊNCIA DE ARQUITETURAS SIMD

SIMD são eficientes quando processam arrays em laços “for”

Eficientes quando aplicação tem paralelismo de dados massivo

SIMD são ineficientes em aplicações do tipo “case”

Cada unidade de execução executa operação diferente, dependendo do dado

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 16

UF0 UF1 UF2 UF3

Halt! Halt!

i4-i7 i4-i7

Tem

po d

e e

xecu

ção

UF0 UF1 UF2 UF3

i8... i8...i8... i8...

Page 17: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES VETORIAIS

Caso aplicado de máquinas SIMD

“processador vetorial” com pipeline associado a um processador hospedeiro escalar convencional

Processador vetorial … Busca dados vetoriais de “registradores vetoriais” ou diretamente da memória

Executa operações sobre os vetores através de 1 ou mais pipelines funcionais paralelos

Exemplo: Cray C-90 Registrador vetorial tem 64 x 64 bits

2 pipelines funcionais vetoriais

Outras máquinas vetoriais Convex C3, DEC VAX 9000, Fujitsu VP2000, Hitachi S-810, IBM 390/VF

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 17

Page 18: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES VETORIAIS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 18

Cro

ss-B

ar

Main

Memory

Unit #0

Main

Memory

Unit #1

Main

Memory

Unit #31

Main

Memory

Unit #2

Main

Mem

ory

Acc

ess

Co

ntr

ol Vector Unit x 8

Load/

Store

Mask

Register

Mask

Logical

Multiply

Add/Shift

Divide

Scalar Unit

I-Cache

D-Cache

Scalar

Register

Main

Memory

Unit #3

Vector

Register

Scalar

Pipeline

[Earth

Simulator]

Page 19: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EARTH SIMULATOR (BUILT BY NEC $500MI)NO. 1 SYSTEM FROM JUNE 2002 TO JUNE 2004

DSDB - INFRAESRUTURA COMPUTACIONAL 19

Page 20: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EARTH SIMULATOR (BUILT BY NEC)NO. 1 SYSTEM FROM JUNE 2002 TO JUNE 2004

DSDB - INFRAESRUTURA COMPUTACIONAL 20

Page 21: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

INSTRUÇÕES SIMD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 21

Page 22: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

INSTRUÇÕES SIMD

Máquinas SISD/SIMD têm uma mistura de instruções SISD e SIMD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 22

y3 y2 y1 y0

x3 x2 x1 x0

OP OP OP OP

x3 x2 x1 x0

Fonte 1

Fonte 2

Destino

Page 23: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

EXEMPLOS

Mult/Add

Compares

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 23

73 2 5 6

51 3 5 23

> > > >

000...0 111...1 000...0 111.1

Fonte 1

Fonte 2

Destino

y3 y2 y1 y0

x3 x2 x1 x0

x x x x

(x3*y3)+(x2*y2) (x1*y1)+(x0*y0)

Fonte 1

Fonte 2

Destino

Page 24: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

INTEL MMX – 8X64 BITS REGISTRADORES

(8bits x 8) Packed Bytes

(16bits x 4) Packed Words

(32bits x 2) Packed Doublewords

(64bits x 1) Packed Quadword

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 24

b7 b6 b5 b4 b3 b2 b1 b0

b3 b2 b1 b0

b1 b0

b0

Page 25: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

INTEL SSE - 8X128 BITS REGISTRADORES

128-Bit Packed Double-Precision FP

128-Bit Packed Byte Integers

128-Bit Packed Word Integers

128-Bit Packed Doubleword Integers

128-Bit Packed Quadword Integers

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 25

Page 26: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

REGISTRADORES X86 (INTEL/AMD)

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 26

MM0/ST0MM1/ST1MM2/ST2MM3/ST3MM4/ST4MM5/ST5MM6/ST6MM7/ST7

Extensão Multimedia e

Registradores de Ponto-Flutuante

Fluxo SIMD

Registradores de Extensão SSE

XMM0XMM1XMM2XMM3XMM4XMM5XMM6XMM7XMM8XMM9XMM10XMM11XMM12XMM13XMM14XMM15

SSE/AVX-128 suportam loads de 128 bits

AVX-256 suporta load de 256 bits

AVX-512 carrega até 512 bits (64 bytes!!!)

Page 27: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

USANDO OPERAÇÕES VETORIAIS COM INTRINSICS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 27https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Page 28: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

USANDO OPERAÇÕES VETORIAIS COM INTRINSICS

__m128 _mm_add_ps (__m128 a, __m128 b)

Synopsis

__m128 _mm_add_ps (__m128 a, __m128 b)

#include "xmmintrin.h"

Instruction: addps xmm, xmm

CPUID Flags: SSE

Description:

Add packed single-precision (32-bit) floating-point elements in a and b, and store the

results in dst.

Operation

FOR j := 0 to 3

i := j*32

dst[i+31:i] := a[i+31:i] + b[i+31:i]

ENDFOR

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 28https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Performance

Architecture Latency Throughput (CPI)

Skylake 4 0.5

Broadwell 3 1

Haswell 3 1

Ivy Bridge 3 1

Page 29: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

USANDO OPERAÇÕES VETORIAIS COM INTRINSICS

#include "xmmintrin.h"

void main() {

__m128 a, b, c;

float va[128], vb[128], vc[128];

for (int i=0; i<128; i+=4) {

a = _mm_load_ps(&va[i]);

b = _mm_load_ps(&vb[i]);

c = _mm_add_ps(a, b);

_mm_store_ps(&vc[i], c);

}

}

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 29https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Performance

Architecture Latency Throughput (CPI)

Skylake 4 0.5

Broadwell 3 1

Haswell 3 1

Ivy Bridge 3 1

Page 30: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

TAXONOMIA DE FLYNN

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 30

* SD (Single Data) MD (Multiple Data)

SI

(Single

Instruction)

SISD (Máquinas von Neumann) SIMD (Máquinas Vetoriais)

MI

(Multiple

Instruction)

MISD (Sem representante /

Arquiteturas Sistólicas)

MIMD (Multiprocessadores e

Multicomputadores)

*[Flynn, 1972]

**[De Rose,

2003]

*

*

*

*

*

*

*

*

Page 31: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES SISTÓLICOS

Considerado por alguns autores como máquinas MISD

Processamento “data-flow” Cada processador executa operação quando dados de entrada estão disponíveis

Processadores elementares Executam operação única, não programáveis

Aplicações em processamento digital de sinais Processamento de imagens, voz, ...

Integração num único chip

São utilizados em: Em sistemas eletrônicos dedicados

Como unidade funcional especializada de um processador hospedeiro convencional

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 31

Page 32: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

PROCESSADORES SISTÓLICOS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 32

Dados Soma Dados Multiplicação Dados Derivada X Dados Derivada Y

Resultado

Mesmo Dado

Múltiplas Instruções

Page 33: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

TAXONOMIA DE FLYNN – MIMD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 33

SD (Single Data) MD (Multiple Data)

SI

(Single

Instruction)

SISD (Máquinas von Neumann) SIMD (Máquinas Array)

MI

(Multiple

Instruction)

MISD (Sem representante até

agora / Arquiteturas Sistólicas)

MIMD (Multiprocessadores e

Multicomputadores)

*[Flynn, 1972]

**[De Rose, 2003]

Page 34: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MULTI-PROCESSORS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 34

Multiprocessadores

Máquina UMAEspaço de

Endereçamento

Proc

Cache

Interconexão

Memória Principal

Proc

Cache

I/O

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Multiprocessadores

Máquina NUMAEspaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

Interconexão I/O

Multicomputadores

Cluster de Máquinas

Espaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

InterconexãoI/O I/O I/O I/O I/O I/O

[Stallings, 2005]

Page 35: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

ESPAÇO DE ENDEREÇAMENTO PRIVADO VS. COMPARTILHADO

Espaço privado

Cada processador tem sua visão da memória.

Cada um terá sua variável privada.

Comunicação através da troca de mensagens (mais lento).

Normalmente não ocorrerá condições de corrida.

Espaço compartilhado

Todos os processadores tem a mesma visão da memória.

Mesma variável pode ser visível para todos.

Comunicação por variável compartilhada (mais rápido).

Haverá naturalmente condições de corrida (recursos compartilhados).

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 35

Page 36: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MULTI-PROCESSORS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 36

Multiprocessadores

Máquina UMAEspaço de

Endereçamento

Proc

Cache

Interconexão

Memória Principal

Proc

Cache

I/O

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Multiprocessadores

Máquina NUMAEspaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

Interconexão I/O

Multicomputadores

Cluster de Máquinas

Espaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

InterconexãoI/O I/O I/O I/O I/O I/O

[Stallings, 2005]

Page 37: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

CLUSTER DE MÁQUINAS

Conhecidos como COW/NOW: Cluster/Network of Workstations.

Paralelismo: Bastante claro em nível de processos.

Diversos espaços de endereçamento.

SO para cada máquina: Linux ou proprietário.

Tecnologias de Rede: Ethernet, Myrinet, InfiniBand.

Escalonador de Jobs: Globus, OAR Cigri.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 37

Page 38: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MULTI-PROCESSORS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 38

Multiprocessadores

Máquina UMAEspaço de

Endereçamento

Proc

Cache

Interconexão

Memória Principal

Proc

Cache

I/O

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Multiprocessadores

Máquina NUMAEspaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

Interconexão I/O

Multicomputadores

Cluster de Máquinas

Espaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

InterconexãoI/O I/O I/O I/O I/O I/O

[Stallings, 2005]

Page 39: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS NUMA

Na arquitetura NUMA as partições dos Cores e as memórias são agrupadas em Nós

Uma máquina pode ter vários Nós NUMA, dependendo do modelo e quantidade de memória/processadores

A latência de acesso de um processador com a memória dentro de um Nó NUMA é muito baixa, pois o barramento torna eficiente o acesso dentro do mesmo Nó

Entretanto o acesso do processador de um Nó X para a memória em um Nó Y é maior pois é necessário atravessar a interconexão que liga os diversos Nós

Pode parecer insignificante esta penalidade entretanto em acessos intensivos de memória a Nós remotos pode ter grande impacto no desempenho do sistema

A razão da diferença de latência entre o nodo local e um nodo remoto é chamado de NUMA factor.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 39

Page 40: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS NUMAMAPEAMENTO DE ENDEREÇOS

Diferentes tipos de mapeamento de endereço para os nodos NUMA podem ser adotados:

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 40

0

4

8

1

5

9

2

6

10

3

7

11

0

1

2

10

11

12

20

21

22

30

31

32

0

~

4

20

5

~

9

10

~

14

15

~

19

Entrelaçado Linear Bloco Entrelaçado

Page 41: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS NUMA

Exemplo de NUMA com capacidade total de 400 páginas de memória

Cada nó contém um quadro de páginas contíguo

Considerando as latências: Caches/Memória igual a 𝐦 𝒄𝒊𝒄𝒍𝒐𝒔

Interconexão/link igual a 𝐧 𝒄𝒊𝒄𝒍𝒐𝒔

O custo de acesso do Proc 0 acessar:

Páginas 0~99 = m 𝑐𝑖𝑐𝑙𝑜𝑠

Páginas 100~299 = n +m 𝑐𝑖𝑐𝑙𝑜𝑠

Páginas 300~399 = 2n +m 𝑐𝑖𝑐𝑙𝑜𝑠

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 41

Proc 0

Cache

Proc 1

Cache

Mem.

0-99

Mem.

100-199

Interconexão

Proc 2

Cache

Proc 3

Cache

Mem.

200-299

Mem.

300-399

Interconexão

Interconexão

Interconexão

Page 42: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MÁQUINAS NUMANON-UNIFORM MEMORY ACCESS

COMA (Cache Only Memory Architecture)

Formado com memórias cache de alta capacidade.

Coerência é obtida em hardware com a atualização simultânea em múltiplos nós dos dados.

CC-NUMA (Cache Coherent NUMA)

Coerência de cache é garantida pelo hardware.

NCC-NUMA (Non-Cache Coherent NUMA)

Não existe garantia de coerência da cache ou não existe cache.

SC-NUMA (Software Coherent NUMA) /DSM.

Coerência de cache é garantida em software.

NORMA ou NCC-NUMA com coerência por software.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 42[Stallings, 2005]

[De Rose, 2003]

Page 43: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Taxonomia …

MULTI-PROCESSORS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 43

Multiprocessadores

Máquina UMAEspaço de

Endereçamento

Proc

Cache

Interconexão

Memória Principal

Proc

Cache

I/O

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Multiprocessadores

Máquina NUMAEspaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

InterconexãoI/O

Multicomputadores

Cluster de Máquinas

Espaço de

Endereçamento

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Proc

Cache

Mem. Mem. Mem. Mem. Mem. Mem.

Interconexão

I/O I/O I/O I/O I/O I/O

[Stallings, 2005]