26
1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Embed Size (px)

Citation preview

Page 1: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

1

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

Guilherme A. A. Tesser (HP/PUCRS)Avelino F. Zorzo (PUCRS)

PUCRS/HP – Porto Alegre - Brazil

Page 2: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Sumário

Introdução Escalonador do Linux Balanceamento de carga em máquinas NUMA Balanceamento de carga do Linux Balanceamento de carga multi-nível Migração de páginas Resultados Conclusão

Page 3: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Introdução

Projeto PeSO (PUCRS e HP Brazil) Pesquisa em Sistemas Operacionais escaláveis

Escalabilidade de SOs em máquinas NUMA Uso de benchmarks – gargalos encontrados Novas soluções

Escalonamento: balanceamento de carga Gerência de memória: migração de páginas

Page 4: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Escalonador do Linux

O(1), desde kernel 2.5 Uma fila de processos por processador (runqueue)

Afinidade de processador Filas de prioridade dinâmicas Fatia de tempo dinâmica Processos I/O-bound, CPU-bound Runqueue tem dois arrays: ativos e expirados

Page 5: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Executa primeiro processo da lista Lista de todos processos com prioridade 7

Lista de todas as tarefas, por prioridade

schedule()

sched_find_first_set()bit 0 (prioridade 0) bit 7 (prioridade 7)

140 bit bitmap

bit 139 (prioridade 139)

Escalonador do Linux

Page 6: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Balancemento de carga: NUMA

SGI Altix 3000 Server(6 níveis de acesso à memória)

HP Integrity Superdome (Orca)(3 níveis de acesso à memória)

Dois exemplos

Page 7: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Linux - Balanceamento de carga

Sobrecarga do processador Para máquinas UMA balanceamento é simples Em máquinas NUMA é mais complicado... sched_domain - representa a topologia da máquina SLIT – System Locality Information Table

ACPI – Advanced Configuration and Power Interface

Page 8: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Balanceamento de carga: Linux

Periodicamente – eventos Processos

Da fila de processos expirados Processos com prioridades mais alta

Processos não devem Ter afinidade de processador ser cache-hot

Nova estrutura de domínios de escalonamento

Page 9: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Linux – domínios de escalonamento

Exemplo de máquina com dois níveis HP Integrity Superdome (Olympia)

Page 10: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Linux – domínios de escalonamento

Máquinas com três ou mais níveis - problema Linux construía somente estrutura com dois níveis

Três se mais de 16 nodos

Não era correto !!

Page 11: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Exemplo de tabela SLIT (HP Superdome)

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 N13 N14 N15 N16

N1 10 17 17 17 29 29 29 29 29 29 29 29 29 29 29 29

N2 17 10 17 17 29 29 29 29 29 29 29 29 29 29 29 29

N3 17 17 10 17 29 29 29 29 29 29 29 29 29 29 29 29

N4 17 17 17 10 29 29 29 29 29 29 29 29 29 29 29 29

N5 29 29 29 29 10 17 17 17 29 29 29 29 29 29 29 29

N6 29 29 29 29 17 10 17 17 29 29 29 29 29 29 29 29

N7 29 29 29 29 17 17 10 17 29 29 29 29 29 29 29 29

N8 29 29 29 29 17 17 17 10 29 29 29 29 29 29 29 29

N9 29 29 29 29 29 29 29 29 10 17 17 17 29 29 29 29

N10 29 29 29 29 29 29 29 29 17 10 17 17 29 29 29 29

N11 29 29 29 29 29 29 29 29 17 17 10 17 29 29 29 29

N12 29 29 29 29 29 29 29 29 17 17 17 10 29 29 29 29

N13 29 29 29 29 29 29 29 29 29 29 29 29 10 17 17 17

N14 29 29 29 29 29 29 29 29 29 29 29 29 17 10 17 17

N15 29 29 29 29 29 29 29 29 29 29 29 29 17 17 10 17

N16 29 29 29 29 29 29 29 29 29 29 29 29 17 17 17 10

Page 12: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Linux – Estrutura correta (Orca)

Page 13: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Resultados - Kernbench

Três configurações Domínios de escalonamento com dois níveis 1 nível com todos processadores no domínio de CPU (SMP) 1 nível com todos processadores no domínio de Nodo (NUMA)

Page 14: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migração de páginas

Linux não implementa migração de páginas Somente quando ocorre falta de página (page fault) Acesso à memória fica mais lento Estratégias:

Migrar todas páginas assim que processo migrar Migrar páginas conforme são acessadas

Page 15: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Page 16: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Page 17: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Page 18: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Depois move espaço de endereçamento do processo S2

Page 19: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Depois move espaço de endereçamento do processo S2

Page 20: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar sob demanda

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Page 21: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar sob demanda

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Page 22: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar sob demanda

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Page 23: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar sob demanda

S1 S2

Processador 1

S3

Processador 2

S1 S2 S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

Move parte do espaço de endereçamento do processo S2, quando acessado

Page 24: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Migrar todas páginas

S1 S2

Processador 1

S3

Processador 2

S1 S2S3

Processador 3

S4

Processador 4

S4

Balanceador de carga move processo S2

S2

Move parte do espaço de endereçamento do processo S2, quando acessado

Page 25: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Resultados da simulação

Tx acesso memória/ Tx acesso rep. memória 20% 40% 60%

20% 1,9% 3,6% 5,1%40% 3,9% 7,1% 9,9%60% 5,5% 10,4% 13,7%80% 7,1% 12,8% 17,5%

Comparação com a estratégia atual do Linux Percentual de melhora

Page 26: 1 Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP – Porto Alegre - Brazil

Faculdade de Informática – PUCRS – Congresso da SBC - WSO 2006 – Campo Grande – MS - Julho 2006.

Conclusão

Nova hierarquia para balanceamento de carga Patch disponível para Linux 2.6.14

http://www.inf.pucrs.br/peso Novo esquema de migração de páginas

Sendo desenvolvido em cooperação com HP Labs Melhora do desempenho do Linux para máquinas NUMA