400 likes | 577 Views
Sistemas de Arquivos Paralelos Alternativas para a redução do gargalo no acesso ao sistema de arquivos. 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. Agenda.
E N D
Sistemas de Arquivos ParalelosAlternativas para a redução do gargalo no acesso ao sistema de arquivos 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
Agenda • Motivação e objetivos • Sistemas de arquivos distribuídos • Sistemas de arquivos paralelos • PVFS2 vs. Ext3
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.
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.
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.
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.
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.
Sistemas de Arquivos Distribuídos Alguns exemplos: • NFS; • AFS; • CODA; • SPRITE.
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.
Sistemas de Arquivos Paralelos Principais 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.
Sistemas de Arquivos Paralelos Alguns exemplos: • BRIDGE; • PVFS; • PVFS2; • NFSP; • CEFT-PVFS; • GFS.
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.
PVFS Componentes: • 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.
PVFS 1. Cliente procura por informações sobre o arquivo (meta-dados). 2. Sabendo-se onde encontrá-lo, pede o conteúdo do arquivo diretamente ao servidor de dados. Fluxo dos dados:
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.
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.
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.
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.
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.
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.
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).
Resultados – Leitura • Tamanho do bloco de leitura não influencia o desempenho de ambos os sistemas. Ext3 PVFS2 com 8 nós
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. Ext3 PVFS2 com 8 nós
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.
Resultados – Leitura • Sem acesso concorrente, PVFS2 com 2 ou mais servidores é mais rápido que Ext3. 1 thread
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. 1 thread 32 threads
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. Ext3 PVFS2 com 8 nós
Resultados – Escrita • Ao aumentarmos a quantidade de servidores e a concorrência, escrita no PVFS2 e no Ext3 se comporta como a leitura.
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.
Resultados – Escrita • Ao aumentarmos a velocidade dos discos, temos um resultado similar aos testes de leitura. 1 thread 32 threads
PVFS2 vs. Ext3 – Conclusões Para PVFS2, rede rápida é mais importante que discos rápidos Leitura com 32 threads
PVFS2 vs. Ext3 – Conclusões PVFS2 não aproveita velocidade agregada de forma linear 1 thread 32 threads
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.
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.
Obrigado a todos! Questões?