Sistemas de Arquivos Paralelos Roberto Pires de Carvalho carvalho arroba ime ponto usp ponto br...

Preview:

Citation preview

Sistemas de Arquivos Paralelos

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

Conteúdo

• Motivação• Objetivos• SADs• SAPs• Trabalhos Futuros• Referências

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.

4

Motivação

5

Motivação

• Sistemas de arquivos distribuídos não conseguem atender a muitos acessos simultâneos aos mesmos arquivos devido a:– Preocupação com segurança;– Alta disponibilidade e tolerância a falhas;– Redundância e sincronização.

6

Objetivos

• Estudo dos sistemas de arquivos distribuídos (SADs) que mais inovaram na área;

• Estudo de sistemas de arquivos paralelos (SAPs) mais interessantes;

• Comparativo entre sistemas de arquivos comuns, distribuídos e paralelos, quanto ao desempenho e características;

• Tentativa de melhoria de algum SAP (provavelmente PVFS2) para tratamento de arquivos grandes.

7

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 (usuário não necessita saber em qual servidor o arquivo pedido está);

• Preocupação com a qualidade do serviço oferecido (isto é, evitar falhas e deixar o serviço sempre funcionando).

8

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.

9

Sistemas de Arquivos Distribuídos

Nossa abordagem:• NFSv3;• NFSv4;• AFS;• CODA;• SPRITE.

10

NFSv3Características:• Protocolo público desde 1985;• Não se guarda estado das transações realizadas;• Os clientes não se preocupam com quedas. Basta pedir os

dados novamente, até que o servidor responda;• Pouco uso de memória (por não ter que guardar estados dos

clientes);• Weak Cache Consistency: servidor informa o cliente se algum

outro cliente alterou o arquivo que está no seu cache;• Delayed-Write: somente arquivos que não foram alterados por

algum tempo são enviados ao servidor. Evita enviar arquivos que serão apagados em breve, como os temporários;

• Muito utilizado em redes Unix.

11

NFSv3

Problemas:• Por não manter estado, não era possível controlar

locks sem o auxílio de outras aplicações;• Também por não manter estado, não se pode

controlar o acesso concorrente e nem garantir sua consistência (atualização de caches muito demorada);

• Segurança frágil: baseada em gid e uid, as verificações são simples, e os dados não trafegam criptografados.

12

NFSv4

Características:• Mantém estado das transações juntamente com os clientes,

ajudando-o a decidir se usa um cache mais agressivo dos dados ou não;

• Controle de locks baseado em leases;• Delegação de arquivos: o cliente altera os arquivos no seu

cache, e só manda para o servidor quando não precisar mais, ou quando for requisitado;

• Uso de TCP na comunicação entre clientes e servidor, não mais UDP;

• Segurança melhorada, utilizando-se dos protocolos Kerberos 5 e SPKM3. Autenticação baseada em texto, e não mais numérica (uid e gid).

13

AFS – ANDREW File System

Características:• Iniciado em 1983;• Trouxe o conceito de callback: é uma garantia de que

o cliente está com a versão mais nova do arquivo no seu cache. Ele é quebrado quando algum cliente altera esse arquivo;

• Semântica de sessão: só se percebe as alterações de outro cliente no mesmo arquivo quando aquele o fechar;

• Segurança baseada em listas de controle de acesso (ACL).

14

AFS – ANDREW File System

Princípios durante seu desenvolvimento:• Se o cliente pode realizar o trabalho, então o servidor não o

fará;• Sempre que possível deve-se diminuir a carga dos servidores e

da rede;• Explorar os tipos de acesso aos arquivos. Por exemplo, arquivos

temporários ficam na máquina local, arquivos executáveis podem ser replicados (para distribuição da carga);

• Não centralizar informações ou serviços que podem ser replicados;

• Segurança: não confiar em muitas entidades;• Agrupar o trabalho quando possível. Uma leitura de 50Kbyte é

melhor que 50 leituras de 1Kbyte.

15

CODA

Características:• Iniciado em 1987 a partir do AFS;• Manter alta disponibilidade ao extremo:

tentar deixar seus arquivos disponíveis mesmo não estando conectado à rede;

• Replicação dos dados baseado em VSGs (Volume Storage Groups).

16

CODA

Modos de funcionamento:• Hoarding: cliente conectado à rede, mas sempre

preparado para uma desconexão;• Emulação: cliente desconectado. O sistema de

arquivos é emulado por um processo que se utiliza dos arquivos mais usados (ou selecionados anteriormente) armazenados localmente;

• Reintegração: O cliente volta à rede. Seus arquivos locais são então sincronizados com os servidores.

17

SPRITE

Características:• Sistema operacional iniciado em 1984;• Criado para que várias máquinas funcionassem

como uma só;• Desenhado para ser transparentemente distribuído

entre os integrantes da rede;• Possibilita migração de processos entre máquinas;• Possibilidade da rede ser multi-plataforma;• Baixa segurança, pois todos clientes são

considerados confiáveis.

18

SPRITE – Sistema de Arquivos

Características:• Uso agressivo de memória para cache de arquivos;• Evita fazer cache de arquivos executáveis que estão

sendo executados, por já estarem na memória;• Uso de delayed-writes como política de escrita;• Permite acesso concorrente com escrita:

– Quando o servidor detecta, ele pede aos clientes que lhe enviem seus caches sujos (se houverem) e avisa para que utilizem diretamente o servidor para acessar tal arquivo.

19

SPRITE – Sistema de Arquivos

Características:• Recuperação distribuída de estado: Após

uma queda de servidores, os clientes enviam o estado dos arquivos que eles têm aberto para os servidores;

• Sistema de arquivos local baseado em log aumenta a consistência dos dados em caso de queda.

20

Sistemas de Arquivos Paralelos

Características:• Preocupação com o alto desempenho no

acesso aos dados de forma concorrente (seja no mesmo disco, arquivo ou pedaço do arquivo);

• Baixa segurança, disponibilidade, tolerância a falhas, transparências de uso e acesso;

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

21

Sistemas de Arquivos Paralelos

Principais vantagens:• Melhora o desempenho no acesso

concorrente e simultâneo;• Diminui a latência;• Aumenta a vazão;• Altamente escalável.

22

Sistemas de Arquivos Paralelos

Principais desvantagens:• Sincronização das cópias ou cache (se

houver);• Aumento da vazão implica em aumento

do uso da rede;• Transparência no acesso paralelo não é

fácil de se implementar.

23

Sistemas de Arquivos Paralelos

Nossa abordagem:• BRIDGE;• PVFS;• NFSP.

24

BRIDGE

Características:• Um dos primeiros sistemas de arquivos

paralelos (1988);• Mantém uma estrutura lógica dos arquivos,

enquanto que os blocos são armazenados em diferentes nós físicos (Interleaved Files), onde a localização de cada bloco pode ser definida por funções matemáticas.

25

BRIDGE

26

PVFS

Características:• Alto desempenho em espaço de usuário no acesso

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

existentes;• Distribuição física dos dados entre os múltiplos nós.

Problemas:• Nenhuma segurança nas permissões de acesso;• Não possui tolerância a falhas.

27

PVFS

Componentes:• Servidor único de meta-dados;• Múltiplos servidores de dados;• Acesso:

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

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

28

PVFS

Fluxo dos dados:

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

2. Sabendo onde encontrá-lo, pedeo conteúdo do arquivo diretamente

ao servidor de dados.

29

PVFS2

Algumas características a serem incorporadas:• Múltiplos servidores de meta-dados;• Suporte modular para múltiplos protocolos de

rede;• Replicação entre servidores de dados,

usando esquemas RAID (PVFS v1 funciona como RAID-0);

• Auto-gerenciamento mais robusto;• Entre outros.

30

NFSP

Características:• Protocolo de comunicação do NFSv2 (RFC1094);• Transparente para clientes NFS;• Distribuição dos dados entre servidores como no PVFS;• Alto desempenho;• Implementação inicial de redundância de dados. Para isso usa-

se um viod (virtual iod) no lugar do iod (daemon de dados) do PVFS. Ele representa vários iods que possuem os mesmos dados (cópia);

• Distribuição da carga dos servidores de dados ao se utilizar de redundância.

31

Desempenho

Nosso escopo:• Testes com PVFS e NFSP isoladamente;• Análise de desempenho em leitura e escrita;• Variar número de clientes e servidores de

dados para comparar desempenho.

32

Desempenho - PVFSAgrupado por leitura e escrita:

33

Desempenho - PVFSAgrupado por quantidade de dados:

34

Desempenho - PVFSConclusões:• Quando a largura máxima da banda é atingida o desempenho

do sistema passa a se degradar, mostrando que a rede não é o único limitante;

• Para a escrita a degradação é mais forte quando a quantidade de informações passa do tamanho do cache, pois o servidor acaba sendo obrigado a enviar os dados para o disco;

• Na leitura percebe-se que ao se pedir poucos dados (< total de RAM), o uso da banda não é bem aproveitado como quando se pede muitos dados. Isso ocorre pois o tempo de transmissão dos dados é menor (pois são poucos), diminuindo o tempo de pedidos de requisições, mas aumentando a quantidade delas;

• O desempenho aumenta juntamente com o número de iods. Isto mostra que o sistema é escalável, bastando adicionar iods para dar conta da demanda.

35

Desempenho - NFSPAgrupado por leitura e escrita:

36

Desempenho - NFSPAgrupado por quantidade de dados:

37

Desempenho - NFSP

Conclusões:• Para leitura de poucos dados, se mostrou melhor

que o PVFS (onde a curva não cresce tão rápido), pois os dados estão quase que todos no cache do servidor (implementação NFS);

• Mas o uso da banda vai caindo conforme se aumenta o número de servidores. O pico para 4 é 44Mb/s (90%), para 8 é 76Mb/s (77%) e para 16 servidores é 78Mb/s (40%). Isso pode ser explicado pela saturação do processador do servidor de meta-dados;

38

NFSP - Desempenho

Conclusões:• A banda para escrita não passa de 10Mb/s (81% da

banda do servidor de meta-dados). Como nesse caso é necessário passar todos os pedidos por esse servidor, esse comportamento pode ser considerado normal;

• Para um número suficiente de clientes, dobrar o número de servidores de dados dobra o uso da banda, mostrando que a carga é bem distribuída.

39

Trabalhos Futuros

• Testes comparativos no acesso e manipulação de arquivos grandes entre EXT2, NFS, NFSP, PVFS e PVFS2;

• Análise dos resultados e busca de formas de se melhorar o desempenho;

• Implementação de supostas melhorias para este caso em algum dos SAPs estudados (provavelmente PVFS);

• Análise dos resultados e documentação.

40

Referências

• NFS: http://nfs.sourceforge.net• CODA: http://www.coda.cs.cmu.edu/doc/html/index.html• SPRITE: http://www.cs.berkeley.edu/projects/sprite• PVFS: http://www.pvfs.org/• NFSP: http://www-id.imag.fr/Laboratoire/Membres/Lombard_Pierre/nfsp• Testes PVFS e NFSP:

http://www id.imag.fr/Laboratoire/Membres/Lobry_Olivier/PVFS_NFSP/PVFS_NFSP.html

Recommended