200 likes | 313 Views
STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha. 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.
E N D
STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha 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
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Objetivo • Viabilizar a execução paralela de simulações de sistemas de memória, reduzindo assim o alto tempo despendido com essa tarefa
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Escopo • Algoritmos de Substituição de Páginas • Algoritmos de Pilha • Programação Paralela • Gerenciamento de Memória • Paginação • LRU Stack • ÓTIMO Stack • Multiprocessamento • Memória Compartilhada
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Algoritmos de Substituição de Páginas • Estratégia utilizada pelo Sistema Operacional para retirar uma página da memória, quando necessário; • Procura estimar, com base em algum critério, que página levará mais tempo para ser novamente acessada; • Exemplos: Ótimo, LRU, FIFO, NRU, MRU, WS, PFF, ...
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Algoritmo Ótimo • Algoritmo teórico, impossível de ser implementado na prática; • “Lê” o futuro e sabe que página deve ser retirada da memória principal em caso de necessidade (falta de página); • Exemplo:
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Algoritmo LRU • Algoritmo geralmente bastante eficiente; • Least Recently Used: retira, quando necessário, a página acessada há mais tempo; • Exemplo:
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulações • Simulação e avaliação de sistemas de memória; • Exemplo simplificado de arquivo de traces:
Simulação Simples • Cálculo do número de faltas de páginas (page faults): • Cálculo do produto Espaço x Tempo: - Lê um acesso - Se a memória está cheia e não contém a página acessada npf = npf + 1 - Lê um acesso - ExT = ExT + tamanho_memória_utilizada IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Algoritmos de Pilha • Há uma classe de algoritmos de substituição de páginas que possuem a seguinte propriedade: • Onde: • Os algoritmos de pilha exploram essa propriedade • A classe de algoritmos inclui o Ótimo e o LRU M(m,r) ÍM(m+1,r) M - Conjunto de páginas na memória principal m - tamanho da memória r - instante (medido em número de referências acessadas)
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação com Pilha • Cálculo do número de faltas de páginas (page faults): • Cálculo do produto Espaço x Tempo: - Lê um acesso - p = posição da página lida na pilha - h[p].npf = h[p].npf + 1 - Lê um acesso - para m = 1 até tamanho_máximo_memória h[m].ExT = h[m].ExT+(m<tam_mem_utilizada?m:tam_mem_utilizada)
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • StackPar • Versão paralela do simulador baseado em pilha; • Necessidade de tratar dependência de dados; • Desenvolvido em linguagem C, utilizando pthreads; • Trabalha com os mesmos formatos de arquivos de trace que o simulador original.
Por processador IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação Paralela
Entre dois processadores IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação Paralela
A cada trinca de processadores IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação Paralela
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação Paralela • Primeiro Estágio:
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Simulação Paralela • Segundo e Terceiro Estágios:
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • LRU Stack Paralelo • Calcula o número de faltas de página e o produto espaço X tempo paralelamente. (*) Testes executados em uma máquina SMP com 4 processadores Pentium II Xeon de 400 MHz e 256 MB de memória principal, sistema operacional Linux.
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • ÓTIMO Stack Paralelo • Calcula o número de faltas de página da forma tradicional; • Calcula o produto espaço X tempo paralelamente. (*) Testes executados em uma máquina SMP com 4 processadores Pentium II Xeon de 400 MHz e 256 MB de memória principal, sistema operacional Linux.
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Trabalhos Futuros • Verificar a viabilidade de paralelização do WS Stack; • Desenvolver uma versão do simulador para trabalhar com memória distribuída em clusters (MPI); • Procurar meios mais eficientes de paralelizar o Ótimo Stack.
IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP • Contato • 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 Software Básico • Av. Prof. Luciano Gualberto, travessa 3, 158, Cidade Universitária • CEP: 05508-900, São Paulo-SP Questões?