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
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
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
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
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
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
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
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
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
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
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
Á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
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
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
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
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)
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
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
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
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
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
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
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
Nú
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
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
Nú
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
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
Nú
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
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%
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
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
Top Related