Mateus Beck Rutzig [email protected]/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. ·...

48
Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo Mateus Beck Rutzig [email protected]

Transcript of Mateus Beck Rutzig [email protected]/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. ·...

Page 1: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

Estudo do impacto de consumo de potência e desempenho na

inserção de um Array Reconfigurável na arquitetura

Femtojava MulticicloMateus Beck Rutzig

[email protected]

Page 2: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

OUTLINE

1. Conceitos 1.1.Sistemas Embarcados

1.2.Plataforma Femtojava

1.3.Array Reconfigurável

1.4.Funcionamento do Array Reconfigurável

2. Motivações

3. Resultados 4.1. Desempenho

4.2. Energia

4.3. Potência

4.4. Área

4. Conclusões e Trabalhos Futuros

5. Referências

Page 3: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

Page 4: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminho

Page 5: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminho

Problemas!!!

Page 6: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminhoBateria

Problemas!!!

Page 7: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminhoBateria

Problemas!!!Área Ocupada

Page 8: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

PLATAFORMA FEMTOJAVA

Criada com restrições de área e potência visando especificamenteSistemas Embarcados

Execução nativa de bytecodes Java

Máquina de pilha

Arquitetura Harvard

Versões:

Femtojava Multiciclo

Femtojava Pipeline

Femtojava VLIW

Femtojava DSP

Femtojava Pipeline com Array Reconfigurável

Page 9: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

MOTIVAÇÃO

Os sistemas embarcados exigem novas soluções arquiteturais visando aumento de performance e minimização de consumo de potência

Page 10: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

MOTIVAÇÃO

Os sistemas embarcados exigem novas soluções arquiteturais visando aumento de performance e minimização de consumo de potência

Solução

Explorar o paralelismo inerente das aplicações

Page 11: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

MOTIVAÇÃO

Os sistemas embarcados exigem novas soluções arquiteturais visando aumento de performance e minimização de consumo de potência

Solução

Explorar o paralelismo inerente das aplicações

Mas o que fazer quando o paralelismo da aplicação é limitado?

Page 12: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

MOTIVAÇÃO

Os sistemas embarcados exigem novas soluções arquiteturais visando aumento de performance e minimização de consumo de potência

Solução

Explorar o paralelismo inerente das aplicações

Mas o que fazer quando o paralelismo da aplicação é limitado?

AlternativaAcelerar a execução trocando a lógica seqüencial

por lógica combinacional

Page 13: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

ARRAY RECONFIGURÁVEL

Circuito totalmente combinacional

Page 14: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

ARRAY RECONFIGURÁVEL

Circuito totalmente combinacional

Formado por:

Page 15: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

ARRAY RECONFIGURÁVEL

Circuito totalmente combinacional

Formado por: CÉLULA

Cada célula contém:

Page 16: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava

Resultados

b20024b2000460

Page 17: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava com Array Reconfigurável

Resultados

b20024b2000460

Page 18: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava com Array Reconfigurável

Resultados

b20024b2000460

Basic Block

Page 19: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava com Array Reconfigurável

b20024b2000460

Basic Block

PC

Resultados

Cache

Page 20: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava com Array Reconfigurável

b20024b2000460

Basic Block

PC

Resultados

Cache

Configuração

Page 21: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

Fluxo de execução no Femtojava com Array Reconfigurável

b20024b2000460

Basic Block

PC

Resultados

Cache

Configuração

Page 22: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

MAIS MOTIVAÇÕES...

~ 85 % dos bytecodes são executados no ArrayReconfigurável.

Fica a cargo do processador executar praticamente bytecodes de controle.

Simplificar a integração do Array Reconfigurávelcom a arquitetura.

Instruções executadas mais lentamente, o delay de configuração do Array pode ser maior,consequentemente, o hardware pode ser simplificado.

Page 23: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

DIFERENÇAS ORGANIZACIONAIS

MULTICICLOPilha implementada na memória RAM

externa ao core

Próxima instrução a ser executada é buscada da memória ROM ao término da execução da instrução atual

PIPELINEPilha implementada dentro do core

como um banco de registradores

Buffer de 9 bytes que fornece instruções para o pipeline. Palavras de 4 bytes são buscadas da memória RAM.

X

Page 24: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

BENCHMARKS

Outrosbinary search

float sums

imdct

mp3

sequence search

bubble10

quick10

select10

SPEC JVM98compress

check

jess

raytrace

db

javac

mpegaudio

mtrt

jack

Page 25: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

BENCHMARKS

CARACTERIZAÇÃO

Page 26: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

BENCHMARKS

CARACTERIZAÇÃO

Data Flow

Page 27: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

BENCHMARKS

CARACTERIZAÇÃO

Control Flow

Page 28: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

BENCHMARKS

CARACTERIZAÇÃO

Chamada de Métodos

Page 29: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

DESEMPENHO (CICLOS)

5651.0201.0393.0951.3184.418bubble10

196.485.190282.092.214196.664.898282.413.166281.096.146411.377.368jack

11.175.67919.234.90513.281.75823.522.35717.711.45432.476.108javac

149.381.359231.107.825164.429.015256.012.316191.119.064299.964.117raytrace

2.016.6433.330.9522.258.8623.779.7672.715.7094.641.398check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

Page 30: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

DESEMPENHO (CICLOS)

5651.0201.0393.0951.3184.418bubble10

196.485.190282.092.214196.664.898282.413.166281.096.146411.377.368jack

11.175.67919.234.90513.281.75823.522.35717.711.45432.476.108javac

149.381.359231.107.825164.429.015256.012.316191.119.064299.964.117raytrace

2.016.6433.330.9522.258.8623.779.7672.715.7094.641.398check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

3.35 x

Page 31: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

DESEMPENHO (CICLOS)

5651.0201.0393.0951.3184.418bubble10

196.485.190282.092.214196.664.898282.413.166281.096.146411.377.368jack

11.175.67919.234.90513.281.75823.522.35717.711.45432.476.108javac

149.381.359231.107.825164.429.015256.012.316191.119.064299.964.117raytrace

2.016.6433.330.9522.258.8623.779.7672.715.7094.641.398check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

1.80 x

Page 32: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

DESEMPENHO (CICLOS) MÉDIA

0

50000000

100000000

150000000

200000000

250000000

300000000

1 2 3 4 5

Multiciclo

Pipeline

Células

Page 33: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ENERGIA

54.388.72732.446.18954.388.72732.446.189267.249.443175.474.341bubble10

3.175.722.204.2091.507.668.097.2933.283.465.560.1141.570.903.779.1503.656.603.556.8651.749.994.163.998jack

954.804.342.885410.217.751.899979.628.505.307420.385.202.3001.066.864.717.084455.523.309.317javac

5.463.818.494.0782.233.736.444.8635.503.182.817.1152.250.962.861.4475.667.357.585.7442.313.507.896.766raytrace

714.182.285.182339.150.375.040753.882.342.071365.761.181.999733.786.020.924328.131.535.386check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

Page 34: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ENERGIA

54.388.72732.446.18954.388.72732.446.189267.249.443175.474.341bubble10

3.175.722.204.2091.507.668.097.2933.283.465.560.1141.570.903.779.1503.656.603.556.8651.749.994.163.998jack

954.804.342.885410.217.751.899979.628.505.307420.385.202.3001.066.864.717.084455.523.309.317javac

5.463.818.494.0782.233.736.444.8635.503.182.817.1152.250.962.861.4475.667.357.585.7442.313.507.896.766raytrace

714.182.285.182339.150.375.040753.882.342.071365.761.181.999733.786.020.924328.131.535.386check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

2.08 x

Page 35: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ENERGIA

54.388.72732.446.18954.388.72732.446.189267.249.443175.474.341bubble10

3.175.722.204.2091.507.668.097.2933.283.465.560.1141.570.903.779.1503.656.603.556.8651.749.994.163.998jack

954.804.342.885410.217.751.899979.628.505.307420.385.202.3001.066.864.717.084455.523.309.317javac

5.463.818.494.0782.233.736.444.8635.503.182.817.1152.250.962.861.4475.667.357.585.7442.313.507.896.766raytrace

714.182.285.182339.150.375.040753.882.342.071365.761.181.999733.786.020.924328.131.535.386check

PipelineMulticicloPipelineMulticicloPipelineMulticiclo

Cinco célulasTrês célulasUma célula

2.10 x

Page 36: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ENERGIA MÉDIA

0

5E+12

1E+13

1,5E+13

2E+13

2,5E+13

1 2 3 4 5

Multiciclo

Pipeline

Células

Page 37: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ENERGIA PENALIDADE POR BRANCHES NA ROM

Células 0

5.000.000.000.000

10.000.000.000.000

15.000.000.000.000

20.000.000.000.000

25.000.000.000.000

1 2 3 4 5

Penalidade 100%Penalidade 50%Penalidade 0%Multiciclo

Células

Page 38: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

POTÊNCIA

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1 2 3 4 5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

Page 39: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

3. RESULTADOS

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1 2 3 4 5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

5.09 Vezes

POTÊNCIA

Page 40: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

3. RESULTADOS

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1 2 3 4 5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

3.88 Vezes

POTÊNCIA

Page 41: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

3. RESULTADOSENERGIA X DESEMPENHO

0

1.000.000.000

2.000.000.000

3.000.000.000

4.000.000.000

5.000.000.000

6.000.000.000

raytrace mpegaudio mtrt jack

Ciclos Multiciclo 5 células

Ciclos Pipeline 1 célula

Energia Multiciclo 5 células

Energia Pipeline 1 célula

Page 42: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

3. RESULTADOSENERGIA X DESEMPENHO

0

5.000

10.000

15.000

20.000

25.000

30.000

binary_search seq_search bubble10 quick10 select10

Ciclos Multiciclo 5 célulasCiclos Pipeline 1 célulaEnergia Multiciclo 5 célulasEnergia Pipeline 1 célula

RESULTADOS

Page 43: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

ÁREA

VLIW 2

PipelineFEMTOJAVA PIPELINE + REC. ARRAY4 células 5 diferentes reconfigurações

Multiciclo

Page 44: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

VLIW 2

Pipeline

PIPELINE

D.I.M.

ARRAY RECONFIGURÁVEL

CACHE

DADOS

CACHE RECONFIGURAÇÕESMulticiclo

ÁREA

Page 45: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

VLIW 2

Pipeline

D.I.M.

ARRAY RECONFIGURÁVEL

CACHE

DADOS

CACHE RECONFIGURAÇÕES

Multiciclo

REDUÇÃODE

ÁREA!!!

Multiciclo

ÁREA

Page 46: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

RESULTADOS

VLIW 2

Pipeline

D.I.M. CACHE

DADOS

CACHE RECONFIGURAÇÕES

Multiciclo

REDUÇÃODE

ÁREA!!!

Multiciclo

Cél

ula

Cél

ula

Cél

ula

Cél

ula

ÁREA

Page 47: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

CONCLUSÕES E TRABALHOS FUTUROS

CONCLUSÃO

A inserção de um Array Reconfigurável em um simples microcontrolador, tornando a arquitetura praticamente DataFlow, traz benefícios energéticos consideráveis.

Desconsiderando compromissos com área, pode-se alcançar o mesmo desempenho de um processador mais complexo com um consumo menor de energia.

TRABALHOS FUTUROS

Obtenção dos dados de potência dinâmica e estática do Processador e do Array Reconfigurável em nível gate level.

Page 48: Mateus Beck Rutzig mbrutzig@inf.ufrgsflavio/ensino/cmp237/mateus_apresentac... · 2006. 7. 14. · Estudo do impacto de consumo de potência e desempenho na inserção de umArray

REFERÊNCIAS

-Beck, A. C. S.., Carro, L. “Dynamic Reconfiguration with Binary Translation: Breaking the ILP Barrier with Software Compatibility”. In Design AutomationConference (DAC), 2005

-Gomes,V. F.., Carro,L. “Trading Time and Space on Low Power EmbeddedArchitectures with Dynamic Instruction Merging”. In Journal of Low PowerElectronics Vol.1, 1–10, 2005

- Radhakrishnan, R. Rubio, J. “Characterization of Java Applications at Bytecodeand Ultra-SPARC Machine Code Levels”.