1 / 18 um breve estudo da adição de um quarto nível de cache em processadores multicore carlos...

18
1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore los Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distri Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides Bezerra Orientador: Prof. Dr. Cláudio F. R. Geyer Porto Alegre, 4 de junho de 2009 paralela e

Upload: internet

Post on 22-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

1 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides BezerraOrientador: Prof. Dr. Cláudio F. R. Geyer

Porto Alegre, 4 de junho de 2009

paralela e

Page 2: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

2 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Sumário

Contexto

Motivação

Proposta

Modelagem

Simulação

Resultados

Conclusões

Page 3: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

3 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Contexto

Memórias cache aceleram a recuperação de dados da memória

Aplicações cada vez mais pesadas, com maior volume de dados

Maior memória principal para comportar os dados destas aplicações

Processadores com maior freqüência (GHz)

Maior número de cores (1, 2, 3, 4, 6, 8 ... Tera-Scale)

As caches devem aumentar seu tamanho proporcionalmente

Page 4: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

4 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Intel Dunnington (Xeon multicore)

• Dunnington (Xeon) é uma arquitetura multicore

• Cada memória L2 é compartilhada por um par de cores– Disponibiliza dados para ambos os cores (mais espaço)– Pode economizar banda do barramento– Menor esforço com manutenção de coerência– Utiliza “Advanced Smart Cache”– Porém, cache maior implica tempo de acesso maior

• Uma memória cache L3 é compartilhada por todos os cores

Page 5: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

5 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Motivação Pede-se mais memória cache, porém:

Memória maior implica maior tempo de acesso Perdas devido à contenção pelo acesso à cache, quando

compartilhada por muitos cores Adicionar memória cache custa caro

Podem ser adicionadas memórias mais distantes do núcleo São acessadas com menor freqüência O problema da contenção é reduzido O tempo de acesso maior gera um menor impacto sobre o

desempenho Ao invés de aumentar o tamanho da cache L<X>, pode ser

adicionado uma cache L<X+1>

Page 6: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

6 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Proposta

Baseando-se na arquitetura Dunnington, pretende-se investigar: Benefício de se utilizar uma memória cache L3 grande (32 MB) Benefício de se dividir a L3 em dois níveis (L3 e L4: 8 + 8 + 16) Ganho ao entrelaçar a hierarquia de cache

Diminuir a maior profundidade mínima de cache que qualquer par de cores precisa buscar para compartilhar memória

Page 7: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

7 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Modelagem – L123• Arquitetura L123

– Modelada sobre o SunFire– 3 níveis de memória cache– L2 compartilhada por cada par de

cores– L3 compartilhada por todos

• Parâmeros– Memória principal: 1 GB– L1:

• Instruções: 32 KB• Dados: 32 KB• Latência: 2 ciclos

– L2:• 1 MB• Latência: 5 ciclos

– L3• 32 MB• Latência: 30 ciclos

Page 8: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

8 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Modelagem – L1234• Arquitetura L1234

– 4 níveis de memória cache– L2 compartilhada por cada par de cores– L3 compartilhada por cada 4 cores (a

cada 2 caches L2)– L4 compartilhada por todos

• Parâmeros– Memória principal: 1 GB– L1:

• Instruções: 32 KB• Dados: 32 KB• Latência: 2 ciclos

– L2:• 1 MB• Latência: 5 ciclos

– L3• 8 MB• Latência: 15 ciclos

– L4• 16 MB• Latência: 30 ciclos

Simular: Tamanho menor Menor contenção

Tamanho menorMaior distância dos cores

Page 9: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

9 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Modelagem – InterleavedL4• Arquitetura InterleavedL4

– 4 níveis de memória cache– L2 compartilhada por cada par de cores– L3 compartilhada por cada 4 cores– L4 compartilhada por todos

• Parâmeros– Memória principal: 1 GB– L1:

• Instruções: 32 KB• Dados: 32 KB• Latência: 2 ciclos

– L2:• 1 MB• Latência: 5 ciclos

– L3• 8 MB• Latência: 20 ciclos

– L4• 16 MB• Latência: 30 ciclos

Simular: Tamanho menor Menor contenção Busca em 2 caches L3

Tamanho menorMaior distância dos cores

Page 10: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

10 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

Observações: Repetições 3 (3reps * ~3horas * 3arqs * 2programas = ~54 horas, ou 18 simulações)

Execuções em seqüência (não a partir do mesmo ponto)

Desvios padrões do número de ciclos: < 1’000 (0,0001%)

Desvios padrões do número de steps: < 1’000’000 (0,1%)

Page 11: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

11 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

Ciclos - BT

2913000000

2914000000

2915000000

2916000000

2917000000

2918000000

2919000000

2920000000

2921000000

L123 L1234 L4Interleaved

Page 12: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

12 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

steps - BT

2875000000

2880000000

2885000000

2890000000

2895000000

2900000000

2905000000

2910000000

L123 L1234 L4Interleaved

Page 13: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

13 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

Ciclos - CG

597500000

598000000

598500000

599000000

599500000

600000000

600500000

601000000

L123 L1234 L4Interleaved

Page 14: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

14 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

steps - CG

508000000

508500000

509000000

509500000

510000000

510500000

511000000

511500000

512000000

512500000

L123 L1234 L4Interleaved

Page 15: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

15 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

Cache miss - BT

-0,10%

0,10%

0,30%

0,50%

0,70%

0,90%

1,10%

1,30%

1,50%

L123 L1234 L4Interleaved

L3 0

L3 1

L4

Page 16: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

16 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Resultados

Cache miss - CG

-0,10%

0,10%

0,30%

0,50%

0,70%

0,90%

1,10%

1,30%

1,50%

L123 L1234 L4Interleaved

L3 0

L3 1

L4

Page 17: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

17 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Conclusões

Ao se diminuir o tempo de acesso à L3, mesmo não sendo compartilhada e com espaço menor, o tempo de execução diminuiu

A taxa de cache miss das L3, apesar de ser maior, foi compensada pelo tempo de acesso menor

Provavelmente, o ganho se deve muito mais à redução do tempo de acesso às L3

O maior tempo de execução da L4Interleaved provavelmente deve-se ao maior tempo de acesso às L3

A cache L4 teve cache miss em torno de 30% a 70%. Uma explicação seria o compartilhamento de 16 MB entre os 8 cores (contra 32 MB de L3 na arquitetura L123)

Trabalhos futuros: Executar a mesma simulação da L123, com L3 de 16 MB, e medir a taxa de cache miss Utilizar uma L4 de 32 MB

Page 18: 1 / 18 Um breve estudo da adição de um quarto nível de cache em processadores multicore Carlos Eduardo Benevides BezerraWorkshop de Processamento Paralelo

18 / 18

Um breve estudo da adição de um quarto nível de cache em processadores multicore

Carlos Eduardo Benevides Bezerra Workshop de Processamento Paralelo e Distribuído

Dúvidas/perguntas

Obrigado!Perguntas?