Sie sind auf Seite 1von 9

Avaliao de desempenho: Algoritmo de substituio de pginas e Algoritmo de substituio de pginas adaptativo

Wilame Mendes* systems that use paged virtual memory improved with the use of replacement algorithms pages. With the intention to provide the best performance ever, the search for new algorithms intensified thus resulting algorithms adaptive page replacement, such as LRU - WAR, LRIS. Such adaptive algorithms having the ability to operate, over time, to adjust their behavior in accordance with the processing characteristics of the system. This paper presents the algorithm for adaptive LRU page replacement - WAR over the LRU algorithm. 1. Introduo Nas dcadas de 1960 e 1970, uma grande limitao no desempenho dos computadores era o tamanho de sua memria (PATTERSON, 2005). Agora, os programadores precisam entender os problemas que substituram o modelo de memria simples dos anos 60: a natureza hierrquica das memrias e a natureza paralela dos processadores (PATTERSON, 2005). Um bom gerenciamento de memria caracterstica indispensvel para um sistema operacional executar satisfatoriamente tarefas que exigem alto desempenho (MIDORIKAWA, 1997). ...foi inventado um sistema para fazer a

Jos Fernando Almeida** Francisco Leonardo Gomes***

Resumo. O desempenho de sistemas computacionais que usam memoria virtual paginada melhorou com o uso de algoritmos de substituio de pginas. Com o intuito de prover um desempenho cada vez melhor, a pesquisa por novos algoritmos se intensificou surgindo assim os algoritmos de substituio de pginas adaptativos, como o LRU WAR, LRIS. Tais algoritmos adaptativos funcionam possuindo a capacidade de, ao longo do tempo, adaptar seu comportamento de acordo com as caractersticas de processamento do sistema. Este artigo apresenta o algoritmo de substituio de pgina adaptativo LRU WAR e o algoritmo LRU. Palavras Chave: algoritmo de substituio de pginas, desempenho, LRU, LRU-WAR. Abstract. The performance of computer

combinao entre os sistemas centrais de memria e os tambores de disco aparecer para o programador como um depsito de nvel nico, com as transferncias necessrias ocorrendo automaticamente (KILBURN, 1962). Esse sistema trata-se de memria virtual que implementa a traduo do espao de endereamento de um programa para endereos fsicos. Um dos aspectos mais importantes em um sistema de memria virtual paginada a poltica de substituio de pginas utilizada. Esta poltica define os critrios de seleo empregados para a retirada de uma ou mais pginas da memria principal quando uma outra precisa ser alocada e no h espao disponvel (Cassettari, 2004). Nos sistemas recentemente desenvolvidos com objetivo de suprir usurios Desktop a poltica de substituio de pginas para algoritmos de substituio mais usada trata-se de uma verso melhorada do algoritmo LRU (Least Recently Used). Esta poltica relativamente eficiente se comparada com outras polticas de substituio de pginas como FIFO (First In, First Out ordem de pgina carregada a mais tempo), LFU (Least Frequently Used pgina que recebeu menos acessos), SC (Second Chance verso melhorada do FIFO com um bit de referencia), RR (Round Robin- fila circular), MRU (Most Recently Used pgina acessada h menos tempo), etc. Isto porque os programas normalmente no apresentam padres de acesso bem definidos, ou seja, difcil prever que pgina ser ou no acessada brevemente. Nessa situao, o LRU o mais adequado, pois substitui-se, em caso de falta, a pgina que est h mais tempo sem ser acessada, aquela menos ativa

no momento da execuo. No entanto, os acessos sequenciais em um grande nmero de pginas de memria distintas alm de acessos dentro de grandes loops (muitas pginas referenciadas por iterao) e a frequncia irregular de acessos a uma mesma pgina so situaes em que certamente o algoritmo LRU apresenta falhas (JIANG; ZHANG , 2002). Devido s falhas apresentadas surgiu o conceito de adaptabilidade como alternativa para a correo das deficincias que foram notadas nas polticas tradicionais de algoritmo de substituio FIFO, RR, LRU alm de se apresentar como uma possibilidade de otimizao nos critrios de substituio que eram usados (Cassettari, 2004). O objetivo principal desse artigo mostrar, com base no conceito de adaptabilidade, o algoritmo LRU WAR (LRU with Working Area Restriction), que tem como prerrogativa minimizar as falhas detectadas no algoritmo LRU. Dentro do contexto de algoritmos adaptativos de substituio de pginas existem outras propostas baseadas nas propriedades do modelo LRU. O algoritmo EELRU - Early Eviction LRU foi criado para detectar qualquer tipo de padro sequencial de acessos baseado nas posies da fila (representao da memoria principal) do LRU ordenada em ordem decrescente (SMARAGDAKIS; KAPLAN;WILSON, 1999). O algoritmo SEQ procura corrigir a perda de desempenho ocasionada pela presena de acessos linearmente sequenciais (GLASS;CAO,1997). LIRS Low Inter-reference Recency Set usa o critrio chamado IRR(Inter Reference Recency ), que representa o nmero de pginas referenciadas entre

os dois ltimos acessos consecutivos a uma mesma pgina. O algoritmo pressupe uma inrcia comportamental e, de acordo com as IRRs coletadas, substitui a pgina que provavelmente levar mais tempo para ser novamente acessada (JIANG; ZHANG,2002). Essas so as propostas mais difundidas no meio cientfico. Cada um dos algoritmos adaptativos propostos procura solucionar o problema de um modo diferente e inovador. De uma maneira geral, estes algoritmos mudam seu comportamento com base no padro observado de acessos memria ou informao sobre a recncia ou frequncia de acessos s pginas. Obs:descrever como esta organizado

2. Algoritmos de substituio de Pginas 2.1 Algoritmo LRU O bloco de memria substitudo aquele que no foi usado a mais tempo. A substituio LRU implementada monitorando quando cada elemento em um conjunto foi usado em relao aos outros elementos do conjunto (PATTERSON, 2005). 2.2 Ideia Geral
A pgina a ser substituda ser a que esta a mais tempo sem ser referenciada. Faz uso de contadores onde cada tabela tem um campo contendo o tempo lgico da ltima referncia e substitui a pgina com o menor tempo associado.

3.1 Algoritmo LRU WAR As polticas de substituio de pginas mais eficientes tentam explorar, cada uma ao seu modo, as caractersticas de localidade de referncias inerentes aos programas, sobretudo localidade temporal (CASSETTARI, 2004). Principio da localidade temporal: se um item referenciado, ele tender a ser referenciado novamente em breve (PATTERSON, 2005). O algoritmo LRU-WAR (LRU with Working Area Restriction, ou LRU com Confinamento da rea de Trabalho) representa uma nova proposta adaptativa voltada a solucionar o mau desempenho do algoritmo LRU na presena de acessos contnuos a uma execuo (CASSETTARI, 2004). 3.2 Ideia Geral
O Working set (conjunto de trabalho) o conjunto das pginas acessadas pelo programa em um determinado intervalo de tempo (DENNING, 1968). Ou seja, o conjunto de pginas acessadas entre as duas ultimas falta de pgina ocorridas, qualquer que seja o instante do processamento.

A pilha contm o nmero de pginas e quando uma pgina referenciada ela removida da pilha e colocada no topo da mesma sendo esta a pgina mais recentemente utilizada e a base da pilha contm a pgina LRU A implementao feita atravs de listas duplamente encadeadas e no existe busca na substituio de pgina.

3. Algoritmo adaptativo de substituio de pginas

Os algoritmos adaptativos de substituio atuam de forma dinmica, adaptando seu comportamento de acordo com o padro de acesso memria em tempo de execuo. O princpio da adaptao encontrar um padro a partir de uma informao coletada sobre as pginas usadas recentemente e ento adequar o algoritmo ao comportamento destes acessos memria (MIDORIKAWA, 1997).

O algoritmo LRU-WAR inova ao monitorar os acessos memria e verificar, entre duas faltas consecutivas, a pgina referenciada com menor recncia em relao ao seu ltimo acesso; Uma concluso importante que o working set temporrio contm sempre, no mximo, as pginas que ocupam esta rea. O algoritmo LRU-WAR trabalha basicamente com dois critrios de substituio: o critrio LRU, no qual a pgina acessada h mais tempo retirada da memria, e o critrio MRU-n, no qual a n-sima pgina mais

recentemente acessada descartada. O critrio de substituio padro o LRU, que s deixa de ser utilizado quando uma tendncia de acessos sequenciais se fortalece. O algoritmo detecta indcios de padro sequencial de acessos muito rapidamente, contudo mantm o critrio LRU e aguarda durante um certo perodo de carncia at que a tendncia se intensifique. O critrio de substituio ento passa a ser o MRU-n nesta situao. A pgina substituda por tal critrio sempre aquela que ocupa a primeira posio da fila LRU fora da rea de trabalho. Assim, n=W+1; o que permite especificar a verso MRU-n utilizada como sendo MRU-(w+1). A ideia substituir uma pgina que, por tendncia, esteja se tornando inativa; isto , uma pgina que deixou de pertencer ao working set temporrio do processo h pouco tempo (CASSETTARI, 2004). 3.3 Detalhes Operacionais A figura abaixo representa a rea de trabalho do algoritmo LRU- WAR.

WAR C+1. Logo, se W C, o algoritmo atualiza o seu valor para W=C+1 (CASSETATARI, 2004). H trs estados de execuo definidos: tendncia LRU, tendncia sequencial e operao sequencial. Quando a rea de trabalho maior que o parmetro L (tamanho da regio sequencial), considera-se que o programa est reutilizando as suas pginas em memria e ento fica no estado de tendncia LRU. Neste estado, o critrio LRU adotado, e permanece at que seja detectada uma tendncia de acessos sequencial. Quando, entre duas faltas de pgina, o tamanho da rea de trabalho se reduz, ficando menor que L, o algoritmo entra em tendncia sequencial, pois subentende-se que est ocorrendo um nmero adicional de faltas de pgina sem que haja uma boa reutilizao das pginas em memria. Neste estado ainda se adota o algoritmo LRU para a substituio de pginas (MIDORIKAWA, 1997). A tabela abaixo mostra os estados de execuo:

Divises lgicas na fila LRU A regio LRU complementa a regio sequencial e consiste, obviamente, na poro final da fila LRU. Uma subregio tambm identificada dentro da regio sequencial: a chamada regio protegida, compreendendo as C primeiras pginas da fila; C (carncia mnima) o outro parmetro do algoritmo, cujo valor original C=5. Esta pequena regio engloba algumas posies de recncia consideradas baixas demais para conter a rea de trabalho, o que permite dizer que a menor rea de trabalho aceita pelo LRU-

4. Avaliao de Desempenho Um arquivo de traces consiste basicamente na listagem cronolgica dos diversos acessos memria realizados por um processo. Em outras palavras, descreve passo a passo o comportamento de um dado programa em termos de utilizao da memria. Estes arquivos so obtidos atravs de um gerador de traces, que executa o programa alvo e

coleta os acessos memria realizados ao longo de seu processamento (UHLIG; MUDGE, 1997). A partir dos dados coletados e armazenados nos arquivos de trace, diversas experincias podem ser efetuadas para se avaliar o desempenho de algoritmos de substituio de pginas, no contexto de todos os possveis tamanhos de memria que se queira considerar. Utilizando esta tcnica de avaliao, um conjunto de simulaes foi organizado para averiguar o desempenho do algoritmo LRU-WAR e compar-lo com a poltica de substituio de pginas LRU original. O critrio de desempenho utilizado o nmero de faltas de pgina geradas na execuo de um processo (CASSETTARI, 2004). Os experimentos aqui relatados tiveram como carga de simulao os sete arquivos de trace que compem o pacote VMTrace, originalmente aplicados por Smaragdakis; Kaplan; Wilson (1999) nas simulaes do algoritmo EELRU, sendo tambm por eles disponibilizados. O nome deste pacote designa a ferramenta de gerao de traces utilizada em sua captao, desenvolvida pelos prprios autores. A seguir so resumidamente descritos os programas representados por estes sete arquivos: - Espresso: Simulador de circuito; - GCC: Compilador C/C++ do projeto GNU, verso 2.7.2; - Gnuplot: Gerador de grficos do projeto GNU; - Grobner: Programa matemtico que trabalha com Bases de Grbner; - GS: GhostScript 3.33, interpretador PostScript; - Lindsay: Simulador de hipercubo; - P2C: Tradutor de programas em Pascal para C. O programa Gnuplot o nico que apresenta predominncia de acessos sequenciais memria, intercalados com referncias a poucas pginas que exibem alta localidade temporal. Em

contrapartida, os demais arquivos VMTrace se caracterizam principalmente pelo aspecto da localidade temporal, sem a presena de outros padres regulares facilmente identificveis (CASSETTARI;MIDORIKAWA, 2004). A Tabela 2 descreve as baterias de simulao s quais os programas foram submetidos. A execuo de cada programa simulada com diferentes tamanhos de memria disponvel. Tamanhos muito pequenos (abaixo de 10 pginas) e muito grandes (acima do nmero de pginas que o programa referencia em todo o seu processamento) foram desprezados, pois no permitem uma comparao efetiva entre os algoritmos j que os resultados de desempenho so equivalentes nestas condies (CASSETTARI,2004).

Cada simulao avalia o desempenho de um algoritmo considerando apenas um nico tamanho de memria. O conjunto das simulaes associadas a um programa indica o desempenho mdio que o algoritmo alcana com o mesmo. 4.1 Resultados Obtidos A Tabela 3 demonstra percentuais de desempenho referentes diferena entre o nmero de faltas de pgina gerado pelo algoritmo LRU e o nmero gerado pelo LRU-WAR. Valores percentuais positivos indicam que o novo algoritmo apresenta um desempenho pior que o do algoritmo LRU, pois provoca um nmero maior de faltas de pgina. Valores negativos, obviamente, indicam o contrrio (CASSETTARI,2004).

entretanto, ele exibe um resultado 11,75% melhor. Logo, o LRU-WAR pode ser melhor ou pior do que o LRU no processamento de tal programa, dependendo do tamanho de memria disponvel; mas a mdia sugere que ele tende a apresentar melhores resultados. Isto confirmado pela Figura 3, cujos grficos informam a variao percentual de faltas de pgina geradas pelo algoritmo LRU-WAR em relao s faltas geradas pelo algoritmo LRU nas simulaes efetuadas com os traces Grobner e Gnuplot. O programa Grobner representa uma situao tpica: o LRUWAR melhor do que o LRU, mas no muito melhor. Por outro lado, o programa Gnuplot exibe um padro efetivo de acessos sequenciais memria que predomina em toda a sua execuo; neste caso, o LRU apresenta um desempenho muito ruim, enquanto o LRU-WAR mostra excelentes resultados. A concluso a que se chega, a partir dos resultados prticos obtidos, que o algoritmo LRU WAR atende ao seu propsito: substancialmente melhor do que o algoritmo LRU quando padres de acesso seqenciais vigoram e no muito pior em nenhuma situao analisada. No seu melhor caso, o LRU-WAR alcanou um desempenho 66,22% superior ao do LRU. No obstante, seu pior desempenho em relao ao mesmo gerou uma diferena percentual mxima de 5,09% no nmero de faltas de pgina, em um universo de 527 simulaes realizadas.

A coluna melhor caso reflete a situao de execuo em que o algoritmo LRUWAR obtm o melhor desempenho percentual comparado com o algoritmo LRU. A situao inversa ilustrada pela coluna pior caso: quando o LRU obtm o melhor desempenho. A mdia aritmtica das diferenas percentuais coletadas entre os dois algoritmos, levando-se em conta todas as simulaes descritas na Tabela 2, calculada na terceira coluna. Um exemplo: 56 simulaes so realizadas para avaliar o desempenho mdio de cada algoritmo na execuo do programa Grobner e, portanto, 56 diferenas percentuais so calculadas entre nmeros de faltas de pgina gerados pelo algoritmo LRU e nmeros gerados pelo algoritmo LRUWAR. A menor destas diferenas (maior reduo no nmero de faltas de pgina) representa o melhor caso do LRU-WAR em relao ao LRU; a maior diferena representa o pior caso; e a mdia aritmtica entre as 56 diferenas indica uma tendncia geral (CASSETTARI, 2004). Assim, podemos interpretar da seguinte forma os dados relativos ao programa Grobner: o LRU-WAR, em mdia, atinge um desempenho 3,78% melhor que o do algoritmo LRU. Porm, ele pode provocar um nmero de faltas de pgina at 1,02% maior, o que acontece especificamente com uma memria de tamanho 13. Em uma outra situao de execuo (memria disponvel de 28 pginas),

de pginas. 2004. 118p. Dissertao (Mestrado) Escola Politcnica, Universidade de So Paulo. So Paulo, 2004. CASSETTARI, H.H.; MIDORIKAWA, E.T. Caracterizao de cargas de trabalho em estudos sobre gerncia de memria virtual. In: WORKSHOP EM DESEMPENHO DE SISTEMAS COMPUTACIONAIS E DE COMUNICAO, 3., Salvador, 2004. WPerformance 04: Anais. Salvador: SBC, 2004. DENNING, P.J. The working set model for program behavior. Communications of the ACM, v.11, n.5, p.323- 333, 1968. MIDORIKAWA, E.T. Uma nova estratgia para a gerncia de memria para sistemas de computao de alto desempenho. 1997. 193p. Tese (Doutorado) Escola Politcnica, Universidade de So Paulo. So Paulo, 1997. Cassettari, H. H. (2004). Anlise da Localidade de Programas e Desenvolvimento de Algoritmos Adaptativos para Substituio de Pginas. Dissertao de Mestrado. Escola Politcnica da Universidade de So Paulo, 2004. Cassettari, H.H. and Midorikawa, E.T. (2004) Algoritmo Adaptativo de Substituio de Pginas LRU-WAR: Explorao do Modelo LRU com Deteco de Acessos Seqenciais. In: Anais do I Workshop de Sistemas Operacionais (WSO 2004), Salvador, BA. JIANG, S.; ZHANG, X. LIRS: An efficient low inter-reference recency set replacement policy to improve buffer cache performance. In: INTERNATIONAL CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS, 27., Marina Del Rey, 2002. SIGMETRICS 02: Proceedings. Marina Del Rey:

5. Concluses Este artigo apresentou um estudo sobre o algoritmo de substituio de pginas, LRU e o algoritmo adaptativo de substituio de pginas LRU WAR, alm da variabilidade do desempenho desses algoritmos usando traces caractersticos. A principal contribuio deste trabalho mostrar que, apesar dos algoritmos adaptativos sejam bem configurados e apresentarem desempenhos bem melhores que os algoritmos tradicionais, o caso do LRU e LRU WAR. 6. Referncias PATTERSON, DAVID A. Organizao e projeto de computadores: a interface hardware/software, Rio de Janeiro: Elsevier, 2005 7 reimpresso. KILBURN et al., One level storege system,1962. CASSETTARI, H.H. Anlise da localidade de programas e desenvolvimento de algoritmos adaptativos para substituio

ACM, 2002. p.31-42. SMARAGDAKIS, Y.; KAPLAN, S.; WILSON, P. EELRU: simple and effective adaptive page replacement. In: INTERNATIONAL CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS, 24., Atlanta, 1999. SIGMETRICS 99: Proceedings. Atlanta: ACM, 1999. p.122-133. GLASS, G.; CAO, P. Adaptive page

replacement based on memory reference behavior. In: INTERNATIONAL CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS, 22., Seattle, 1997. SIGMETRICS 97: Proceedings. Seattle: ACM, 1997. p.115-126. UHLIG, R.A.; MUDGE, T.N. Trace-driven memory simulation: a survey. ACM Computing Surveys, v.29, n.2, p.128-170, 1997.

Das könnte Ihnen auch gefallen