+ All Categories
Home > Documents > YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini...

YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini...

Date post: 18-Apr-2015
Category:
Upload: internet
View: 102 times
Download: 0 times
Share this document with a friend
Popular Tags:
23
YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação e Informática
Transcript
Page 1: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFSYet Another Distributed File System

Marcus Vinícius Neves Silva

Calebe de Paula Bianchini

Universidade Presbiteriana Mackenzie

Faculdade de Computação e Informática

Page 2: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Introdução YADFS: sistema de arquivos distribuído Propósitos

Alto desempenho Alta disponibilidade

Baseado nas tecnologias FUSE RAID

Page 3: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Sistemas de Arquivos Originalmente desenvolvidos para desktops e

sistemas de computadores centralizados São subsistemas dos sistemas operacionais Seu propósito é prover uma interface de

programação conveniente para dispositivos de armazenamento em disco

Através desta interface os programas de usuário acessam os arquivos armazenados nestes dispositivos

Page 4: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Sistemas de Arquivos Distribuídos Assim como um FS (File System), um DFS

(Distributed File System) também é implementado como parte do sistema operacional

Seu propósito é permitir o compartilhamento de arquivos através da rede utilizando um FS comum entre as máquinas

É desejável que um DFS possa ser utilizado de forma minimamente similar a um sistema de arquivos local

Page 5: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID RAID é uma tecnologia implementada em

hardware ou software proposta nos anos 80 Objetivo: aumentar o desempenho e a

disponibilidade de dispositivos de armazenamento em disco

Page 6: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID São utilizadas duas técnicas básicas, ambas

utilizando múltiplos discos: Paralelismo Redundância

Estas técnicas podem ser utilizadas individualmente ou combinadas, obtendo-se o melhor de ambas

Page 7: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID - Paralelismo Aumento de desempenho através de data

striping (em nível de bit ou de bloco) Distribui dados entre múltiplos discos para

que pareçam um único, rápido e grande disco Melhora o desempenho agregado de E/S

permitindo que múltiplas E/Ss sejam servidas em paralelo

Page 8: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID - Paralelismo Quanto mais discos no array:

Melhor o desempenho, mas... Maior probabilidade de ocorrência de falhas Array com 100 discos = 1/100 da confiabilidade

de um disco individual Como resolver?

Page 9: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID - Redundância Necessário adotar a redundância A maior parte dos arrays utiliza uma das

seguintes técnicas para cálculo da informação redundante: Paridade Códigos de Hamming Códigos de Reed-Solomon

Page 10: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

RAID – Níveis Os níveis de RAID variam de 0 a 6 (7 no total) RAID nível 0:

Striping em nível de bloco Não aplica redundância

RAID nível 1: Striping em nível de bloco Sempre que um dado é escrito em um disco, o

mesmo dado também é escrito em um disco redundante

Page 11: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

FUSE – Filesystem in Userspace Módulo de kernel para sistemas operacionais

Unix-like Permite o desenvolvimento rápido de

sistemas de arquivos em user space Chamadas realizadas pela C Standard Library

(fopen, fread, etc) são delegadas para o sistema de arquivos

Page 12: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

FUSE – Filesystem in Userspace

Page 13: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS Yet Another Distributed File System DFS de código aberto Escrito em C++ Para Sistemas Operacionais Unix-like

Page 14: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS - Building Blocks FUSE Utiliza conceitos de RAID para:

Aumento de desempenho Aumento de disponibilidade Tolerância a falhas

Page 15: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS - Arquitetura

Page 16: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS - Aplicação de RAID Conceitualmente, ocorre da mesma forma que

em um array de discos convencional, porém... Em nível de software: os discos são lógicos e

estão distribuídos através de servidores na rede

Versão 0.1: RAID nível 0 RAID nível 1

Page 17: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS - Aplicação de RAID RAID 0 e 1 == striping em nível de bloco Em uma operação de leitura ou escrita, os

chunks (blocos) de tamanho striping unit (4K atualmente) são lidos e escritos nos Data Nodes

Page 18: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

YADFS – Exemplo de Funcionamento

Rede

Master Data Node #1

Client #1 Client #2 Client #N

Data Node #2 Data Node #4Data Node #3

Page 19: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Resultados - Benchmarks Escrita, intervalo de 128 MB a 1024 MB

Leitura, intervalo de 128 MB a 1024 MB

Page 20: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Resultados - Benchmarks Escrita, intervalo de 128 MB a 1024 MB

Leitura, intervalo de 128 MB a 1024 MB

Page 21: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Considerações Finais É possível inferir que o desempenho aumenta

conforme a quantidade de Data Nodes cresce Tolerância a falhas através da utilização de

RAID 1 Melhorias no protocolo devem aumentar o

desempenho do YADFS

Page 22: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Questões?

Page 23: YADFS Yet Another Distributed File System Marcus Vinícius Neves Silva Calebe de Paula Bianchini Universidade Presbiteriana Mackenzie Faculdade de Computação.

Referências Bibliográficas CHEN, Peter M. et al. RAID: high-performance,

reliable secondary storage. ACM Computing Surveys, New York, v. 26, n. 2, p. 145-185, jun. 1994.

COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Distributed systems: concepts and design. 4. ed. Essex, Inglaterra: Addison-Wesley, 2005.

LEVY, Eliezer; SILBERSCHATZ, Abraham. Distributed File Systems: Concepts and Examples. ACM Computing Surveys, New York, v. 22, n. 4, p. 321-374, dez. 1990.


Recommended