Algoritmo Adaptativo de Substituição de Páginas LRU-WAR: Exploração do Modelo LRU com Detecção de Acessos Seqüenciais Hugo Henrique Cassettari Edson Toshimi Midorikawa EPUSP - Escola Politécnica da Universidade de São Paulo PCS - 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 Página 4 KB Área de Swap (Disco) Memória Principal 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 Problema da Substituição: Qual página deve ser retirada da memória? LRU FIFO MRU LFU 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 Algoritmo LRU (Least Recently Used) ordem decrescente de recência dos acessos Fila LRU (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 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 Posições onde páginas foram acessadas desde a última falta de página Área de Trabalho (Working Area ) Página MRU Página LRU ... W 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Fila LRU representando a memória principal 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 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 Região Protegida L Região Seqüencial Região LRU C 1 2 3 Fila LRU 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 Tendência Seqüencial • Área de trabalho pequena o suficiente para indicar baixa reutilização de páginas Região Protegida L Região Seqüencial Região LRU C 1 2 3 Fila LRU 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 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 Região Protegida L Região Seqüencial Região LRU C 1 2 3 Fila LRU 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 Estados de Execução Previstos Estado de execução Tendência Original (LRU) Tendência Seqüencial Operação Seqüencial ALGORITMO LRU-WAR Tamanho da Área de Critério de Trabalho Substituição LRU Maior que L LRU Menor ou igual a L MRU-n Menor ou igual a L e estável Ponto de Substituição (Posição na Fila LRU) M M W+1 Região Protegida L Região Seqüencial Região LRU C 1 2 3 Fila LRU 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 Pontos de Substituição do LRU-WAR Exemplo de falta de página em operação seqüencial L Área de Trabalho Ponto de Substituição W +1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Fila LRU M = 20 Exemplo de falta de página em tendência original (LRU) L Área de Trabalho Ponto de Substituição W 1 2 3 Fila LRU 4 5 6 7 8 9 LRU 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 Exemplo de Simulação • Identificação e atualização dinâmica da área de trabalho: A U V X B C E D U E W A U E V 1 2 3 4 5 Fila LRU W D A C F G D A F G H D F G H FI G H JI K H JI K L JI M K L J M N K L M O N L M O N P Q O N P Q O R P Q R S P Q R S T 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 FALTA 4 1 2 3 M = 20 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 Mecanismo para Detecção de Erros • Tempo de carência antes do início de uma operação seqüencial Área de Trabalho Páginas não substituídas pela L Ponto de Substituição op. seqüencial devido ao tempo de carência W +1 +2 +3 +4 +5 +6 1 2 3 Fila LRU 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M = 20 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 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 Programa executável resultados Gerador de traces Simulador arquivo de traces desempenho dos algoritmos 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 Simulações Realizadas • 527 simulações com 7 programas, representados por traces que compõem o pacote VMTrace VMTrace Simulações Realizadas Arquivos de Trace Espresso GCC Gnuplot Grobner GS Lindsay P2C Páginas Interv. entre Número de Tamanhos de Memória Simulados Distintas Tamanhos Simulações 77 10, 11, 12, ..., 73, 74, 75 1 66 458 10, 15, 20, ..., 445, 450, 455 5 90 7718 100, 200, 300, ..., 7500, 7600, 7700 100 77 67 10, 11, 12, ..., 63, 64, 65 1 56 558 10, 15, 20, ..., 545, 550, 555 5 110 521 10, 15, 20, ..., 510, 515, 520 5 103 132 10, 15, 20, ..., 120, 125, 130 5 25 Total de Simulações 527 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 Gráficos de Desempenho Diferenças Percentuais de Desempenho - GCC.VMTrace Curvas de Desempenho - GCC.VMTrace 2,00% 30000 Número de faltas de Diferença % (faltas de página página) 0,00% 25000 Ótimo LRU LRU LRU-WAR LRU-WAR -2,00% 20000 -4,00% 15000 10000 -6,00% -8,00% 5000 10 10 0 110 11 5 135 13 0 140 14 5 5 16 16 0 0 1 1775 5 19 19 0 0 2 2005 5 2 2220 0 23 23 5 5 25 25 0 0 26 26 5 5 28 28 0 0 22995 5 33110 0 33 2 255 33 4 400 33555 5 33770 0 33 8 855 40 0 41 5 43 0 44 5 0 -10,00% Tamanho Tamanhoda damemória 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 Gráficos de Desempenho Diferenças Percentuais de Desempenho - GNUPLOT.VMTrace Curvas de Desempenho - GNUPLOT.VMTrace 10,00% Ótimo Diferença Número de % (faltas faltas de de página página) 0,00% 27000 LRU LRULRU-WAR -10,00% LRU-WAR 22000 -20,00% -30,00% 17000 -40,00% -50,00% 12000 -60,00% 10 10 30 30 0 0 70 70 0 1 0 11100 00 15 15 00 00 19 19 00 00 23 23 00 00 27 27 0 000 3 3110 000 35 35 0 000 33990 000 44330 000 44770 000 55110 000 55 5 5000 0 55 9 9000 0 63 00 67 00 71 00 75 00 7000 -70,00% Tamanho Tamanhoda damemória 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 Gráficos de Desempenho Diferenças Curvas Percentuais de Desempenho de Desempenho - GS.VMTrace - GS.VMTrace 5000 6% LRU Diferença Número de % (faltas faltas de de página página) 4500 Ótimo LRU-WAR LRU 4000 3% LRU-WAR 3500 3000 0% 2500 2000 -3% 1500 1000 114 455 116 605 17 185 195 0 220 055 222 205 23 245 255 0 226 655 228 805 29 305 315 0 32 5 34 340 5 35 365 375 0 38 5 40 400 5 41 5 42 435 0 44 5 46 460 5 47 5 48 495 0 50 5 52 0 -6% 500 Tamanho Tamanho da da memória 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 Resultados Obtidos ALGORITMO LRU-WAR: Diferença percentual no número de faltas de página em relação ao algoritmo LRU Melhor Caso Pior Caso Arquivos de Média Trace Diferença % (Mem.) Diferença % (Mem.) 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 -66,22% 5,09% -6,58% 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 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 USP Departamento de Engenharia de Computação e Sistemas Digitais Laboratório de Arquitetura e Software Básico Av. Prof. Luciano Gualberto, travessa 3, 158, Cidade Universitária CEP: 05508-900, São Paulo-SP www.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