Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock 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 3P: Um algoritmo adaptativo para substituição de páginas plenamente online, que procura aliar a eficiência de implementação do algoritmo Clock à eficiência de substituição do algoritmo LRU-WAR II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Apresentação Algoritmos de substituição de páginas Algoritmo 3P Algoritmos adaptativos Algoritmo LRU-WAR Soluções online Algoritmo 3P Esquema operacional Pontos de substituição Custo de implementação Avaliação de desempenho II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo de Substituição de Páginas Memória Virtual com Paginação Área de Swap (Disco) Problema da Substituição: Qual página deve ser retirada da memória principal? Memória Principal Algoritmo de Substituição de Páginas II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - 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 Exemplos: SEQ (1997) EELRU – Early Eviction LRU (1999) DEAR – DEtection-based Adaptive Replacement (1999) AFC – Application/File-level Characterization (2000) UBM – Unified Buffer Management (2000) LRFU – Least Recently/Frequently Used (2001) LIRS – Low Inter-reference Recency Set (2002) ARC – Adaptive Replacement Cache (2003) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo LRU-WAR (Working Area Restriction) “LRU com Confinamento da Área de Trabalho” (2004 – I WSO) Procura detectar padrões de acesso seqüenciais Muitas faltas de página e baixa reutilização Área de trabalho: II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo LRU-WAR (Working Area Restriction) Utiliza LRU ou MRU-n Diferencia reuso imediato de localidade temporal II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Soluções Online Algoritmo Clock, ou Algoritmo do Relógio (1969) Algumas variações: GClock – Generalized Clock (1978) WSClock (1981) Two-Handed Clock (1982) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Propostas Adaptativas Online CAR – Clock with Adaptive Replacement (2004) Versão aproximada do algoritmo ARC, inspirado no 2Q Páginas recentemente reutilizadas são isoladas das demais CART – CAR with Temporal filtering (2004) Variação do algoritmo CAR Bit adicional para identificar páginas com reutilização constante Clock-Pro (2005) Versão aproximada do algoritmo LIRS Diferencia páginas “quentes” e “frias” através de bits adicionais II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo 3P “3 Ponteiros” – 3 Pointers Inspirado nos algoritmos Clock (implementação) e LRU-WAR (detecção de acessos seqüenciais) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo 3P Utiliza três ponteiros que se movimentam em conjunto CLOCK: Ponteiro para substituição Clock (pseudo-LRU) ANTECIPADO: Ponteiro para substituição precoce (pseudo-MRU) APAGADOR: Ponteiro para apagar bits de acesso (filtro de reuso imediato) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo 3P “Área Jovem” Contém páginas recém-carregadas em período de teste de reutilização (não necessariamente) Somente páginas não referenciadas em tal período podem ser substituídas pelo ponteiro ANTECIPADO II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo 3P Três estados de execução, como o LRU-WAR II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Algoritmo 3P Custo de implementação extremamente baixo Complexidade computacional de substituição equivalente à do Clock, variando de uma ordem O(1) a uma ordem O(n) Menor custo de implementação dentre todos os algoritmos adaptativos para substituição de páginas conhecidos II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Avaliação de Desempenho 1041 simulações realizadas com 16 programas II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Avaliação de Desempenho Melhores e piores resultados médios (algoritmos online) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Avaliação de Desempenho Diferenças de desempenho mais significativas II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Melhor desempenho médio obtido com o 3P: CS II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Melhor desempenho médio obtido com o 3P: CS II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Pior desempenho médio obtido com o 3P: Sprite II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Pior desempenho médio obtido com o 3P: Sprite II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Exemplo de caso médio: Grobner II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Gráficos de Desempenho (3P versus Clock) Exemplo de caso médio: Grobner II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Resultados Importantes O desempenho do 3P foi igual ou superior ao do Clock em 844 simulações (81,1% do total) O desempenho do 3P foi significativamente melhor que o do Clock – acima de 10% – em 356 simulações (34,2%) O desempenho do 3P foi significativamente pior que o do Clock – abaixo de 10% – em apenas 16 simulações (1,5%) II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Conclusão Algoritmo 3P Trabalhos futuros Agradecimentos Alternativa simples e viável Muito eficiente quando acessos seqüenciais predominam Picos negativos aceitáveis Custo de implementação extremamente baixo Trabalhos futuros Implementação prática do algoritmo em um sistema operacional Adaptação para outros tipos de memória cache Agradecimentos Scott Kaplan e Yannis Smaragdakis Song Jiang II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP
Contato ESCOLA POLITÉCNICA DA USP Hugo Henrique Cassettari: hugo.cassettari@poli.usp.br Edson Toshimi Midorikawa: edson.midorikawa@poli.usp.br ESCOLA POLITÉCNICA DA USP Departamento de Engenharia de Computação e Sistemas Digitais Laboratório de Arquitetura e Computação de Alto Desempenho Av. Prof. Luciano Gualberto, travessa 3, 158, Cidade Universitária CEP: 05508-900, São Paulo-SP www.lasb.pcs.poli.usp.br II WSO / 2005 – Algoritmo de Substituição de Páginas 3P: Acrescentando Adaptatividade ao Clock - EPUSP