Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick...

66
Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo e Distribuído Instituto de Informática – UFRGS Porto Alegre, 21 de agosto de 2009.

Transcript of Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick...

Page 1: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Evaluating the Performance of Lustre File System

Francieli Zanon Boito

Rodrigo Virote Kassick

Philippe O. A. Navaux

VII Workshop de Processamento Paralelo e Distribuído

Instituto de Informática – UFRGS

Porto Alegre, 21 de agosto de 2009.

Page 2: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

ROTEIROIntrodução

Lustre File System

Testes propostos

Resultados

Conclusões

Page 3: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Clusters de computadores

são uma realidade.

3 de 96Introdução

Page 4: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

As aplicações científicas

geram grandes quantidades de dados.

4 de 96

Esses dados podem

precisar ser acessados em todos os nós.

Introdução

Page 5: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Uma solução bastante

empregada é o uso de Sistemas de

Arquivos Distribuídos

(SADs)

Eles devem prover acesso a dados

remotos como se fossem locais.

Introdução

5 de 96

Page 6: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Muitas opções de projetopodem ser tomadas em relação a arquitetura, comunicação, compartilhamento, sincronização, cache, tolerância a falhas, segurança, ...

Introdução

6 de 96

Page 7: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Dependendo das opções de projeto,

o sistema terá comportamento diferente para

padrões de acesso diferentes.

Para obter um bom desempenho, a

forma com que as aplicações fazem I/O deve combinar com

as otimizações oferecidas pelo

sistema de arquivos.

Introdução

7 de 96

Page 8: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Portanto, estudar o desempenho de sistemas de arquivos sob cargas de

trabalho observadas na prática é importante, pois provê ferramentas

para:

Introdução

8 de 96

Page 9: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Que a aplicação escolha um

sistema “compatível”, ou

que se adapte ao já escolhido.

9 de 96

Que os projetistas de SADs guiem o seu

trabalho para favorecer aplicações

alvo

Introdução

Page 10: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

10 de 96

O objetivo desse trabalhoIntrodução

Page 11: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

11 de 96

Estudar o desempenho do sistema de arquivos

Lustre sob padrões de acesso observados na

prática.

Introdução

Page 12: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

ROTEIROIntrodução

Lustre File System

Testes propostos

Resultados

Conclusões

Page 13: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

O Lustre é um sistema desenvolvido desde o início com o

objetivo de prover alto desempenho e escalar bem para

clusters de milhares de nós.

13 de 96Lustre F.S.

Page 14: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Arquitetura

- Clientes;

14 de 96

Camada de sistema de arquivos virtual.

Lustre F.S.

Page 15: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

- Clientes;

15 de 96

- Servidor de metadados (MDS);

Lustre F.S.

Page 16: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

- Clientes;

16 de 96

- Servidor de metadados (MDS);

- Servidores de dados (OST);

Lustre F.S.

Page 17: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

- Clientes;

17 de 96

- Servidor de metadados (MDS);

- Servidores de dados (OST);

- Dispositivos de armazenamento (OBD);

Os OBDs não precisam ser discos.

Lustre F.S.

Page 18: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

- Clientes;

18 de 96

- Servidor de metadados (MDS);

- Servidores de dados (OST);

- Dispositivos de armazenamento (OBD);

- Réplicas.

Serviço MGS

Lustre F.S.

Page 19: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Os servidores de dados não possuem

cache, mas ela pode estar presente

no dispositivo de armazenamento

utilizado.

19 de 96

Os clientes empregam cache de metadados e de dados com read-ahead.

Lustre F.S.

Page 20: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

A comunicação é feita através da LNET, que

provê suporte a diferentes tecnologias de rede através de drivers

conectáveis (LNDs).

20 de 96Lustre F.S.

Page 21: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

ROTEIROIntrodução

Lustre File System

Testes propostos

Resultados

Conclusões

Page 22: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Foram elaboradas classes de testes

representando padrões de acesso

verificados na prática.

22 de 96

Elas focam em dois aspectos: cache e

distribuição de dados.

Testes

Page 23: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Todos os nós podem acessar um arquivo, ou cada um o seu.

23 de 96

Single File, SF Multiple Files, MF

Testes

Page 24: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Todo o conteúdo do arquivo pode ser acessado, ou só

segmentos.

24 de 96

Whole Access, WA Segmented Access, SA

Testes

Resultando em...

Page 25: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

As classes inspiradas em (Kotz et al.):

25 de 96

Single File,Whole Access

SFWA

Multiple Files,Whole Access

MFWA

Single File,Segmented

AccessSFSA

Testes

Page 26: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

26 de 96

Single File,Whole Access

SFWA

SFWA: todos os clientes lêem concorrentemente todo o conteúdo de um

grande arquivo compartilhado.

Testes

As classes inspiradas em (Kotz et al.):

Page 27: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

27 de 96

Multiple Files,Whole Access

MFWA

MFWA: cada cliente escreve e lê em seu

próprio arquivo.

Testes

As classes inspiradas em (Kotz et al.):

Page 28: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

28 de 96

Single File,Segmented

AccessSFSA

SFSA: cada cliente possui um segmento

próprio para suas operações em um

arquivo compartilhado.

Testes

As classes inspiradas em (Kotz et al.):

Page 29: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Os testes foram realizados com auxílio da ferramenta

MPI-IO Test.

29 de 96Testes

Page 30: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

O teste desejado é descrito através de parâmetros passados à ferramenta.

- Número de arquivos;- Operação realizada;- Barreiras;- Distribuição do arquivo entre os processos: strided ou non-strided.

30 de 96Testes

Page 31: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

31 de 96

- Número de segmentos (e tamanho deles) por cliente.

Testes

Page 32: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

32 de 96

MetodologiaTestes

Page 33: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

33 de 96

- Cluster Helios (Grid5000), nodos biprocessados com AMD Opteron 2.2GHz, 4GB de memória RAM e rede Gigabit Ethernet.

- Sistema de arquivos Lustre.

- 4 servidores de dados;- Até 40 clientes;- Striping em blocos de

64KB, circular começando em servidor aleatório.

Testes

Page 34: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

34 de 96- Cada cliente opera

sobre 2GB.- Servidores de dados

armazenam no sistema de arquivos local (ext3).

- Coletados resultados o número de vezes necessário para ter confiança de 90% e erro relativo de 10% (mínimo de 4 execuções);

Testes

Page 35: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

35 de 96

Testes variando:

- Granularidade das operações;

- Número de clientes.

Testes

Page 36: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

ROTEIROIntrodução

Lustre File System

Testes propostos

Resultados

Conclusões

Page 37: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

37 de 96

- Comando dd do Unix;

- 40 clientes;

- Tamanho do bloco utilizado varia de 1KB a 4MB;

- Erro máximo de 5%.

Single File,Whole Access

SFWA

Variando tamanho de bloco

Resultados

Page 38: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

38 de 96

Variando tamanho de bloco

Não é sensível ao tamanho do bloco.

Resultados

Page 39: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Multiple Files,Whole Access

MFWA

39 de 96

- Ferramenta MPI-IO Test;

- 40 clientes;

- De 2 a 2K objetos, adaptando o seu tamanho para manter a quantidade de dados acessados;

Variando número de objetos

Resultados

Page 40: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

40 de 96

Variando número de objetos

Resultados

Page 41: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

41 de 96

Quando uma grande área contígua é acessada, não

faz diferença fazer o acesso em uma ou várias

requisições.

Resultados

Page 42: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Multiple Files,Whole Access

MFWA

42 de 96

- Ferramenta MPI-IO Test;

- De 1 a 40 clientes;

- 32 objetos de 64MB.

Variando número de clientes

Resultados

Page 43: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

43 de 96

Estabiliza e não sofre degradação.

Variando número de clientes

Resultados

Page 44: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Single File,Segmented

AccessSFSA

44 de 96

- Ferramenta MPI-IO Test;

- 40 clientes;

- De 2 a 2K objetos, adaptando o seu tamanho para manter a quantidade de dados acessados.

Variando número de objetos

Resultados

Page 45: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Variando número de objetos

45 de 96

Com a opção non-strided, desempenho

constante.

Com a opção strided, quanto mais granular, pior o desempenho;

Resultados

Page 46: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

46 de 96

Usando um arquivo compartilhado, é

melhor delegar um grande segmento

por processo.

Resultados

Acessos mais granulares

possuem menor desempenho.

Page 47: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Variando número de objetos

Comparado com o resultado do MFWA

47 de 96

Leitura non-strided tem desempenho

melhor que MFWA.

Resultados

~20%

Page 48: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

48 de 96

Utilizar um arquivo compartilhado

(delegando segmentos) é melhor do que

múltiplos.

Resultados

Page 49: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Single File,Segmented

AccessSFSA

49 de 96

- Ferramenta MPI-IO Test;

- De 1 a 40 clientes;

- 32 objetos de 64MB.

Variando número de clientes

Resultados

Page 50: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Variando número de clientes

50 de 96

Mesma diferença já observada no teste

anterior;

Ambos estabilizam rapidamente;

Non-strided possui melhor desempenho, mas degrada com o aumento de clientes.

Resultados

Page 51: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

51 de 96

Lustre possui boa escalabilidade.

Resultados

Exceção: segmento único em arquivo compartilhado.

Page 52: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

52 de 96

Leitura possui melhor

desempenho que a escrita.~20%

Resultados

Page 53: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

ROTEIROIntrodução

Lustre File System

Testes propostos

Resultados

Conclusões

Page 54: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Esse trabalho apresentou um estudo sobre o comportamento do

desempenho do sistema de arquivos Lustre sob diferentes padrões de

acesso.

54 de 96Conclusões

Page 55: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Para simular os padrões de acesso, foram sugeridas e aplicadas classes de

testes inspiradas em aplicações científicas: SFWA, MFWA e SFSA.

55 de 96

Single File,Whole Access

SFWA

Multiple Files,Whole Access

MFWA

Single File,Segmented

AccessSFSA

Conclusões

Page 56: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Para ter bom desempenho com o Lustre File System,

é desejável que a aplicação possua as

seguintes características:

56 de 96Conclusões

Page 57: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Os nós realizam leituras de grandes áreas contíguas.

57 de 96Conclusões

Page 58: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Se os nós acessam uma área contígua de dados,

não faz diferença em quantas requisições.

58 de 96Conclusões

Page 59: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Se os nós possuem dados exclusivos, eles são

armazenados em segmentos de um arquivo

compartilhado.

59 de 96Conclusões

Page 60: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Os resultados permitem a adequação de aplicações

para que tirem melhor proveito do Lustre, obtendo um melhor

desempenho.

60 de 96Conclusões

Page 61: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Os resultados também podem ser utilizados para uma melhor comparação

do Lustre com outros sistemas de arquivos.

61 de 96Conclusões

Page 62: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Obrigada pela atenção!

Perguntas?

Page 63: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

Evaluating the Performance of Lustre File System

Francieli Zanon Boito

Rodrigo Virote Kassick

Philippe O. A. Navaux

VII Workshop de Processamento Paralelo e Distribuído

Instituto de Informática – UFRGS

Porto Alegre, 21 de agosto de 2009.

Page 64: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

64 de 96

Single File,Whole Access

SFWA

Aplicações que precisam ler todos os dados de um arquivo (de checkpoint ou resultados anteriores) por

todos os nós antes de iniciar a computação.

Exemplo: MESSKIT, método Hartree-Fock

para calcular densidade de elétrons.

Testes

As quatro classes inspiradas em (Kotz et al.):

Page 65: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

65 de 96

Multiple Files,Whole Access

MFWA

Aplicações em que cada nó guarda seus dados em arquivos próprios,

que serão usados num pós-processamento.

ESCAT, aplicação para simular colisões de baixa energia entre

moléculas e elétrons.

Testes

As quatro classes inspiradas em (Kotz et al.):

Page 66: Evaluating the Performance of Lustre File System Francieli Zanon Boito Rodrigo Virote Kassick Philippe O. A. Navaux VII Workshop de Processamento Paralelo.

66 de 96

Single File,Segmented

AccessSFSA

Mesma situação da classe MFWA, porém

em escala de segmentos, não de

arquivos.

Flash, aplicação da Astrofísica.

Testes

As classes inspiradas em (Kotz et al.):