51
Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais Análise da Localidade de Programas e Análise da Localidade de Programas e Desenvolvimento de Algoritmos Desenvolvimento de Algoritmos Adaptativos para Substituição de Adaptativos para Substituição de Páginas Páginas

Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Embed Size (px)

Citation preview

Page 1: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Hugo Henrique Cassettari

Orientador: Edson Toshimi Midorikawa

Trabalho de Mestrado, Janeiro de 2004Escola Politécnica da Universidade de São Paulo

Departamento de Engenharia de Computação e Sistemas Digitais

Análise da Localidade de Programas e Análise da Localidade de Programas e Desenvolvimento de Algoritmos Adaptativos para Desenvolvimento de Algoritmos Adaptativos para

Substituição de PáginasSubstituição de Páginas

Page 2: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Algoritmos de substituição de páginas (revisão);

• Localidade de referências;

• Ferramentas desenvolvidas para análise de localidade;

• Algoritmos adaptativos;

• Proposta LRU-WAR;

• Avaliação de desempenho.

Estrutura da Apresentação:Estrutura da Apresentação:

Page 3: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Memória Virtual com Paginação:Memória Virtual com Paginação:

4 KBPágina

Área de Swap (Disco)

Memória Principal

Page 4: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Memória Virtual com Paginação:Memória Virtual com Paginação:

Problema da Substituição: Qual página

deve ser retirada da memória?

Page 5: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• ÓTIMO

• FIFO - Clock

• LRU - LRU-K e 2Q

• MRU

• NRU

Políticas de Substituição de Páginas:Políticas de Substituição de Páginas:

• LFU - FBR

• MFU

• VMIN

• WS

• PFF

Page 6: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Conjunto das páginas requeridas para o processamento de um programa num certo intervalo de tempo.

• Concentração dos acessos realizados à memória em determinadas regiões do espaço de endereçamento utilizado pelo programa;

• Temporal e/ou espacial.

Working SetWorking Set::

Localidade de Referências:Localidade de Referências:

Page 7: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Buscar novos meios para melhorar o desempenho do sistema de memória, através de:

- Estudo e caracterização de localidade de referências;

- Pesquisa de algoritmos adaptativos para substituição de páginas (algoritmos que adaptam o seu comportamento em uma execução).

Objetivo do Trabalho:Objetivo do Trabalho:

Page 8: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Análise da Localidade de Programas:Análise da Localidade de Programas:

• Padrões de acesso à memória;

• Localidades de referência temporais e/ou espaciais;

• Distribuição dos acessos no espaço de endereçamento;

• Freqüência de reutilização das páginas;

• Interação entre páginas (acessos entrelaçados);

• Entre outros dados...

Page 9: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Recência de Reutilização:- Corresponde à recência de reutilização de uma página de memória em relação à reutilização das demais páginas residentes;- É determinada empiricamente pelo número de páginas distintas referenciadas entre dois acessos consecutivos a uma mesma página (IRR / Inter-Reference Recency).

• Distância (ou IRG / Inter-Reference Gap):- Indica o número de acessos ocorridos (tempo virtual) entre duas referências consecutivas a uma mesma página.

Conceitos:Conceitos:

Page 10: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Recência:

• Distância (ou IRG / Inter-Reference Gap):

Exemplo:Exemplo:

A B C B D C E C D E C A D E B C A B E D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

IRR = 4 IRR = 4

A B C B D C E C D E C A D E B C A B E D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

IRG = 10 IRG = 4

Page 11: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Exemplo:

• Fila LRU:

Recência no Modelo LRU:Recência no Modelo LRU:

A B C B D C E C D E C A D E B C A B E D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

IRR = 4 IRR = 4

C E D B A F G H I J K L M N O P Q R S T0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Page 12: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Ferramentas para Análise de Localidade:Ferramentas para Análise de Localidade:

• TelaTrace: Gráficos de acesso bidimensionais.

• Mapa3D: Gráficos de acesso tridimensionais.

• Trace Explorer:- Gráficos de recência dos acessos;- Gráficos de variação da recência dos acessos;- Histogramas de recência dos acessos;- Gráficos de distância entre acessos;- Relatórios estatísticos sobre os traces analisados.

Page 13: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

TelaTraceTelaTrace – Mapa de Acessos: – Mapa de Acessos:

Page 14: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Mapa3DMapa3D – Mapa de Acessos: – Mapa de Acessos:

Page 15: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Mapa3DMapa3D – Mapa de Acessos: – Mapa de Acessos:

Page 16: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

TraceExplorerTraceExplorer – Recência dos Acessos: – Recência dos Acessos:

Page 17: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

TraceExplorerTraceExplorer – Variação da Recência: – Variação da Recência:

Page 18: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

TraceExplorerTraceExplorer – Distância entre Acessos: – Distância entre Acessos:

Page 19: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Adaptam seu comportamento em uma execução;

• Atuam de acordo com as características de acesso à memória detectadas;

• Podem:• Modificar o tamanho da memória utilizada;• Modificar o critério de substituição de páginas;• Modificar os parâmetros associados ao critério vigente;• Modificar as suas próprias regras adaptativas.

Algoritmos Adaptativos de Substituição:Algoritmos Adaptativos de Substituição:

Page 20: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• SEQ e EELRU:- Modelo LRU;- Identificação de acessos seqüenciais.

• LIRS: Previsão de acesso baseada na última reutilização.

• DEAR, AFC e UBM: Procuram reconhecer padrões.

• LRFU: Considera a recência e a freqüência dos acessos.

• ARC: Versão adaptativa do algoritmo 2Q.

Propostas Adaptativas:Propostas Adaptativas:

Page 21: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Proposta LRU-WAR Proposta LRU-WAR (Working Area Restriction)(Working Area Restriction)::

• Como o SEQ e o EELRU procura detectar padrões de acesso seqüenciais;

• Utiliza LRU ou MRU-n;

• Princípio: Analisar a proporção de faltas de página em relação ao número máximo de páginas referenciadas entre cada falta;

• Verifica a reutilização das páginas carregadas no modelo LRU e compara com o número de faltas de página.

Page 22: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Porção inicial da fila LRU em que todas as páginas referenciadas entre duas faltas consecutivas se encontravam no momento do respectivo acesso.

Área de Trabalho (Área de Trabalho (Working AreaWorking Area):):

Posições onde páginas foram acessadas desde a última falta de página

W

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Área de Trabalho (Working Area )

Página MRU Página LRU

...

Fila LRU representando a memória principal

Page 23: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Parâmetro L=MIN[50,M/2]: delimita a região seqüencial;

• Parâmetro C=5: delimita a região protegida.

Regiões da Fila LRU:Regiões da Fila LRU:

C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Região Protegida

Região Seqüencial Região LRU

L

Fila LRU M = 20

Page 24: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Área de trabalho pequena o suficiente para indicar baixa reutilização de páginas.

Tendência Seqüencial:Tendência Seqüencial:

C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Região Protegida

Região Seqüencial Região LRU

L

Fila LRU M = 20

Page 25: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Área de trabalho pequena o suficiente para indicar baixa reutilização de páginas;

• Número de faltas de página – desde o início da tendência – maior que o tamanho da área de trabalho.

Operação Seqüencial:Operação Seqüencial:

C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Região Protegida

Região Seqüencial Região LRU

L

Fila LRU M = 20

Page 26: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Estados de Execução Previstos:Estados de Execução Previstos:

Tendência Original (LRU) Maior que L LRU MTendência Seqüencial Menor ou igual a L LRU MOperação Seqüencial Menor ou igual a L e estável MRU-n W+1

Tamanho da Área de Trabalho

ALGORITMO LRU-WAR

Estado de execução Critério de Substituição

Ponto de Substituição (Posição na Fila LRU)

C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Região Protegida

Região Seqüencial Região LRU

L

Fila LRU M = 20

Page 27: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Pontos de Substituição do LRU-WAR:Pontos de Substituição do LRU-WAR:

W +1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

W LRU

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Exemplo de falta de página em operação seqüencial

L Área de Trabalho

Ponto de Substituição

Fila LRU M = 20

Exemplo de falta de página em tendência original (LRU)

L Área de Trabalho

Ponto de Substituição

Fila LRU M = 20

Page 28: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Identificação e atualização dinâmica da área de trabalho:

Exemplo de Simulação:Exemplo de Simulação:

A B C D E F G H I J K L M N O P Q R S T1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

WA B C D E F G H I J K L M N O P Q R S T1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20FALTA 1

WU B C E A D F G H I J K L M N O P Q R S1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

WU B C E A D F G H I J K L M N O P Q R S1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20FALTA 2

WV B C E U A D F G H I J K L M N O P Q R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

WV B C E U A D F G H I J K L M N O P Q R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU FALTA 3 M = 20

WX B E U V C A D F G H I J K L M N O P Q1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

WX B E U V C A D F G H I J K L M N O P Q1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU FALTA 4 M = 20

WY X E V C B U A D F G H I J K L M N O P1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

WY X E V C B U A D F G H I J K L M N O P1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU FALTA 5 M = 20

WZ X E Y V C B U A D F G H I J K L M N O1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fila LRU M = 20

Page 29: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Tempo de carência antes do início de uma operação seqüencial.

Mecanismo para Detecção de Erros:Mecanismo para Detecção de Erros:

W +1 +2 +3 +4 +5 +6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Área de Trabalho Páginas não substituídas pela

op. seqüencial devido ao

tempo de carência

Ponto de Substituição L

Fila LRU M = 20

Page 30: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Offline:- Completa, mas teórica;- Atualiza a fila LRU após cada acesso à memória.

• Online:- Aproximada, mas factível;- Atualiza a fila LRU somente após uma falta de página.

Versões do Algoritmo LRU-WAR:Versões do Algoritmo LRU-WAR:

Page 31: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Exemplo simplificado de arquivo de traces:

Programaexecutável

Geradorde traces

arquivo de traces

Simulador

desempenhodos algoritmos

resultados

Metodologia para Avaliação de Desempenho:Metodologia para Avaliação de Desempenho:

Page 32: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• 1669 simulações com 26 programas, representados por traces que compõem 3 pacotes: Etch, Lirs e VMTrace.

Simulações Realizadas:Simulações Realizadas:

TOTAL 628 TOTAL 514 TOTAL 527

Acroread 95 2_Pools 99 Espresso 66CC1 71 CPP 24 GCC 90Compress 78 CS 28 Gnuplot 77Go 52 GLI 50 Grobner 56Netscape 51 Multi1 52 GS 110Perl 81 Multi2 56 Lindsay 103Photoshp 60 Multi3 74 P2C 25

Powerpnt 49 PS 61Vortex 42 Sprite 70

Winword 49

Número de Simulações

Pacote LIRS

Número de Simulações

Pacote VMTRACE

Pacote ETCH

Número de Simulações

Page 33: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Resultados / Pacote Lirs:Resultados / Pacote Lirs:

Análise Geral -5,29%

2_Pools 0,00% (. . .) 0,03% (100) 0,00%

CPP -33,89% (50) 0,24% (750) -2,88%

CS -75,57% (1300) 0,00% (1400) -36,40%

GLI -46,56% (1100) 0,00% (. . .) -20,24%

Multi1 -39,13% (1600) 0,00% (. . .) -5,25%

Multi2 -13,41% (2300) 0,70% (1300) -2,28%

Multi3 -8,88% (3500) 0,57% (4700) -1,66%

PS -44,62% (250) 0,00% (. . .) -20,49%

Sprite -2,46% (300) 6,95% (2300) 3,31%

Pacote Lirs -9,54%

-75,57% 6,95%

Lir

s

-75,57% 6,95%

ALGORITMO LRU-WAR: Diferença percentual no número de faltas de página em relação ao algoritmo LRU

Arquivos de Trace

Melhor Caso Pior CasoMédia

Diferença % (Mem.) Diferença % (Mem.)

Page 34: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Padrão de Acessos à Memória / Postgres:Padrão de Acessos à Memória / Postgres:

Page 35: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Gráfico de Desempenho / Postgres:Gráfico de Desempenho / Postgres:

PS.Lirs

3000

4000

5000

6000

7000

8000

9000

10000

50 150

250

350

450

550

650

750

850

950

1050

1150

1250

1350

1450

1550

1650

1750

1850

1950

2050

Tamanho da memória

mer

o d

e fa

ltas

de

pág

ina

Ótimo

LRU

EELRU

LIRS

LRU-WAR

LRU-WAR Online

Page 36: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

LRU-WAR em Relação ao LRU / Postgres:LRU-WAR em Relação ao LRU / Postgres:

Diferenças Percentuais de Desempenho - PS.Lirs

-48%

-44%

-40%

-36%

-32%

-28%

-24%

-20%

-16%

-12%

-8%

-4%

0%

4%

50 250

450

650

850

1050

1250

1450

1650

1850

2050

Tamanho da memória

Dif

eren

ça %

(fa

ltas

de

pág

ina)

LRU

LRU-WAR

Page 37: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Resultados / Pacote Etch:Resultados / Pacote Etch:

Análise Geral -5,29%

Acroread -0,09% (180) 0,51% (400) 0,11%CC1 -0,76% (270) 1,83% (550) 0,28%Compress -75,11% (270) 0,02% (15) -10,34%Go 0,00% (. . .) 0,02% (15) 0,00%Netscape -0,12% (140) 0,74% (300) 0,08%

Perl -1,57% (100) 6,29% (4200) 2,03%Photoshp -1,20% (150) 5,14% (2600) 3,03%

Powerpnt -0,01% (20) 0,14% (100) 0,01%

Vortex -4,33% (3100) 0,49% (1600) -0,72%Winword -0,01% (140) 0,25% (540) 0,04%

Pacote Etch -0,55%

-75,57% 6,95%

Etc

h

-75,11% 6,29%

ALGORITMO LRU-WAR: Diferença percentual no número de faltas de página em relação ao algoritmo LRU

Arquivos de Trace

Melhor Caso Pior CasoMédia

Diferença % (Mem.) Diferença % (Mem.)

Page 38: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Padrão de Acessos à Memória / Vortex:Padrão de Acessos à Memória / Vortex:

Page 39: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Gráfico de Desempenho / Vortex:Gráfico de Desempenho / Vortex:

VORTEX.Etch

4000

9000

14000

19000

24000

29000

1500

1600

1700

1800

1900

2000

2100

2200

2300

2400

2500

2600

2700

2800

2900

3000

3100

3200

3300

3400

3500

3600

3700

Tamanho da memória

mer

o d

e fa

ltas

de

pág

ina

Ótimo

LRU

EELRU

LIRS

LRU-WAR

LRU-WAR Online

Page 40: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

LRU-WAR em Relação ao LRU / Vortex:LRU-WAR em Relação ao LRU / Vortex:

Diferenças Percentuais de Desempenho - VORTEX.Etch

-6%

-4%

-2%

0%

2%

1500

1900

2300

2700

3100

3500

Tamanho da memória

Dif

eren

ça %

(fa

ltas

de

pág

ina)

LRU

LRU-WAR

Page 41: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Resultados / Pacote VMTrace:Resultados / Pacote VMTrace:

Análise Geral -5,29%

Espresso -7,94% (12) 0,02% (27) -0,28%

GCC -9,66% (185) 0,18% (245) -1,24%

Gnuplot -66,22% (7700) -0,53% (100) -33,38%

Grobner -11,75% (28) 1,02% (13) -3,78%

GS -5,61% (155) 5,09% (300) 1,34%

Lindsay -17,38% (. . .) 1,74% (130) -8,60%

P2C -0,72% (50) 0,04% (75) -0,14%

Pacote VMTrace -6,58%

-75,57% 6,95%

VM

Tra

ce

-66,22% 5,09%

ALGORITMO LRU-WAR: Diferença percentual no número de faltas de página em relação ao algoritmo LRU

Arquivos de Trace

Melhor Caso Pior CasoMédia

Diferença % (Mem.) Diferença % (Mem.)

Page 42: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Padrão de Acessos à Memória / GhostScript:Padrão de Acessos à Memória / GhostScript:

Page 43: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Gráfico de Desempenho / GhostScript:Gráfico de Desempenho / GhostScript:

GS.VMTrace

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

145

160

175

190

205

220

235

250

265

280

295

310

325

340

355

370

385

400

415

430

445

460

475

490

505

520

Tamanho da memória

mer

o d

e fa

ltas

de

pág

ina

Ótimo

LRU

EELRU

LIRS

LRU-WAR

LRU-WAR Online

Page 44: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

LRU-WAR em Relação ao LRU / GhostScript:LRU-WAR em Relação ao LRU / GhostScript:

Diferenças Percentuais de Desempenho - GS.VMTrace

-6%

-3%

0%

3%

6%

145

165

185

205

225

245

265

285

305

325

345

365

385

405

425

445

465

485

505

Tamanho da memória

Dif

eren

ça %

(fa

ltas

de

pág

ina)

LRU

LRU-WAR

Page 45: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Grau de Otimalidade das Substituições:Grau de Otimalidade das Substituições:

Grau de Otimalidade das Substituições de Página LRU(GROBNER.VMTrace - memória de tamanho 28)

0

1000

2000

3000

4000

5000

6000

1 3 5 7 9 11 13 15 17 19 21 23 25 27

Índice Decrescente de Otimalidade

Qtd

. de

Pág

inas

Su

bst

itu

ídas

Grau de Otimalidade das Substituições de Página LRU-WAR(GROBNER.VMTrace - memória de tamanho 28)

0

1000

2000

3000

4000

5000

6000

1 3 5 7 9 11 13 15 17 19 21 23 25 27

Índice Decrescente de Otimalidade

Qtd

. de

Pág

inas

Su

bst

itu

ídas

Page 46: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Pontos Ótimos de Substituição:Pontos Ótimos de Substituição:

Page 47: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

Pontos Ótimos de Substituição:Pontos Ótimos de Substituição:

Posição na Fila LRU dos Pontos Ótimos de Substituição(Simulação LRU - GROBNER.VMTrace - memória de tamanho 28)

0

500

1000

1500

2000

2500

3000

3500

4000

1 3 5 7 9 11 13 15 17 19 21 23 25 27

Posição na Fila LRU

Qu

anti

dad

e d

e P

on

tos

Óti

mo

s

Page 48: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• É possível reconhecer certos padrões de acesso à memória dinamicamente, somente observando as posições na fila LRU das páginas referenciadas;

• O algoritmo LRU-WAR é uma proposta inédita e viável;

• O algoritmo cumpre sua meta: é uma variação do LRU que alcança excelentes desempenhos quando padrões de acesso seqüenciais predominam em um programa;

• Por outro lado, o algoritmo se mostra confiável: seu desempenho não foi significativamente pior que o do LRU original em nenhum caso analisado.

Conclusões:Conclusões:

Page 49: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Descrição compilada dos principais algoritmos de substituição de páginas, estáticos e adaptativos;

• Desenvolvimento de ferramentas para análise de localidade e caracterização de programas: TelaTrace, Mapa3D e Trace Explorer;

• Apresentação de um novo algoritmo adaptativo, o LRU-WAR, nas versões online e offline;

• Avaliação de desempenho das principais propostas adaptativas, com a criação de simuladores de sistemas de memória e análise sobre os resultados obtidos.

Principais Contribuições:Principais Contribuições:

Page 50: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento

• Aperfeiçoamento do algoritmo LRU-WAR, utilizando técnicas de IA e/ou diretivas inseridas pelo compilador;

• Tentativa de se chegar a um “meta-algoritmo”;

• Gerência do particionamento dinâmico da memória entre os processos;

• Implementação prática do novo sistema de gerenciamento de memória em um SO (Linux);

• Estudos complementares (locality surfaces, experimentação com outros traces, etc.).

Trabalhos Futuros:Trabalhos Futuros:

Page 51: Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento