Sistemas de Arquivos Paralelos
Roberto Pires de Carvalho
carvalho arroba ime ponto usp ponto br
Departamento de Ciência da Computação
Instituto de Matemática e Estatística
Universidade de São Paulo
Conteúdo
•
•
•
•
•
•
Motivação
Objetivos
SADs
SAPs
Trabalhos Futuros
Referências
2
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.
3
Motivação
4
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.
5
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.
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 (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).
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
Nossa abordagem:
• NFSv3;
• NFSv4;
• AFS;
• CODA;
• SPRITE.
9
NFSv3
Caracterí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.
10
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.
11
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).
12
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).
13
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.
14
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).
15
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.
16
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.
17
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.
18
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.
19
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.
20
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.
21
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.
22
Sistemas de Arquivos Paralelos
Nossa abordagem:
• BRIDGE;
• PVFS;
• NFSP.
23
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.
24
BRIDGE
25
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.
26
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.
27
PVFS
Fluxo dos dados:
1. Cliente procura por informações
sobre o arquivo (meta-dados).
2. Sabendo onde encontrá-lo, pede
o conteúdo do arquivo diretamente
ao servidor de dados.
28
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.
29
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 usase 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.
30
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.
31
Desempenho - PVFS
Agrupado por leitura e escrita:
32
Desempenho - PVFS
Agrupado por quantidade de dados:
33
Desempenho - PVFS
Conclusõ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.
34
Desempenho - NFSP
Agrupado por leitura e escrita:
35
Desempenho - NFSP
Agrupado por quantidade de dados:
36
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 metadados;
37
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.
38
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.
39
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://wwwid.imag.fr/Laboratoire/Membres/Lobry_Olivier/PVFS_NFSP/PVFS_NFSP.ht
ml
40
Download

Sistemas de Arquivos Paralelos - IME-USP