Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento.

Slides:



Advertisements
Apresentações semelhantes
SSC541 - SISTEMAS OPERACIONAIS I Aula 14 – Gerenciamento de Memória
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 10 – Gerência de Memória Virtual1 Arquitetura de Sistemas Operacionais Francis Berenger Machado.
Indexação Automática de Documentos
Algoritmos de manipulação de estruturas elementares de dados
ARQUITETURAS DE COMPUTADORES II
Arquitetura de Sistemas Operacionais
Meta - heurísticas Prof. Aurora
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Geoestatística Aplicada à Agricultura de Precisão II
Iana Alexandra Alves Rufino
SSC SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória 3
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
Recursividade Conceitos e Aplicações.
Memória.
Gerência de Memória Algoritmos de Substituição de Páginas
PHD 5729 SIMULAÇÃO HIDROLÓGICA
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Ambiente de simulação Os algoritmos previamente discutidos foram analisados usando um simulador de mobilidade. Ele modela uma cidade de 20 Km de raio,
Sistemas Operacionais I
Gerência de Memória.
Meta - heurísticas Prof. Aurora
Algoritmo de Substituição de Páginas 3P:
Influência dos Parâmetros de Controle no Desempenho de Algoritmos Adaptativos de Substituição de Páginas Edson Toshimi Midorikawa Ricardo Leandro Piantola.
Capítulo 9: Memória Virtual
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
SISTEMAS OPERACIONAIS
Fundamentos da Arquitetura de Computadores
Adriano da Silva Castro
Sistemas Operacionais
Gestão de Projetos Ms. Karine R. de Souza
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
SISTEMAS OPERACIONAIS
Gerência de Memória Virtual
Estruturas de Dados Aula 9: Listas (parte 1)
ANÁLISE DO PADRÃO DE ACESSOS À MEMÓRIA DE PROGRAMAS PARALELOS
Algoritmo Adaptativo de Substituição de Páginas
Caracterização de Cargas de Trabalho
GERENCIAMENTO DA QUALIDADE FERRAMENTAS DE CONTROLE
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
SO Paginação de Memória Algoritmos de Substituição de Página
Experimentação Algorítmica
Sistemas operacionais
Área de Conhecimento: Engenharias e Computação
Sistema de Previsão Financeira Tendências e medidas de probabilidade.
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
ARQUITETURAS DE COMPUTADORES II
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Network Virtualization: Breaking the Performance Barrier Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael.
Sistemas Operacionais
Gerenciamento de Memória
LFU (LEAST-FREQUENTLY-USED)
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Engenharia de Controle e Automação Computação Para Engenharia Semana /02/2013 Professor Leomir J. Borba- –
Bruno Iran Ferreira Maciel
Análise Multiparamétrica do Overhead de Rede em Máquinas Virtuais WSO 2007 – Rio de Janeiro/RJ – 4 e 5 de julho de Análise Multiparamétrica do Overhead.
Estrutura de Dados Aula 3 - Listas
Memória Virtual.
MEMÓRIAS.
Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.
Gerência de Memória Sidney Cunha de Lucena Baseado no livro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
CMMI Capability Maturity Model Integration
Transcrição da apresentação:

Hugo Henrique Cassettari Orientador: Edson Toshimi Midorikawa Trabalho de Mestrado, Janeiro de 2004 Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais Análise da Localidade de Programas e Desenvolvimento de Algoritmos Adaptativos para Substituição de Páginas

Algoritmos de substituição de páginas (revisão); Localidade de referências; Ferramentas desenvolvidas para análise de localidade; Algoritmos adaptativos; Proposta LRU-WAR; Avaliação de desempenho. Estrutura da Apresentação:

Memória Virtual com Paginação: 4 KB Página Área de Swap (Disco) Memória Principal

Memória Virtual com Paginação: Problema da Substituição: Qual página deve ser retirada da memória?

ÓTIMO FIFO - Clock LRU - LRU-K e 2Q MRU NRU Políticas de Substituição de Páginas: LFU - FBR MFU VMIN WS PFF

Conjunto das páginas requeridas para o processamento de um programa num certo intervalo de tempo. 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: Localidade de Referências:

Buscar novos meios para melhorar o desempenho do sistema de memória, através de: - Estudo e caracterização de localidade de referências; - Pesquisa de algoritmos adaptativos para substituição de páginas (algoritmos que adaptam o seu comportamento em uma execução). Objetivo do Trabalho:

Análise da Localidade de Programas: Padrões de acesso à memória; Localidades de referência temporais e/ou espaciais; Distribuição dos acessos no espaço de endereçamento; Freqüência de reutilização das páginas; Interação entre páginas (acessos entrelaçados); Entre outros dados...

Recência de Reutilização: - Corresponde à recência de reutilização de uma página de memória em relação à reutilização das demais páginas residentes; - É determinada empiricamente pelo número de páginas distintas referenciadas entre dois acessos consecutivos a uma mesma página (IRR / Inter- Reference Recency). Distância (ou IRG / Inter-Reference Gap): - Indica o número de acessos ocorridos (tempo virtual) entre duas referências consecutivas a uma mesma página. Conceitos:

Recência: Distância (ou IRG / Inter-Reference Gap): Exemplo:

Exemplo: Fila LRU: Recência no Modelo LRU:

Ferramentas para Análise de Localidade: TelaTrace: Gráficos de acesso bidimensionais. Mapa3D: Gráficos de acesso tridimensionais. Trace Explorer: - Gráficos de recência dos acessos; - Gráficos de variação da recência dos acessos; - Histogramas de recência dos acessos; - Gráficos de distância entre acessos; - Relatórios estatísticos sobre os traces analisados.

TelaTrace – Mapa de Acessos:

Mapa3D – Mapa de Acessos:

TraceExplorer – Recência dos Acessos:

TraceExplorer – Variação da Recência:

TraceExplorer – Distância entre Acessos:

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. Algoritmos Adaptativos de Substituição:

SEQ e EELRU: - Modelo LRU; - Identificação de acessos seqüenciais. LIRS: Previsão de acesso baseada na última reutilização. DEAR, AFC e UBM: Procuram reconhecer padrões. LRFU: Considera a recência e a freqüência dos acessos. ARC: Versão adaptativa do algoritmo 2Q. Propostas Adaptativas:

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 entre cada falta; Verifica a reutilização das páginas carregadas no modelo LRU e compara com o número de faltas de página.

Porção inicial da fila LRU em que todas as páginas referenciadas entre duas faltas consecutivas se encontravam no momento do respectivo acesso. Área de Trabalho (Working Area):

Parâmetro L=MIN[50,M/2]: delimita a região seqüencial; Parâmetro C=5: delimita a região protegida. Regiões da Fila LRU:

Área de trabalho pequena o suficiente para indicar baixa reutilização de páginas. Tendência 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 – maior que o tamanho da área de trabalho. Operação Seqüencial:

Estados de Execução Previstos:

Pontos de Substituição do LRU-WAR:

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

Tempo de carência antes do início de uma operação seqüencial. Mecanismo para Detecção de Erros:

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. Versões do Algoritmo LRU-WAR:

Exemplo simplificado de arquivo de traces: Metodologia para Avaliação de Desempenho:

1669 simulações com 26 programas, representados por traces que compõem 3 pacotes: Etch, Lirs e VMTrace. Simulações Realizadas:

Resultados / Pacote Lirs:

Padrão de Acessos à Memória / Postgres:

Gráfico de Desempenho / Postgres:

LRU-WAR em Relação ao LRU / Postgres:

Resultados / Pacote Etch:

Padrão de Acessos à Memória / Vortex:

Gráfico de Desempenho / Vortex:

LRU-WAR em Relação ao LRU / Vortex:

Resultados / Pacote VMTrace:

Padrão de Acessos à Memória / GhostScript:

Gráfico de Desempenho / GhostScript:

LRU-WAR em Relação ao LRU / GhostScript:

Grau de Otimalidade das Substituições:

Pontos Ótimos de Substituição:

É possível reconhecer certos padrões de acesso à memória dinamicamente, somente observando as posições na fila LRU das páginas referenciadas; O algoritmo LRU-WAR é uma proposta inédita e viável; O algoritmo cumpre sua meta: é uma variação do LRU que alcança excelentes desempenhos quando padrões de acesso seqüenciais predominam em um programa; Por outro lado, o algoritmo se mostra confiável: seu desempenho não foi significativamente pior que o do LRU original em nenhum caso analisado. Conclusões:

Descrição compilada dos principais algoritmos de substituição de páginas, estáticos e adaptativos; Desenvolvimento de ferramentas para análise de localidade e caracterização de programas: TelaTrace, Mapa3D e Trace Explorer; Apresentação de um novo algoritmo adaptativo, o LRU- WAR, nas versões online e offline; Avaliação de desempenho das principais propostas adaptativas, com a criação de simuladores de sistemas de memória e análise sobre os resultados obtidos. Principais Contribuições:

Aperfeiçoamento do algoritmo LRU-WAR, utilizando técnicas de IA e/ou diretivas inseridas pelo compilador; Tentativa de se chegar a um “meta-algoritmo”; Gerência do particionamento dinâmico da memória entre os processos; Implementação prática do novo sistema de gerenciamento de memória em um SO (Linux); Estudos complementares (locality surfaces, experimentação com outros traces, etc.). Trabalhos Futuros: