20
STACKPAR: Um Simulador Paralelo de Sistemas STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha de Memória baseado em Algoritmos de Pilha Hugo Henrique Casset Edson Toshimi Midori EPUSP - Escola Politécnica da Universidade de São PCS - Departamento de Engenharia de Computação e Sistemas Di

STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

STACKPAR: Um Simulador Paralelo de SistemasSTACKPAR: Um Simulador Paralelo de Sistemasde Memória baseado em Algoritmos de Pilhade Memória baseado em Algoritmos de Pilha

Hugo Henrique CassettariEdson Toshimi Midorikawa

EPUSP - Escola Politécnica da Universidade de São PauloPCS - Departamento de Engenharia de Computação e Sistemas Digitais

Page 2: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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

Page 3: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Escopo

• Algoritmos de Substituição de Páginas

• Algoritmos de Pilha

• Programação Paralela– Multiprocessamento– Memória Compartilhada

– Gerenciamento de Memória– Paginação

– LRU Stack– ÓTIMO Stack

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 4: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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

Page 5: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

A B C (memória)A D C (memória)

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

Page 6: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

A B C (memória)

Algoritmo LRU

• Algoritmo geralmente bastante eficiente;

• Least Recently Used: retira, quando necessário, a página acessada há mais tempo;

• Exemplo: D B C (memória)

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 7: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Simulações

• Simulação e avaliação de sistemas de memória;

• Exemplo simplificado de arquivo de traces:

Programaexecutável

Geradorde traces

arquivo de traces

Simulador

desempenhodos algoritmos

resultados

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 8: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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

Memóriatamanho disponível

npf ExT

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 9: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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 principalm - tamanho da memóriar - 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

Page 10: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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)

npf ExT

tamanho máximo

Memória em forma de pilha

Histograma (h)

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 11: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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.

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 12: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Simulação Paralela

npf ExT

tamanho máximo

Memória em forma de pilha

Histograma (h)Por processador

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 13: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Simulação Paralela

Entre dois processadores

Memória

Transição

Memória

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 14: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Simulação Paralela

A cada trinca de processadores

Memória

Transição

Memória

Transição

Memória

Dupla transição

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Page 15: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Simulação Paralela

• Primeiro Estágio:

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

Pilha 0

Transição 1

Pilha 1

Transição 2

Pilha 2

Transição 3

Pilha 3

Dupla-transição 1

Dupla-transição 2

?

?

?

Page 16: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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

Pilha 0

Transição 1

Pilha 1

Transição 2

Pilha 2

Transição 3

Pilha 3

Segundo estágio: tratamento de dependências

Terceiro estágio: cálculo do produto

espaçoXtempo

Dupla-transição 1

Dupla-transição 2

?

?

?

?

?

Page 17: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

LRU Stack Paralelo

• Calcula o número de faltas de página e o produto espaço X tempo paralelamente.

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

LRU, rodando GZIP

050

100150200250300350400

1 2 3 4

Número de Processadores

Te

mp

o d

e E

xe

cuçã

o

Stack

StackPar

0

50

100

150

200

250

300

350

400

GZIP SEQ LUTe

mp

o d

e E

xecu

ção

(s

eg

un

do

s)

LRU Stack

LRU StackPar (2 proc.)

LRU StackPar (3 proc.)

LRU StackPar (4 proc.)

1 Proc. 2 Proc. 3 Proc. 4 Proc.

GZIP 212 346 174 115 88SEQ 350 559 281 188 144LU 22 29 15 10 7

LRU Stack StackPar

Tempos de Execução Obtidos (em segundos) (*) 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.

Page 18: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

ÓTIMO Stack Paralelo

• Calcula o número de faltas de página da forma tradicional;• Calcula o produto espaço X tempo paralelamente.

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP

0100200300400500600700800900

1000

GZIP SEQ LU

Te

mp

o d

e E

xecu

ção

(s

eg

un

do

s)

Ótimo StackÓtimo StackPar (2 proc.)Ótimo StackPar (3 proc.)Ótimo StackPar (4 proc.)

ÓTIMO, rodando GZIP

050

100150200250300350400

1 2 3 4

Número de Processadores

Te

mp

o d

e E

xe

cuçã

o

Stack

StackPar

1 Proc. 2 Proc. 3 Proc. 4 Proc.

GZIP 247 353 188 147 118SEQ 884 1115 692 574 499LU 32 44 25 18 15

Ótimo Stack StackPar

Tempos de Execução Obtidos (em segundos) (*) 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.

Page 19: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

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

Page 20: STACKPAR: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha

Contato

• Hugo Henrique Cassettari: [email protected]• Edson Toshimi Midorikawa: [email protected]

• ESCOLA POLITÉCNICA DA USPDepartamento de Engenharia de Computação e Sistemas DigitaisLaboratório de Arquitetura e Software BásicoAv. Prof. Luciano Gualberto, travessa 3, 158, Cidade UniversitáriaCEP: 05508-900, São Paulo-SP

IV FITEM / 2002 - StackPar: Um Simulador Paralelo de Sistemas de Memória baseado em Algoritmos de Pilha - EPUSP