algoritmo adaptativo de substituição de páginas lru-war: exploração do modelo lru com...

28
lgoritmo Adaptativo de Substituição de Págin goritmo Adaptativo de Substituição de Págin LRU-WAR LRU-WAR : Exploração do Modelo LRU : Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais Hugo Henrique Cassett Edson Toshimi Midorik EPUSP - Escola Politécnica da Universidade de São P PCS - Departamento de Engenharia de Computação e Sistemas Digi

Upload: internet

Post on 21-Apr-2015

117 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Algoritmo Adaptativo de Substituição de PáginasAlgoritmo Adaptativo de Substituição de PáginasLRU-WARLRU-WAR: Exploração do Modelo LRU: Exploração do Modelo LRU

com Detecção de Acessos Seqüenciaiscom Detecção de Acessos Seqüenciais

Hugo Henrique CassettariEdson Toshimi Midorikawa

EPUSP - Escola Politécnica da Universidade de São PauloPCS - Departamento de Engenharia de Computação e Sistemas Digitais

Page 2: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Objetivo

Apresentar o LRU-WAR:

Um algoritmo adaptativo de substituição de páginas que visa minimizar as falhas detectadas no algoritmo LRU sem perder a sua simplicidade computacional.

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 3: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Apresentação

• Algoritmos de substituição de páginas

Memória virtual paginada Algoritmo LRU

• Algoritmos adaptativos

Principais propostas e contribuições

• Algoritmo LRU-WAR

Motivação e idéia geral Descrição operacional detalhada Avaliação de desempenho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 4: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Memória Virtual com Paginação

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

4 KBPágina

Área de Swap (Disco)

Memória Principal

Page 5: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Memória Virtual com Paginação

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Problema da Substituição: Qual página

deve ser retirada da memória?

LRUFIFOMRULFU

Page 6: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Algoritmo LRU (Least Recently Used)

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Fila LRU(memória)

ordem decrescente de recência dos acessos

Page 7: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Algoritmo LRU (Least Recently Used)

• Benefícios

Critério de substituição eficiente na maioria dos casos Conceitualmente muito simples Baixo overhead (via aproximações)

• Deficiências

Acessos seqüenciais em um grande número de páginas distintas Acessos dentro de grandes loops Freqüência irregular de acessos a uma mesma página

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 8: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Propriedade da Localidade nos Programas

• Localidade de referências

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 set

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 9: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Algoritmos Adaptativos de Substituição

• 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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 10: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Propostas Adaptativas

• SEQ e EELRU Modelo LRU Identificação de acessos seqüenciais

• LIRS Previsão de acessos baseada na última reutilização de cada página

• ARC e CAR Estratégia do algoritmo 2Q: duas filas para gerenciar a memória Recência e freqüência dos acessos analisadas em conjunto

• DEAR, AFC e UBM Reconhecimento dinâmico de padrões de acesso à memória

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 11: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Proposta LRU-WAR (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 (hits) entre cada falta

O algoritmo verifica a reutilização das páginas carregadas no modelo LRU e compara com o número de faltas de página recentes

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 12: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Área de Trabalho (Working Area)

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 13: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Regiões da Fila LRU

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

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 14: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Tendência Seqüencial

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 15: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Operação Seqüencial

• Á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 seqüencial – maior que o tamanho da área de trabalho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 16: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Estados de Execução Previstos

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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

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)

Page 17: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Pontos de Substituição do LRU-WAR

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 18: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Exemplo de Simulação

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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

Page 19: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Mecanismo para Detecção de Erros

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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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 20: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Versões do Algoritmo LRU-WAR

• 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

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 21: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Metodologia para Avaliação de Desempenho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Programaexecutável

Geradorde traces

arquivo de traces

Simulador

desempenhodos algoritmos

resultados

Page 22: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Simulações Realizadas

• 527 simulações com 7 programas, representados por traces que compõem o pacote VMTrace

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Espresso 77 10, 11, 12, ..., 73, 74, 75 1 66

GCC 458 10, 15, 20, ..., 445, 450, 455 5 90Gnuplot 7718 100, 200, 300, ..., 7500, 7600, 7700 100 77Grobner 67 10, 11, 12, ..., 63, 64, 65 1 56GS 558 10, 15, 20, ..., 545, 550, 555 5 110Lindsay 521 10, 15, 20, ..., 510, 515, 520 5 103P2C 132 10, 15, 20, ..., 120, 125, 130 5 25

527 Total de Simulações

VM

Tra

ce

Simulações Realizadas

Arquivos de Trace

Páginas Distintas

Tamanhos de Memória SimuladosInterv. entre Tamanhos

Número de Simulações

Page 23: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Gráficos de Desempenho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Curvas de Desempenho - GCC.VMTrace

0

5000

10000

15000

20000

25000

30000

100

115

130

145

160

175

190

205

220

235

250

265

280

295

310

325

340

355

370

385

400

415

430

445

Tamanho da memória

mer

o d

e fa

ltas

de

pág

ina

Ótimo

LRU

LRU-WAR

Diferenças Percentuais de Desempenho - GCC.VMTrace

-10,00%

-8,00%

-6,00%

-4,00%

-2,00%

0,00%

2,00%

100

115

130

145

160

175

190

205

220

235

250

265

280

295

310

325

340

355

370

385

400

415

430

445

Tamanho da memória

Dif

eren

ça %

(fa

ltas

de

pág

ina)

LRU

LRU-WAR

Page 24: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Gráficos de Desempenho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Curvas de Desempenho - GNUPLOT.VMTrace

7000

12000

17000

22000

27000

10 300

700

1100

1500

1900

2300

2700

3100

3500

3900

4300

4700

5100

5500

5900

6300

6700

7100

7500

Tamanho da memória

mer

o d

e fa

ltas

de

pág

ina

Ótimo

LRU

LRU-WAR

Diferenças Percentuais de Desempenho - GNUPLOT.VMTrace

-70,00%

-60,00%

-50,00%

-40,00%

-30,00%

-20,00%

-10,00%

0,00%

10,00%

10 300

700

1100

1500

1900

2300

2700

3100

3500

3900

4300

4700

5100

5500

5900

6300

6700

7100

7500

Tamanho da memória

Dif

eren

ça %

(fa

ltas

de

pág

ina) LRU

LRU-WAR

Page 25: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Gráficos de Desempenho

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Curvas de Desempenho - 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

LRU-WAR

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 26: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Resultados Obtidos

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

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%

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.)

-66,22% 5,09%

Page 27: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Conclusão

• Algoritmo LRU-WAR Proposta simples e inédita Cumpre sua meta: é eficiente se acessos seqüenciais predominam Mostra-se confiável: seu pior desempenho constatado é aceitável Overhead discutível

• Trabalhos futuros Adaptação para viabilizá-lo em ambientes com multiprogramação Desenvolvimento e implementação prática da nova estratégia Sistema de gerenciamento de memória completo

• Agradecimentos Scott F. Kaplan (Amherst College) Yannis Smaragdakis (Georgia Institute of Technology)

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP

Page 28: Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais com Detecção de Acessos Seqüenciais

Contato

• Hugo Henrique Cassettari: [email protected]• Edson Toshimi Midorikawa: [email protected]

• ESCOLA POLITÉCNICA DA USPDepartamento de Engenharia de Computação e Sistemas DigitaisLaboratório de Arquitetura e Software BásicoAv. Prof. Luciano Gualberto, travessa 3, 158, Cidade UniversitáriaCEP: 05508-900, São Paulo-SPwww.lasb.pcs.poli.usp.br

I WSO / 2004 – Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais - EPUSP