Upload
internet
View
121
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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>
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
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
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
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
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%)
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
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
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
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
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
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
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
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?