Uma Proposta para Migração de Páginas Linux

Documentos relacionados
SSC0611 Arquitetura de Computadores

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Uma proposta para migração de páginas no Linux

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais

Sistemas Operacionais

Curso: Redes de Computadores

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas MIMD

Introdução à Computação: Sistemas de Computação

Gerência de Dispositivos. Adão de Melo Neto

Prof. Eliezer Soares Flores 1 / 22

Estruturas de Sistemas Operacionais

SSC-0742 PROGRAMAÇÃO CONCORRENTE. Aula 04 Revisão de Arquiteturas Paralelas -Parte 2 Prof. Jó Ueyama e Julio Cezar Estrella

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

Arquitetura de Computadores. Processamento Paralelo

Gerência de Dispositivos. Adão de Melo Neto

Fundamentos de Sistemas Operacionais

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

Gerência de Memória Memória Virtual e Paginação

Introdução aos Sistemas Operacionais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Fundamentos de Sistemas Operacionais

CONCURSO PÚBLICO PARA PROVIMENTO DE CARGO EFETIVO PROFESSOR DE ENSINO BÁSICO, TÉCNICO E TECNOLÓGICO Edital 20/2015 Campus Rio Pomba FOLHA DE PROVA

Gerência de memória III

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Sistemas Distribuídos

SOP - TADS Processos. Revisão Ultima aula

Parte I Multiprocessamento

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Caracterização de Sistemas Distribuídos

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Fundamentos de Sistemas Operacionais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Informática I. Aula 2. Ementa

Processos ca 3 pítulo

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Sistemas Operacionais. Tipos de SO

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Informática básica. Professor: Francisco Ary

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Sistemas Distribuídos

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Organização de Computadores II. Arquiteturas MIMD

Um Gerente de Energia para Sistemas Profundamente Embarcados

Organização e Arquitetura de Computadores I

Tipos de Sistemas Operacionais. Professores : Jones - Wendell

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

Sistemas Operacionais. Prof. André Y. Kusumoto

SISTEMAS OPERACIONAIS

Variância dos Tempos de Resposta

Sistemas Operacionais I

Conceitos sobre memória virtual para análise forense computacional. João Eriberto Mota Filho

Endereçamento de Memória POR QUE UM SISTEMA X86 SÓ ENXERGA 4GB?

Sistemas Distribuídos

SIST706 Sistemas Distribuídos

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE

Um Repositório Chave-Valor com Garantia de Localidade de Dados. Patrick A. Bungama Wendel M. de Oliveira Flávio R. C. Sousa Carmem S.

Sistemas Operacionais

PROVA 03/07 Segunda-feira (semana que vem)

Notas da Aula 1 - Fundamentos de Sistemas Operacionais

Algoritmos e Lógica de Programação Componentes e Arquitetura

Sistemas Operativos 10º ano

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Multiprogramação leve em arquiteturas multi-core

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira

Sistemas Operacionais. Introdução a Sistemas Operacionais

AGT0001 Algoritmos Aula 01 O Computador

Introdução (hardware) INTRODUÇÃO Hardware. Introdução (hardware) Introdução (hardware) Introdução (hardware) Introdução (hardware)

Definindo melhor alguns conceitos

Modelo de Von Neumann: conceito do programa armazenado

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

Disciplina: Sistemas Operacionais

Sistemas Operacionais. Rodrigo Rubira Branco

Tópicos Especiais em Redes de Telecomunicações

APOSTILA 2 - TUTORIA SISTEMAS OPERACIONAIS

INTRODUÇÃO A SISTEMAS OPERACIONAIS

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Apresentação da Disciplina

Sistema Operacionais II. Aula: Virtualização

Sistemas Operacionais

Hardware Conceitos Básicos. Introdução*à*Informática 14

Transcrição:

Uma Proposta para Migração de Páginas Linux

1 - Introdução 2 - Gerencia de Memória em Sistemas Operacionais com Suporte a NUMA 2.1 O Gerente de Memória do Linux 2.2 Estratégias para Migração de Páginas 2.2.1 Full Memory Migration 2.2.2 On-Demand Memory Migration

Introdução - Máquinas Multiprocessadas, Dois Exemplos: 1 UMA (Uniform Memory Access) ou SMP (Simetric Multiprocessor). - O tempo de acesso a memória é igual para todos os processadores. 2 NUMA (Non-Uniform Memory Access). - O tempo de acesso a memória depende do processador e da posição da memória acessada. - Característica: 1 Podem ter diversos processos executando em paralelo, cada um em um processador, estes processos são colocados na memória e caba ao sistema operacional alocá-los de forma a garantir maior desempenho possível ao sistema.

O Gerente de memória em máquinas UMA e NUMA. 1 Em máquinas UMA as funções deste gerente são facilitadas, porque a máquina só tem um banco de memória. 2 Em máquinas NUMA este gerente tem de lidar com diversos bancos de memória, e o seu tempo de acesso não é o mesmo para todos os processadores. Balanceamento de carga (processos) em máquinas multiprocessadas. 1 Programação Paralela. - Uma vez que o processo inicia em um nodo, ele deve se manter no mesmo nodo até o seu término. 2 Uma classe diferente de ambientes de programação paralela. - Permite mover um processo de um nodo para outro dinamicamente durante qualquer momento da vida do processo, o que é chamado de Migração de Processo. Necessidade de um sistema de migração de páginas Objetivo: Fazer com que as áreas de memória do processo fiquem mais próximas do processador em que está executando. Duas estratégias: 1 Full Migration. 2 On Demand.

Gerencia de Memória em Sistemas Operacionais com Suporte NUMA O Gerente de memória é responsável por gerenciar o uso de toda a memória disponível no sistema. Gerencia de memória em máquinas monoprocessadas. Gerencia de memória em máquinas multiprocessadas. Padrão ACPI. - É uma especificação de interface que provê informações sobre a configuração do hardware, permitindo ao sistema operacional realizar o gerenciamento de energia dos dispositivos de um computador.

O Gerente de memória do Linux Trabalha de forma similar em máquinas UMA e NUMA. Em uma máquina NUMA o gerente de memória do Linux aloca memória para um processo no banco mais perto do nodo no qual o processo está executando.

Estratégias para Migração de Páginas Em máquinas UMA migrar um processo de um processador sobrecarregado para outro livre não causa nenhum efeito maior. Em máquinas NUMA migrar um processo de um processador para outro no mesmo nodo é melhor do que migra-lo para outro nodo. Este trabalho analisa duas estratégias de migração de páginas, com o objetivo de deixar o banco de memória de um processo migrado o mais perto possível dele. 1 Migrar todo o conteúdo da memória do processo no mesmo momento em que o processo migra. 2 Migrar do conteúdo da memória do processo conforme o processo continua a executar.

Full Memory Migration Mover Páginas de um processo migrado de um nodo para outro pode fazer com que processos executando tenham de esperar até a migração ser concluída. Passo 1: Escalonador detecta que P3 está livre e decide migrar o processo S1. Passo 2: processo S1 é migrado. Passo 3: Algoritmo de migração detecta que o espaço de endereçamento de S1 não esta mais perto do banco de memória de P3. Passo 4: espaço de endereçamento de S1 é migrado para o banco de memória mais próximo de S1.

On Demand Memory Migration Migrar todo o espaço de endereçamento do processo pode causar a diminuição do desempenho do sistema se este migra diversas vezes durante seu tempo de execução ou se a migração ocorre quando este está perto de terminar. Esta estratégia marca todas as páginas do processo migrado como não presentes na memória e quando uma falta de página ocorre é verificado se esta falta foi gerada por um processo migrado ou por um processo que tinha, de fato, páginas armazenadas no disco. Se a falta de página for relacionada a um processo migrado, esse sistema move as páginas do nodo remoto para o nodo atual do processo.

Resultados das Simulações Tempo médio de execução Condições: Com a variação do tempo médio de execução de cada processo nos seguintes valores: 500, 1000, 2000 até 15000ms com variação de 1000ms para cada simulação. Estes valores foram simulados em um ambiente com 50 processos, todos de 50KB, que ficam 60% do seu tempo fazendo acessos a memória sendo 40% desses acessos a posições de memória já alguma vez acessadas. Melhor: On Demand porém parecido com o atual do Linux, porque quanto mais tempo os processos ficam executando, mais páginas de memória estes podem acessar, causando, portanto, uma maior quantidade de migração de páginas no caso do algoritmo on demand. Assim o ganho deste algoritmo acaba se suavizando, pois na medida em que esse número de migrações é maior, e sendo as paginas migradas acessadas poucas vezes o custo do acesso a uma pagina fica cada vez mais similar ao do Linux.

Tamanho dos Processos Condições: Com a variação do tamanho do processo de 50, 100, 200, 300, 400 e 500KB. Estes valores foram simulados em um ambiente com 50 processos, todos com tempo médio de execução de 10000ms, que ficam 60% do seu tempo fazendo acessos a memória sendo 40% desses acessos a posições de memória já alguma vez acessadas. O algoritmo de migração full migration apresentou um resultado já esperado. Como neste algoritmo, toda vez que ocorre migração do processo, toda sua área de memória é migrada, quanto maior o tamanho do processo, mais tempo este leva para migrar de um banco de memória para outro, sendo assim, maior proporcionalmente será o seu tempo de execução. - Melhor: On Demand, porém novamente parecido com o do Linux, por que o fato de se aumentar o tamanho do processo não causa diferença no desempenho se o processo não tem tempo de acessar todos os seus dados.

Conclusão Dada a escalabilidade de máquinas multiprocessadas do tipo NUMA, tem-se máquinas com arquiteturas cada vez mais diferentes, o que torna o trabalho do sistema operacional bastante complexo quando se objetiva o melhor desempenho da máquina. A gerência de memória é um dos fatores que influenciam bastante no desempenho do sistema neste tipo de máquinas. Neste trabalho foram apresentadas duas estratégias para a migração de páginas da memória. A forma de estudo das mesmas foi através de simulação, visto que é uma abordagem flexível e permite que sejam analisados diferentes cenários, evitando o estudo de apenas um conjunto de casos que aparentemente cobrem grande parte dos casos de uso desse tipo de máquina, mas que é uma forma questionável de se fazê-lo. Este trabalho mostrou que, levando-se em conta a migração de páginas juntamente com a migração dos processos pode-se obter um desempenho ainda maior. O algoritmo On - demand mostrou ter um desempenho superior ao algoritmo implementado pelo Linux em todos os cenários simulados.