Escolar Documentos
Profissional Documentos
Cultura Documentos
Processador 35%
Fonte: Verma e Marwedel (2007), Advanced Memory Optimization Techniques for Low-Power Embedded Processors
2
CPU
Cache
0x0fffff
CPU
0x0fffff
Cache Armazena cpias de instrues e dados mais recentemente acessados Gerenciamento mplcito via hardware dedicado
Transparncia
CPU
Cache
0x0fffff
Cache Armazena cpias de instrues e dados mais recentemente acessados Gerenciamento mplcito via hardware dedicado
Transparncia
Arranjo de tag
Arranjo de dados
sense
sense
MUX
= acerto
palavra
+ Sem modificao no SW
6
Arranjo de tag
Arranjo de dados
endereo SPM
sense
sense
MUX
Decodificador de endereos
sense
= acerto
palavra
endereo MP
palavra
MP
+ Sem modificao no SW
SPM
0 1024 2048 Capacidade (bytes) Resultados gerados com CACTI 5.3 4096 8192
GPUs
e.g. Nvidia 8800 (16KB SPM)
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
CPU
0x0fffff 0x100000
10
SPM
CPU + subsistema de memria
Energia por acesso: 0,012 nJ
0x00
Cache
CPU
0x0fffff 0x100000
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
MP
0x0fffff
13
MP
Segmento de texto Segmento de dados estticos Segmento de dados dinmicos
0x0fffff
Segmento de pilha
14
15
Binrio
Segmento de SPM
16
Binrio
Patcher
Binrio
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
0x1003ff
SPM
18
Non-overlaybased (NOB)
SPM
SPM
SPM
SPM
t=0 (carga)
t=1
t=50
t=100 (fim)
19
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
Tipo Cdigo Dados globais escalares Dados globais no-escalares Pilha Heap
Granularidade de cdigo Procedimentos (PR) Blocos bsicos (BB) Traces Menor que BB Mista
21
Tipo Cdigo Dados globais escalares Dados globais no-escalares Pilha Heap Este trabalho
Granularidade de cdigo Procedimentos (PR) Blocos bsicos (BB) Traces Menor que BB Mista
22
Arquivo fonte
Arquivo binrio
(objeto relocvel ou executvel)
Overlay-based (OVB)
23
Arquivo fonte
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)
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.
Steinke (2002a) Angiolini (2004) Mendona (2009) Este Trabalho Kandemir (2001) Steinke (2002b) Udayakumaran (2006)
Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)
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)
Incluso de bibliotecas
14% a mais de economia de energia, em mdia (MENDONA, 2009)
Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)
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)
Incluso de bibliotecas
14% a mais de economia de energia, em mdia (MENDONA, 2009)
Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)
PC PC PC PC PC
BB BB
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)
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)
Janapsatya (2004) Janapsatya (2006) Cho (2007) Egger (2008) Egger (2010)
PC PC PC PC PC
BB BB
BB PR*
Evidncia experimental slida Elementos de biblioteca + Sistema que no dispe de HW especializado Abordagem NOB
31
32
MP
UNA
MP CPU
SPM
Cache
CBA
MP
SPM
33
CPU
MP
Tcnica
Steinke (2002a) Angiolini (2004)
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
CPU
34
35
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
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
37
38
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
Mx. 8K
8
2
16
4
32
8
Associatividade 1 (DM)
Total: 48 caches
40
0.80
0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00
Maior consumo
Menor consumo 41
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
42
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
43
Dados
Cdigo
Apl.
PR PR ou BB
Arquiteturaalvo Bib.
CBA CBA
Bib.
Apl.
Bib.
44
Subsistema de memria
0x00
MP
Procedimento A() { for (..) { ... } ... }
MP
Segmento de SPM
0x0fffff 0x100000
0x1003ff
SPM
Segmento de SPM
0x1003ff
SPM
45
Subsistema de memria
0x00
Subsistema de memria
0x00
MP
Procedimento A() { for (..) for (..) {{ ... } ... }
MP
Procedimento A() { for (..) { ... } ... }
BB
BB
... }
Segmento de SPM
0x0fffff 0x100000
BB
BB
SPM
0x1003ff
SPM
46
Exemplo:
47
Configurao Experimental
Metodologia (para cada programa)
Caches de Referncia
- Via ajuste-fino
- Cdigo e dados (incl. Bib.) - Para 6 capacidades distintas de SPM - Para arquitetura de referncia (FCA) e alvo (CBA) - Via simulao
48
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)
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)
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)
Ocupao (BBA)
Economia de energia (PRA)
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)
Ocupao (BBA)
Economia de energia (PRA)
52
Resultados Experimentais
Sensibilidade da economia ao dimensionamento da SPM
100%
80%
60%
40%
-20%
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
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%
10%
8% 7% 6% 5% 4% 3% 2% 1% 0%
Economia de energia
90%
9%
Etc.
59
Em tempo de Pscompilao
Economia mdia de energia Este trabalho: 15% - 33% (sobre caches pr-ajustadas)
NOB
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
Leve vantagem em [CT/16, CT/4] [CT/16, CT/4] SPM pequena + elementos muito acessados com grande taxa de faltas
63
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
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)