Sistemas de Arquivos Paralelos Alternativas para a redução do gargalo no acesso ao sistema de...

Preview:

Citation preview

Sistemas de Arquivos Paralelos

Alternativas para a redução do gargalo no acesso ao sistema de arquivos

Roberto Pires de Carvalhocarvalho arroba ime ponto usp ponto br

Departamento de Ciência da ComputaçãoInstituto de Matemática e Estatística

Universidade de São Paulo

2

Agenda

• Motivação e objetivos• Sistemas de arquivos distribuídos• Sistemas de arquivos paralelos• PVFS2 vs. Ext3

3

Motivação• Velocidades de acesso e transmissão de

dados a partir de discos não evoluíram tanto quanto rede, processador e memória.

0

1

2

3

4

5

6

7

8

1986

1994

1996

1997

1998

1999

2000

2001

2002

2003

2004

Tempo

Evo

luçã

o

HDD (banda)HDD (latência)Rede (banda)Processador (freq.)Processador (banda)

4

Motivação

• Os sistemas de arquivos distribuídos (SADs), embora sejam mais populares, sacrificam desempenho para disponibilizar qualidade de serviço, como por exemplo:– Controle de acesso e segurança;– Alta disponibilidade;– Tolerância a falhas;– Transparência no acesso.

Roberto Pires de Carvalho
- Segurança: sobrecarga no controle de acesso e criptografia;- Alta disponibilidade e tolerância a falhas: sobrecarga na replicação e sincronização da escrita entre os clientes;- Transparência no acesso: limita e simplifica as formas de acesso.

5

Objetivos

• Diferenciar sistemas de arquivos paralelos e distribuídos;

• Descrever em detalhes alguns sistemas de arquivos;

• Mostrar alguns testes de desempenho;• Comparar o PVFS2 com o sistema de

arquivos local.

6

Sistemas de Arquivos Distribuídos

Características:• Espaço de nomes único para o usuário,

mesmo que distribuído entre os servidores;

• Visão do sistema de arquivos como uma unidade;

• Preocupação com a qualidade do serviço oferecido.

Roberto Pires de Carvalho
Nos dá um sistema simples de usar, voltado para usuários comuns e aplicações simples:- Transparência no acesso: usuário não necessita saber em qual servidor o arquivo pedido está;- Qualidade de serviço: evitar falhas e deixar o serviço sempre funcionando.

7

Sistemas de Arquivos Distribuídos

Principais vantagens:• Facilidade na manutenção e

administração;• Simplicidade no uso;• Visão única entre os clientes.Principais desvantagens:• Não são muito eficientes no acesso

concorrente ou simultâneo;• Nem sempre são escaláveis.

8

Sistemas de Arquivos Distribuídos

Alguns exemplos:• NFS;• AFS; • CODA;• SPRITE.

9

Sistemas de Arquivos Paralelos

Características:• Alto desempenho no acesso aos dados de

forma concorrente, seja no mesmo disco, no mesmo arquivo ou em uma parte dele;

• Pouca preocupação quanto à segurança dos dados, disponibilidade dos arquivos e tolerância a falhas dos discos e servidores;

• Acesso paralelo aos dados usa biblioteca específica com funções de alto desempenho;

• Uso praticamente acadêmico e em pesquisas onde alto desempenho é crítico.

10

Sistemas de Arquivos ParalelosPrincipais vantagens:• Melhor desempenho no acesso concorrente e

simultâneo;• Diminuição da latência;• Aumento da vazão e da escalabilidade.Principais desvantagens:• Aumento da vazão implica em aumento do

uso da rede;• Pouca preocupação quanto à segurança dos

dados;• Acesso às funções de alto desempenho

diminuem transparência no acesso.

11

Sistemas de Arquivos Paralelos

Alguns exemplos:• BRIDGE;• PVFS;• PVFS2;• NFSP;• CEFT-PVFS;• GFS.

12

PVFS

Características:• Apresentado em 1996;• Desenvolvido para Linux, com código-fonte aberto;• Alto desempenho em espaço de usuário no acesso

concorrente e simultâneo aos arquivos;• Acesso transparente para as ferramentas já

existentes;• Distribuição física dos dados entre os múltiplos nós.• Pouca segurança nas permissões de acesso;• Não possui tolerância a falhas.

13

PVFSComponentes:• Servidor único de meta-dados;• Múltiplos servidores de dados;• Modos de acesso:

– Via API nativa do PVFS (biblioteca);– Via módulo para o núcleo do Linux, que acessa a biblioteca

PVFS e proporciona acesso transparente para aplicações já existentes, a um baixo custo de desempenho.

14

PVFSFluxo dos dados:

1. Cliente procura por informaçõessobre o arquivo (meta-dados).

2. Sabendo-se onde encontrá-lo,pede o conteúdo do arquivodiretamente ao servidor de dados.

15

PVFS – Desempenho

Roberto Pires de Carvalho
Leitura:- Para qualquer número de servidores, o limite da velocidade da rede foi atingido;- Para poucos dados, desempenho cai pois temos muitos pedidos em pouco tempo, e servidores respondem na ordem de chegada, e tempo medido leva em conta o mais lento;- Para muitos dados, latência do disco influencia quando se tem muitos clientes.Escrita:- Quando se escreve muito mais dados que o cache, escrita é no disco, caindo desempenho;

16

PVFS2

Algumas diferenças com relação ao PVFS1:• Iniciado em 2003 e foi lançado em 2004;• Arquitetura modular;• Protocolo de rede modular (BMI);• Métodos de armazenamento físico dos dados

modular (Trove);• Aceita outros algoritmos de distribuição de dados, e

não somente round-robin;• Permite múltiplos servidores de meta-dados;• Pode-se configurar em quais nós armazenar algum

arquivo;• Suporte a redundância de dados.

Roberto Pires de Carvalho
- Reimplementação das melhores características- TCP/IP como protocolo padrão (no BMI - Buffered Messaging Interface)- Redundância seria desempenhada pelo cliente- Servidores de meta-dados e de dados podem ser a mesma máquina sem perda de desempenho significativa.

17

NFSP

Características:• Apresentado em 2002;• Modificação nos servidores PVFS para dar

suporte ao protocolo de comunicação do NFSv2 (RFC1094);

• Clientes NFS comuns podem acessá-lo de forma transparente;

• Distribuição dos dados entre servidores;• Implementação inicial de redundância de

dados;• Distribuição da carga entre os servidores de

dados ao se utilizar de redundância.

Roberto Pires de Carvalho
- Redundância implementada ao tornar o IOD em VIOD, ou seja, Virtual IOD: conjunto de IODs com os mesmos dados.

18

NFSP – Desempenho

Roberto Pires de Carvalho
Leitura:- Dados em cache ajudam muito no desempenho;- Desempenho metade do obtido pelo PVFS pois houve saturação do processador do servidor de meta-dados;- Carga é bem distribuída entre os servidores, pois ao dobrar número de servidores, desempenho dobra.Escrita:- Desempenho constante para escrita. Por causa do protocolo NFS, todas dados gravados passam pelo servidor de meta-dados.

19

CEFT-PVFS

Características:• Apresentado em 2003;• Modificação no PVFS para permitir dividir

servidores em dois grupos: primário e secundário;

• Replicação dos dados;• Tolerância a falhas;• Distribuição de carga.

Roberto Pires de Carvalho
Cost Effective Fault Tolerant:- Ambos grupos possuem a mesma quantidade de servidores;- Grupo secundário replica dados do grupo primário;- Tolerância a falhas: Caso o cliente não consiga acessar um grupo, ele próprio realiza requisições para o outro;- Distribuição de carga: Caso um grupo esteja sobrecarregado, este pede ao cliente para acessar o outro.

20

CEFT-PVFS – Desempenho

Roberto Pires de Carvalho
- Média de ganho com cache 69%;- Média de ganho com disco 91%.

21

Nossa Proposta

• Mostrar que um SAP pode ser mais eficiente que um sistema de arquivos local, sob mesmas condições, ao acessar muitos dados, de forma concorrente e simultânea.

22

Nossa Estratégia

Roberto Pires de Carvalho
Usar processador, memória e rede rápidos o suficiente para que, ao acessar os vários discos dos servidores simultaneamente, a velocidade disponibilizada pelo PVFS se torne maior que a velocidade do sistema de arquivos local.

23

PVFS2 vs. Ext3 – Testes

Ambiente:• Rede conectada a 100MBits/s;• Máquinas com configuração

homogênea: Athlon 1.2GHz, 768MB de RAM, 16GB de espaço livre em disco IDE Ultra ATA/133, 7200RPM;

• Kernel do Linux na versão 2.6.10.

24

PVFS2 vs. Ext3 – Testes

Leitura:• Caches dos servidores e cliente limpos;• Leitura de apenas um arquivo de tamanho

específico por várias threads;• Cada thread lê uma região distinta, de

tamanho fixo, de forma seqüencial.Escrita:• Cada thread gera um arquivo específico, de

forma seqüencial, com dados aleatórios;• Todos os arquivos têm o mesmo tamanho.

25

PVFS2 vs. Ext3 – Testes

Variáveis:• Tamanho do arquivo: de 1MB a 1GB;• Tamanho do bloco de dados: de 1KB a 1MB;• Quantidade de threads usadas: de 1 a 32;• Velocidade dos discos ajustada através da

ferramenta hdparm para variar o modo PIO de 0 a 3;

• Escrita com e sem sincronização (flush).

26

Velocidades dos Discos por Modo PIO

0,00

5,00

10,00

15,00

20,00

25,00

30,00

35,00

40,00

Servidores

Vel

ocid

ade

Méd

ia d

e Le

itura

(MB

/s)

PIO 4 35,50 35,51 24,35 35,57 34,94 35,51 35,53 33,85 35,50 35,47

PIO 3 6,83 6,80 6,83 6,83 6,82 6,81 6,83 6,83 6,84 6,81

PIO 2 6,17 6,16 6,17 6,19 6,18 6,18 6,19 6,18 6,19 6,17

PIO 1 4,14 4,13 4,14 4,14 4,14 4,14 4,15 4,15 4,15 4,14

PIO 0 2,83 2,82 2,83 2,83 2,83 2,83 2,82 2,83 2,83 2,83

Cliente Meta-Dados Dados 1 Dados 2 Dados 3 Dados 4 Dados 5 Dados 6 Dados 7 Dados 8

27

Resultados – Leitura

• Tamanho do bloco de leitura não influencia o desempenho de ambos os sistemas.

0

0,5

1

1,5

2

2,5

3

1 4 16 64 256 1024

Tamanho do bloco de leitura (KB)

Vel

ocid

ade

(MB

/s) 1 Thread

2 Threads4 Threads8 Threads16 Threads32 Threads

0

2

4

6

8

10

12

1 4 16 64 256 1024

Tamanho do bloco de leitura (KB)

Vel

ocid

ade

(MB

/s) 1 Thread

2 Threads4 Threads8 Threads16 Threads32 Threads

Ext3 PVFS2 com 8 nós

28

Resultados – Leitura

• Tamanho do arquivo não afeta desempenho do Ext3;• Porém afeta desempenho do PVFS2 para arquivos

pequenos com mais de 1 thread.

0

0,5

1

1,5

2

2,5

3

1 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Lidos (MB)

Vel

ocid

ade

(MB

/s) 1 thread

2 threads4 threads8 threads16 threads32 threads

0

2

4

6

8

10

12

1 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Lidos (MB)

Vel

ocid

ade

(MB

/s)

1 thread2 threads4 threads8 threads16 threads32 threads

Ext3 PVFS2 com 8 nós

Roberto Pires de Carvalho
- PVFS2 é afetado pois existe sobrecarga de inicialização e abertura dos arquivos por cada thread, que não é compensada a tempo para arquivos menores que 128MB.

29

Resultados – Leitura

• Aumentar a quantidade de servidores PVFS2 nos dá:– Maior velocidade agregada de transferência de dados;– Maior quantidade de memória cache;– Maior espaço de armazenamento disponibilizado;– Suporte a uma quantidade crescente de clientes;– Desempenho do PVFS2 superior ao Ext3.

0

2

4

6

8

10

12

1 2 4 8 16 32

Quantidade de Threads

Vel

ocid

ade

(MB

/s)

Ext3PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

-50%

0%

50%

100%

150%

200%

250%

300%

350%

1 2 4 8 16 32

Quantidade de Threads

Gan

ho s

obre

Ext

3

PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

Roberto Pires de Carvalho
PVFS2 não atinge o esperado:- Esperado: 2 nós -> 100%- Esperado: 4 nós -> 300%- Esperado: 8 nós -> 700% (limitado pela rede)Razões:- Pedidos em paralelo a partir de 1 cliente com 1 processador;- Alguns dos pedidos concorrentes caem no mesmo servidor, ao mesmo tempo;- O cliente e o servidor perdem um certo tempo processando as requisições antes de efetivamente transferirem os dados.

30

Resultados – Leitura

• Sem acesso concorrente, PVFS2 com 2 ou mais servidores é mais rápido que Ext3.

0

1

2

3

4

5

6

7

8

9

1 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Lidos (MB)

Vel

ocid

ade

(MB

/s)

Ext3PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

1 thread

Roberto Pires de Carvalho
- Isso acontece devido ao PVFS2 ter sido projetado para paralelizar todas suas tarefas, executando-as de forma assíncrona sempre que possível.

31

Resultados – Leitura

• Ao aumentarmos a velocidade dos discos percebemos que:– Desempenho do Ext3 está diretamente ligado ao disco;– Desempenho do PVFS2 não aumenta proporcionalmente.

0

2

4

6

8

10

12

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Vel

ocid

ade

Obt

ida

(MB

/s)

Ext3PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

0

2

4

6

8

10

12

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Vel

ocid

ade

Obt

ida

(MB

/s)

Ext3PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

1 thread 32 threads

Roberto Pires de Carvalho
- PVFS2 está limitado à velocidade da rede.

32

Resultados – Escrita

• Tamanho do bloco de escrita não influencia no resultado;• Tamanho do arquivo afeta desempenho do Ext3;• PVFS2 não é afetado pelo cache por não possuí-lo;• Forçar escrita usando flush não mudou resultado.

0

5

10

15

20

25

1 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Escritos (MB)

Vel

ocid

ade

(MB

/s)

1 thread2 threads4 threads8 threads16 threads32 threads

0

2

4

6

8

10

12

1 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Escritos (MB)

Vel

ocid

ade

(MB

/s) 1 thread

2 threads4 threads8 threads16 threads32 threads

Ext3 PVFS2 com 8 nós

Roberto Pires de Carvalho
Ext3:- Para poucos dados, escrita ocorre somente em cache;- Para muitos dados o cache enche e há necessidade de se escrevê-los em disco;PVFS2:- Desempenho só é afetado com poucos dados, pois sobrecarga não é compensada a tempo;- Existe cache somente no sistema de arquivos local de armazenamento dos dados no servidor. Por isso desempenho é pouco melhor que na leitura.- Linux 2.6.10 não implementa fflush e nem fsync.

33

Resultados – Escrita

• Ao aumentarmos a quantidade de servidores e a concorrência, escrita no PVFS2 e no Ext3 se comporta como a leitura.

0

2

4

6

8

10

12

1 2 4 8 16 32

Quantidade de Threads

Vel

ocid

ade

(MB

/s)

Ext3PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

-50%

0%

50%

100%

150%

200%

250%

300%

350%

1 2 4 8 16 32

Quantidade de Threads

Gan

ho s

obre

Ext

3

PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

Roberto Pires de Carvalho
- PVFS2 melhora mas não proporcionalmente, e está limitado pela rede.

34

Resultados – Escrita

• Sem acesso concorrente, o PVFS2 com 2 ou mais servidores ganha do Ext3 também na escrita, para uma quantidade suficiente de dados.

0

24

6

810

12

14

1618

201 2 4 8 16 32 64 128

256

512

1024

Quantidade de Dados Escritos (MB)

Vel

ocid

ade

(MB

/s)

Ext3PVFS 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

35

Resultados – Escrita

• Ao aumentarmos a velocidade dos discos, temos um resultado similar aos testes de leitura.

1 thread 32 threads

0

2

4

6

8

10

12

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Vel

ocid

ade

Obt

ida

(MB

/s)

Ext3PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

0

2

4

6

8

10

12

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Vel

ocid

ade

Obt

ida

(MB

/s)

Ext3PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

Roberto Pires de Carvalho
- Desempenho do Ext3 está diretamente ligado ao disco, mas influenciado pelo cache de escrita;- Desempenho do PVFS2 não aumenta proporcionalmente, e ainda está limitado à rede (conforme percebe-se para 4 e 8 nós).

36

PVFS2 vs. Ext3 – Conclusões

Para PVFS2, rede rápida é mais importante que discos rápidos

0

2

4

6

8

10

12

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Vel

ocid

ade

Obt

ida

(MB

/s)

Ext3PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

Leitura com 32 threads

-50%

0%

50%

100%

150%

200%

250%

300%

350%

0,00 2,00 4,00 6,00 8,00

Velocidade dos Discos (MB/s)

Gan

ho s

obre

Ext

3

PVFs 1 nóPVFS 2 nósPVFS 4 nósPVFS 8 nós

Roberto Pires de Carvalho
- Pois dá vazão suficiente para a velocidade agregada dos servidores;- Enquanto desempenho do Ext3 depende somente do disco.

37

PVFS2 vs. Ext3 – Conclusões

PVFS2 não aproveita velocidade agregada de forma linear

1 thread 32 threads

0%

20%

40%

60%

80%

100%

120%

Apr

ovei

tam

ento

da

Ban

da d

os D

isco

s

PIO 0

PIO 1

PIO 2

PIO 3

PIO 0 101% 88% 73% 55% 34%

PIO 1 102% 82% 65% 48% 24%

PIO 2 102% 72% 56% 36% 17%

PIO 3 102% 71% 52% 33% 15%

Ext3 PVFs 1 nó PVFS 2 nós PVFS 4 nós PVFS 8 nós0%

20%

40%

60%

80%

100%

120%

Apr

ovei

tam

ento

da

Ban

da d

os D

isco

s

PIO 0

PIO 1

PIO 2

PIO 3

PIO 0 94% 91% 89% 78% 49%

PIO 1 95% 87% 86% 63% 34%

PIO 2 96% 78% 76% 44% 23%

PIO 3 95% 75% 69% 40% 20%

Ext3 PVFs 1 nó PVFS 2 nós PVFS 4 nós PVFS 8 nós

Roberto Pires de Carvalho
- Pois há sobrecarga na comunicação cliente/servidor;- Existe limitação da velocidade da rede;- Aumento da concorrência melhora o aproveitamento do PVFS2 e piora do Ext3;- Ext3 acompanha mudança na velocidade dos discos.

38

PVFS2 vs. Ext3 – Conclusões

PVFS2 utiliza somente 92% da banda da rede (média 11,5MB/s)• Se disco é 8% mais lento que a rede, PVFS2 e Ext3 “empatariam”.

PVFS2 é mais rápido que Ext3 em rede Ethernet 1000Base-T?• Se discos possuem velocidade média de 28MB/s:

– Similar aos testes com modo PIO 0;– PVFS2 com 8 servidores;– 32 threads clientes;– Aproveitamento do PVFS2 seria de ~49%;– Resultado: 28 x 8 x 49% = 109MB/s.

• Se discos possuem velocidade média de 68MB/s:– Similar aos testes com modo PIO 3;– Usando PVFS2 com 8 servidores;– 32 threads clientes;– Aproveitamento do PVFS2 seria de ~20%;– Resultado: 68 x 8 x 20% = 109MB/s.

Roberto Pires de Carvalho
Tanto para discos com 28MB/s ou 68MB/s, configuração sugerida para PVFS2 vai ficar limitada pela rede.

39

Trabalhos Futuros

• Testes comparativos no acesso e manipulação de arquivos grandes entre PVFS2 e Ext3 em uma rede Gigabit;

• Analisar, discutir e explicar os resultados encontrados;

• Preparar um artigo com os resultados para o Simpósio Brasileiro de Redes de Computadores (SBRC) de 2006.

40

Obrigado a todos!

Questões?

Recommended