You are on page 1of 67

Gerenciamento Explcito de Memria Auxiliar a partir de Arquivos-objeto para Melhoria da Eficincia Energtica de Sistemas Embarcados

Daniel Pereira Volpato


Orientador: Jos Lus Almada Gntzel, Dr. Membros da Banca: Fernando Gehm Moraes, Dr. Cesar Albenes Zeferino, Dr. Luiz Cludio Villar dos Santos, Dr. (co-orientador)

Eficincia energtica de um sistema embarcado


Subsistema de memria o grande responsvel pelo consumo de energia

Consumo de energia para um ARM monoprocessado (com I-cache, Dcache e SPM)

Processador 35%

Subsistema de Memria 65%

Fonte: Verma e Marwedel (2007), Advanced Memory Optimization Techniques for Low-Power Embedded Processors
2

Eficincia energtica de um sistema embarcado


CPU + subsistema de memria
Energia por acesso: 0,012 nJ
0x00

CPU

Cache

Energia por acesso: 3,37 nJ

Memria Principal (MP)

Cache Armazena cpias de instrues e dados mais recentemente acessados

0x0fffff

Eficincia energtica de um sistema embarcado


CPU + subsistema de memria
0x00

CPU

Memria Principal (MP)

0x0fffff

Cache Armazena cpias de instrues e dados mais recentemente acessados Gerenciamento mplcito via hardware dedicado
Transparncia

Eficincia energtica de um sistema embarcado


CPU + subsistema de memria
Energia por acesso: 0,012 nJ
0x00

CPU

Cache

Energia por acesso: 3,37 nJ

Memria Principal (MP)

0x0fffff

Cache Armazena cpias de instrues e dados mais recentemente acessados Gerenciamento mplcito via hardware dedicado
Transparncia

Como melhorar a eficincia energtica deste sistema?


5

Gerenciamento implcito vs. explcito


Cache
tag ndice palavra

Arranjo de tag

Arranjo de dados

sense

sense
MUX

= acerto

palavra

- HW dedicado (70% energia de


proc. embarcado, DALLY (2008))

+ Sem modificao no SW
6

Gerenciamento implcito vs. explcito


Cache
tag ndice palavra

Memria de rascunho (SPM)


SPM
Arranjo de dados

Arranjo de tag

Arranjo de dados

endereo SPM

sense

sense
MUX

Decodificador de endereos

sense

= acerto

palavra

endereo MP

palavra

MP

- HW dedicado (70% energia de


proc. embarcado, DALLY (2008))

+ Sem modificao no SW

+ No exige HW dedicado - Exige modificao no SW


7

SPM vs. Caches


Energia por acesso (32 nm)
6

5 Energia por acesso (pJ)

Cache 8-way Cache 4-way Cache 2-way Cache DM

SPM

0 1024 2048 Capacidade (bytes) Resultados gerados com CACTI 5.3 4096 8192

Exemplos de sistemas com SPMs


Processadores embarcados
e.g. ARMs, Motorola Mcore, TI TMS370C

GPUs
e.g. Nvidia 8800 (16KB SPM)

Plataformas para multimdia


e.g. DaVinci TMS320DM646x SOC

Network processors
e.g. Intel IXP

Video-games
e.g. PlayStation 2 (Emotion Engine), PlayStation 3 (Cell Broadband Engine )

Etc.

SPM
CPU + subsistema de memria
Energia por acesso: 0,012 nJ
0x00

Cache

Energia por acesso: 3,37 nJ

Memria Principal (MP)

CPU
0x0fffff 0x100000

SRAM, pequena, on-chip Espao de endereamento disjunto da MP Eficincia de rea e potncia

Energia por acesso: 0,005 nJ


0x1003ff

Memria de rascunho (SPM)

10

SPM
CPU + subsistema de memria
Energia por acesso: 0,012 nJ
0x00

Cache

Energia por acesso: 3,37 nJ

Memria Principal (MP)

Gerenciamento geralmente via instrumentao do cdigo

CPU
0x0fffff 0x100000

Energia por acesso: 0,005 nJ


0x1003ff

Memria de rascunho (SPM)

Como realizar a alocao em SPM para minimizar o consumo de energia?

11

Sumrio
Tcnicas de Alocao em SPM Trabalhos Correlatos Contribuies cientficas e tcnicas Ajuste-fino das memrias cache Extenso para suporte alocao de blocos bsicos Resultados experimentais Concluses e Perspectivas

12

Tcnicas de Alocao em SPM


Carga de um programa para a memria
Segmentos so copiados para o espao de endereamento da MP

Subsistema de memria Programa


Segmento de texto
0x00

MP

Segmento de dados estticos

0x0fffff

13

Tcnicas de Alocao em SPM


Carga de um programa para a memria
Segmentos so copiados para o espao de endereamento da MP Aps o segmento de dados estticos, iniciam os segmentos de tamanho varivel

Subsistema de memria Programa


Segmento de texto
0x00

MP
Segmento de texto Segmento de dados estticos Segmento de dados dinmicos

Segmento de dados estticos

0x0fffff

Segmento de pilha

14

Tcnicas de Alocao em SPM


Alocao em SPM
1. Seleo dos elementos de programas

Exemplo usando abordagem NOB (non-overlay based)


Binrio
Elementos Selecionados

15

Tcnicas de Alocao em SPM


Alocao em SPM
1. Seleo dos elementos de programas 2. Alocao no espao de SPM

Exemplo usando abordagem NOB (non-overlay based)


Binrio
Elementos Selecionados

Binrio

Segmento de SPM
16

Tcnicas de Alocao em SPM


Alocao em SPM
1. Seleo dos elementos de programas 2. Alocao no espao de SPM 3. Ajuste (patching) em endereos que apontavam para os alocados
Exemplo usando abordagem NOB (non-overlay based)
Binrio
Elementos Selecionados Segmento de SPM Segmento de SPM
17

Binrio
Patcher

Binrio

Tcnicas de Alocao em SPM


Alocao em SPM
Exemplo usando abordagem NOB (non-overlay based) Subsistema de memria Programa
0x00

MP
Segmento de texto Segmento de dados estticos Segmento de dados dinmicos

Segmento de SPM

Carga de um programa consciente de SPM para a memria Elementos selecionados so copiados para o espao da SPM Os demais elementos para a MP

0x0fffff 0x100000

Segmento de pilha Segmento de SPM

0x1003ff

SPM

18

Tcnicas de Alocao em SPM


Abordagem NOB vs. OVB
MP MP MP MP

Non-overlaybased (NOB)

SPM

SPM

SPM

SPM

t=0 (carga)

t=1

t=50

t=100 (fim)

19

Tcnicas de Alocao em SPM


Abordagem NOB vs. OVB
MP MP MP MP

Non-overlaybased (NOB)

SPM

SPM

SPM

SPM

t=0 (carga)
MP

t=1
MP

t=50
MP

t=100 (fim)
MP

Overlaybased (OVB)

SPM

SPM

SPM

SPM

20

Tcnicas de Alocao em SPM


Elementos
Granularidade de dados noescalares Plena Blocos

Tipo Cdigo Dados globais escalares Dados globais no-escalares Pilha Heap

Origem De aplicativo De biblioteca

Granularidade de cdigo Procedimentos (PR) Blocos bsicos (BB) Traces Menor que BB Mista

21

Tcnicas de Alocao em SPM


Elementos
Granularidade de dados noescalares Plena Blocos

Tipo Cdigo Dados globais escalares Dados globais no-escalares Pilha Heap Este trabalho

Origem De aplicativo De biblioteca

Granularidade de cdigo Procedimentos (PR) Blocos bsicos (BB) Traces Menor que BB Mista

22

Tcnicas de Alocao em SPM


Outras caractersticas
Fase de Alocao Em Tempo de Compilao (CT) Em Tempo de Ps-compilao (PC) Arquivo de entrada Abordagem

Arquivo fonte

Non-overlay based (NOB)

Arquivo binrio
(objeto relocvel ou executvel)

Overlay-based (OVB)

23

Tcnicas de Alocao em SPM


Outras caractersticas
Fase de Alocao Em Tempo de Compilao (CT) Em Tempo de Ps-compilao (PC) Este trabalho Arquivo de entrada Abordagem

Arquivo fonte

Non-overlay based (NOB)

Arquivo binrio
(objeto relocvel ou executvel)

Overlay-based (OVB)

24

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

BB PR*

25

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

OVB tem dominado

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

BB PR*

26

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

OVB tm dominado CT (tempo de compilao)


Economia de energia limitada: ignora elementos de bibliotecas

Incluso de bibliotecas
14% a mais de economia de energia, em mdia (MENDONA, 2009)

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

BB PR*

27

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

OVB tm dominado CT (tempo de compilao)


Economia limitada: no considera elementos de bibliotecas

Incluso de bibliotecas
14% a mais de economia de energia, em mdia (MENDONA, 2009)

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

Para considerar bibliotecas PC (ps-compilao)

BB PR*

28

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

OVBs em PC
Bibliotecas Ou exigem HW dedicado Ou no exigem HW mas s alocam cdigo

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

BB PR*

29

Trabalhos Correlatos
Tcnica Abordagem NOB NOB NOB NOB OVB OVB OVB Dados Global Global noFase escalar escalar Apl. Bib. Apl. Bib. CT PC PC PC CT CT CT PR e BB PR e BB Cdigo Apl. PR e BB BB (e menor) PR PR ou BB Bib.

Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)

NOBs em PC Bibliotecas Sem HW extra Cdigo + dados OVBs em PC


Bibliotecas Ou exigem HW dedicado Ou no exigem HW mas s alocam cdigo

Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

OVB OVB OVB OVB OVB

PC PC PC PC PC

BB BB

BB PR*

Reavaliao experimental da abordagem NOB


30

Contribuies cientficas deste trabalho


Reavaliao experimental da abordagem non-overlay-based (NOB)
A partir do pr-ajuste de caches NOB no est suplantada pela abordagem overlay-based (OVB)

Evidncia experimental slida Elementos de biblioteca + Sistema que no dispe de HW especializado Abordagem NOB

31

Contribuies tcnicas deste trabalho


Ajuste-fino de caches
Implementao da tcnica de Viana (2006) Adaptao desta infraestrutura experimental

Granularidade de blocos bsicos (BBs)


Extenso da tcnica de Mendona (2009) Como alternativa granularidade de procedimentos

32

Arquitetura-alvo do Subsistema de Memria


FCA
CPU
Cache

MP

UNA

MP CPU
SPM

Cache

CBA

MP
SPM
33

CPU

Arquitetura-alvo do Subsistema de Memria


FCA
CPU
Cache

MP

Tcnica
Steinke (2002a) Angiolini (2004)

AbordaArquiteturaFase gem alvo


NOB NOB CT PC UNA CBA

Arquitetura de referncia

Mendona (2009)

NOB
NOB OVB OVB OVB OVB OVB OVB OVB OVB

PC
PC CT CT CT PC PC PC PC PC

CBA
CBA CBA UNA UNA UNA UNA CBA CBA UNA e CBA

UNA

MP CPU
SPM

Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006) Janapsatya (2004)

Arquitetura-alvo

Cache

CBA

MP
SPM

Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)

CPU

34

Influncia das caches no consumo de energia


Sensibilidade do subsistema de memria configurao das caches
Ajuste dos parmetros de cache configurvel: 40% de economia (ZHANG, 2003)

Ajuste do tamanho de bloco de cache de dados: 60% de economia (ZHANG, 2005)

35

Influncia das caches


UNA vs. CBA
CPU

MP
SPM

Cache
CPU

MP
SPM

Economia UNAs* Steinke (2002a): 30% Verma (2007): 20% Egger (2010): 21%
* Referncia: FCA

Economia CBAs* Cho (2007): 8% Egger (2008): 14% Egger (2010): 24%
Sistema embarcado diferente

36

Influncia das caches


UNA vs. CBA
CPU

MP
SPM

Cache
CPU

MP
SPM

Economia UNAs* Steinke (2002a): 30% Verma (2007): 20% Egger (2010): 21%
* Referncia: FCA

Economia CBAs* Cho (2007): 8% Egger (2008): 14% Egger (2010): 24%
Sistema embarcado diferente

Caches de referncia no ajustadas Arquitetura-alvo: cache de referncia substituda por SPM Economia superestimada

Caches ainda no ajustadas Economia ainda superestimada

37

Ajuste-fino das caches


Para comparao mais justa entre as tcnicas ajuste-fino das caches (referncia e arquitetura-alvo) Tcnicas de ajuste-fino
Estimar o comportamento de conjunto de uma ou mais caches para uma determinada aplicao Trace-driven Determinao do conjunto: variao de parmetros da cache
Mais importantes: capacidade, tamanho de bloco e associatividade (ZHANG; VAHID, 2003)

Passagem: nica ou mltipla

38

Ajuste-fino das caches


Tcnica implementada: Viana (2006) Passagem nica Parmetros: capacidade, tamanho de bloco e associatividade Funcionamento:
1. Para cada endereo acessado
a) Estima o nmero de conflitos que ocorreram no seu conjunto da cache, desde a ltima vez em que foi acessado

2. Calcula o nmero de acertos para cada configurao de cache 3. Estima o consumo de energia para cada configurao, utilizando o nmero de acertos

39

Ajuste-fino das caches


Espao de projeto considerado

Min. Capacidade (B) 1K 2K 4K

Mx. 8K

Tamanho de bloco (B)

8
2

16
4

32
8

Associatividade 1 (DM)

Total: 48 caches

40

Ajuste-fino das caches


Variao do consumo de energia (I-cache)
Config. de maior consumo x Config. de menor consumo
1.00 0.90 Consumo de energia normalizado

0.80
0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00

Maior consumo

Menor consumo 41

Ajuste-fino das caches


Resultado
Programa
basicmath bitcount qsort susan (edges) susan (smoothing) jpeg stringsearch dijkstra blowfish (enc) blowfish (dec) rijndael (enc) rjindael (dec) sha crc32 FFT IFFT ADPCM (enc) ADPCM (dec) GSM (toast) GSM (untoast) 4K 1K 8K 8K 1K 4K 4K 2K 4K 4K 8K 8K 1K 1K 4K 4K 1K 1K 2K 2K

I-cache
1w 1w 2w 2w 1w 2w 2w 1w 2w 1w 2w 4w 1w 1w 2w 2w 1w 1w 1w 1w 16 8 16 16 8 8 8 8 8 8 16 8 8 8 8 8 8 8 8 8 1K 1K 1K 2K 2K 8K 4K 8K 8K 8K 8K 8K 1K 4K 1K 1K 4K 4K 2K 4K

D-cache
1w 1w 2w 1w 2w 2w 2w 2w 1w 1w 2w 2w 1w 2w 1w 1w 1w 1w 1w 1w 8 8 8 8 8 16 8 16 8 8 16 8 16 8 8 8 8 8 8 8

Como correlacionar as caches pr-ajustadas com a capacidade da SPM?

42

Ajuste-fino das caches


Resultado
Programa
basicmath bitcount qsort susan (edges) susan (smoothing) jpeg stringsearch dijkstra blowfish (enc) blowfish (dec) rijndael (enc) rjindael (dec) sha crc32 FFT IFFT ADPCM (enc) ADPCM (dec) GSM (toast) GSM (untoast) 4K 1K 8K 8K 1K 4K 4K 2K 4K 4K 8K 8K 1K 1K 4K 4K 1K 1K 2K 2K

I-cache
1w 1w 2w 2w 1w 2w 2w 1w 2w 1w 2w 4w 1w 1w 2w 2w 1w 1w 1w 1w 16 8 16 16 8 8 8 8 8 8 16 8 8 8 8 8 8 8 8 8 1K 1K 1K 2K 2K 8K 4K 8K 8K 8K 8K 8K 1K 4K 1K 1K 4K 4K 2K 4K

D-cache
1w 1w 2w 1w 2w 2w 2w 2w 1w 1w 2w 2w 1w 2w 1w 1w 1w 1w 1w 1w 8 8 8 8 8 16 8 16 8 8 16 8 16 8 8 8 8 8 8 8

CT
32K 2K 16K 16K 4K 16K 32K 16K 16K 16K 16K 32K 2K 8K 32K 32K 8K 8K 8K 16K

Como correlacionar as caches pr-ajustadas com a capacidade da SPM?


Cache equivalente unificada (I-cache, D-cache) Capacidade da SPM um mltiplo de CT:

43

Tcnica NOB utilizada


Extenso da tcnica de Mendona (2009)
Suporte granularidade de BBs (exclusiva de procedimentos) Avaliao do impacto da granularidade na economia de energia

Dados

Tcnica Abordagem Fase Global escalar Global noescalar Apl.


Mendona (2009) Este Trabalho NOB NOB PC PC

Cdigo
Apl.
PR PR ou BB

Arquiteturaalvo Bib.
CBA CBA

Bib.

Apl.

Bib.

44

Extenso da Tcnica NOB


Alocao de Procedimentos
Antes da alocao em SPM
Programa
Procedimento A() { for (..) { ... } ... }

Depois da alocao em SPM


Programa Subsistema de memria
0x00

Subsistema de memria
0x00

MP
Procedimento A() { for (..) { ... } ... }

MP

Segmento de SPM

0x0fffff 0x100000

Procedimento A() { for (..) { ... } ... }

0x0fffff 0x100000 Procedimento A() {


for (..) { ... } ... }

0x1003ff

SPM

Segmento de SPM

0x1003ff

SPM

45

Extenso da Tcnica NOB


Alocao de Blocos bsicos
Antes da alocao em SPM
Programa
Procedimento A() { for (..) for (..) {{ ... } ... }

Depois da alocao em SPM


Programa
Procedimento A() {

Subsistema de memria
0x00

Subsistema de memria
0x00

MP
Procedimento A() { for (..) for (..) {{ ... } ... }

MP
Procedimento A() { for (..) { ... } ... }

BB

BB

... }

Segmento de SPM

0x0fffff 0x100000

for (..) { ... }

BB

0x0fffff 0x100000 for (..) {


... }

BB

Segmento de SPM 0x1003ff

SPM

0x1003ff

SPM

46

Extenso da Tcnica NOB


Suporte a Blocos bsicos
BBs: 4 casos possveis
Presena ou no de instrues de desvio condicional ou incondicional

Exemplo:

47

Configurao Experimental
Metodologia (para cada programa)
Caches de Referncia
- Via ajuste-fino

Cache pr-ajustada equivalente unificada

- Base para dimensionamento da SPM

Alocao (NOB) em SPM

- Cdigo e dados (incl. Bib.) - Para 6 capacidades distintas de SPM - Para arquitetura de referncia (FCA) e alvo (CBA) - Via simulao
48

Estimativa do consumo de energia

Configurao Experimental
CPU e Memrias
I-Cache MP
CPU D-Cache
SPM

CPU: MIPS (sem ponto-flutuante) ADL ArchC MP: Micron MT48H8-M16LF low-power SDRAM Cho (2007), Egger (2008, 2010), Deng (2009), Kannan (2009)

Caches e SPMs: energia e tempo de acesso Ferramenta CACTI 5.3


49

Configurao Experimental
Gerao de Experimentos
Alocao de Blocos Bsicos (BBA) Alocao de Procedimentos (PRA) Programa CT/16 CT/8 CT/4 CT/2 CT 2CT CT/16 CT/8 CT/4 CT/2 CT 2CT basicmath bitcount qsort susan (edges) susan (smoothing) jpeg stringsearch dijkstra blowfish (enc) blowfish (dec) rijndael (enc) rjindael (dec) sha crc32 FFT IFFT ADPCM (enc) ADPCM (dec) GSM (toast) GSM (untoast)

20 programas
(MiBench)

6 capacidades de SPM 2 polticas de alocao 240 casos avaliados


Superior maioria dos trabalhos de alocao em SPM
50

Resultados Experimentais
Economia de energia mdia e Ocupao mdia da SPM
100% Economia de energia sobre a referncia Ocupao normalizada para capacidade da SPM 90% 80% 70%
Ocupao (PRA)

60% 50% 40% 30%


Economia de energia (BBA)

Ocupao (BBA)
Economia de energia (PRA)

20% 10% 0% CT/16 CT/8 CT/4 CT/2 Capacidade da SPM CT 2CT

51

Resultados Experimentais
Economia de energia mdia e Ocupao mdia da SPM
100% Economia de energia sobre a referncia Ocupao normalizada para capacidade da SPM 90% 80% 70%
Ocupao (PRA)

60% 50% 40% 30%


Economia de energia (BBA)

Ocupao (BBA)
Economia de energia (PRA)

20% 10% 0% CT/16 CT/8 CT/4 CT/2 Capacidade da SPM CT 2CT

52

Resultados Experimentais
Sensibilidade da economia ao dimensionamento da SPM
100%

80%

60%

40%

20% Diferena mdia 0%

-20%

-40% Menor economia (PRA) Maior economia (PRA) 53

Resultados Experimentais
Poltica de alocao de maior eficincia energtica
BBA vs. PRA (por caso avaliado)
Programa basicmath bitcount qsort susan (edges) susan (smoothing) jpeg stringsearch dijkstra blowfish (enc) blowfish (dec) rijndael (enc) rjindael (dec) sha crc32 FFT IFFT ADPCM (enc) ADPCM (dec) GSM (toast) GSM (untoast) BBA CT/16 CT/8 CT/4 CT/2 CT 2CT

20%

PRA

61%

Empate

19%
54

Resultados Experimentais
Poltica de alocao de maior eficincia energtica
BBA vs. PRA (por programa)
Maior economia de energia (normalizada) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% BBA PRA

BBA > PRA

BBA = PRA

PRA > BBA


55

Resultados Experimentais
Capacidade tima da SPM
Capacidade de SPM que levou maior nmero de programas ao menor consumo de energia
20 18 Quantidade de programas 16 14 12 10 8 6 4 2 0 CT/16 CT/8 CT/4 CT/2 Capacidade da SPM (CSPM) CT 2CT

56

Resultados Experimentais:
Capacidade tima da SPM
Considerando-se intervalos de capacidades
20 18 16 Quantidade de programas 14 12 10 8 6 4 2 0 [CT/16, CT/4] [CT/4, CT/2] [CT/2, CT] Capacidade da SPM (CSPM) [CT, 2CT]

57

Resultados Experimentais:
Correlao entre taxa de faltas e capacidade da SPM
100%

Para SPMs grandes (CT)

10%

Economia de energia normalizada

80% 70% 60% 50% 40% 30% 20% 10% 0%

8% 7% 6% 5% 4% 3% 2% 1% 0%

Economia de energia

_ Taxa de faltas global (m)


58

Taxa de faltas global dos candidatos

90%

9%

Comparao com Trabalhos Correlatos


Dificuldade na comparao direta configurao experimental equivalente
Processador: ISA, ponto-flutuante, ... MP: tipo (on-chip, off-chip), organizao, energia por acesso Biblioteca libc

Etc.

59

Comparao com Trabalhos Correlatos


Este trabalho (economia de memria)
Arquitetura Abordagem CBA
(MP + cache + SPM)

Em tempo de Pscompilao

Economia mdia de energia Este trabalho: 15% - 33% (sobre caches pr-ajustadas)

NOB

Outros (economia total)


Arquitetura Abordagem CBA
(MP + cache + SPM)

Em tempo de Pscompilao Compilao

Economia mdia de energia Cho (2007): 8% Egger (2008): 14% Egger (2010): 24% Steinke (2002a): 30% Verma (2004b): 34% Udayakumaran (2006): 31%
60

OVB

UNA
(MP + SPM)

OVB

Compilao

Concluses
Evidncia experimental slida 20 programas de benchmark 240 casos avaliados Apenas Falk (2009) apresenta nmero superior

Ajuste-fino das caches Economia de: 88% (instrues) 80% (dados) Pode ser suficiente para alguns programas
Economia mnima via SPM

61

Concluses
Cache pr-ajustada equivalente unificada (CT) Correlao com capacidade da SPM
Generalidade da anlise Sem influncia da seleo dos programas e capacidade de SPM

Dimensionamento da SPM Capacidades: Economia mdia dobrou: 15% (CT/16) 33% (CT) Faixa de maior economia: [CT/2, CT]
62

Concluses
Eficincia Energtica da Poltica de Alocao
PRA (procedimentos) vs. BBA (blocos bsicos)
Caracterstica PRA BBA

Eficincia energtica (em mdia) Ocupao da SPM em 100% Escopo de aplicao

Melhor [CT/16, CT/2]

Leve vantagem em [CT/16, CT/4] [CT/16, CT/4] SPM pequena + elementos muito acessados com grande taxa de faltas
63

SPM grande e na maioria dos programas

Concluses
Abordagem NOB em tempo de ps-compilao (PC) Comparada com OVBs para PC:
Economia melhor ou to boa quanto Simplicidade Possibilita maiores economias sem HW dedicado incluso de bibliotecas

64

Publicaes oriundas deste trabalho


Extenso da tcnica de Mendona (2009) para suporte alocao de BBs
VOLPATO, D. P.; MENDONA, A. K. I.; SANTOS, L. C. V. dos; GNTZEL, J. L. A post-compiling approach that exploits code granularity in scratchpads to improve energy efficiency. Publicado no ISVLSI 2010

Reavalio experimental da abordagem NOB via ajuste-fino (submetido)


VOLPATO, D. P.; MENDONA, A. K. I.; GNTZEL, J. L.; SANTOS, L. C. V. dos. Cache-tuning-aware scratchpad allocation from binaries: a fresh perspective on an undervalued approach. Submetido ao GLSVLSI 2011
65

Perspectiva
Procedure outlining Traz para PRA as vantagens de BBA Deve possibilitar maior economia Tcnica mista: Compilao e Ps-compilao Em tempo de compilao Suporte a dados dinmicos (e.g. pilha) Aumenta espao de otimizao (dados dinmicos de aplicao) Mantm independncia de HW dedicado

66

Gerenciamento Explcito de Memria Auxiliar a partir de Arquivos-objeto para Melhoria da Eficincia Energtica de Sistemas Embarcados
Daniel Pereira Volpato
Orientador: Jos Lus Almada Gntzel, Dr. Membros da Banca: Fernando Gehm Moraes, Dr. Cesar Albenes Zeferino, Dr. Luiz Cludio Villar dos Santos, Dr. (co-orientador)

You might also like