Upload
alice-paiva-rosa
View
216
Download
0
Embed Size (px)
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