SISTEMAS DISTRIBUÍDOS

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Distribuídos
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Operacionais
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
Noções de Sistemas Operacionais
Virtualização André Bernardes RA: César Kallas RA:
Introdução a Banco de Dados
Introdução a Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Sistemas Distribuídos
Configuração de servidores SMTP e POP3
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Carlos Maziero PPGIA CCET PUCPR
Conceitos Básicos de Computação
Conceitos Básicos de Computação O ABC da Computação.
Concepts and Capabilities
Lucas Augusto Scotta Merlo
Sistemas Prof. Carlos Padovani.
Sistemas Operacionais de Rede
Sistemas Distribuídos
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Servidor HTTP (Apache)
Sistema Cliente-servidor ou Sistema Client-server
Sistemas Operacionais
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Arquitetura Cliente /Servidor
Conhecendo os Sistemas Operacionais
Cluster Beowulf.
Virtualização.
DEBIAN.
Conteúdo da Aula O que é uma rede Partes que compõe uma rede
Sistemas Distribuídos
Sistemas Distribuídos
BD Distribuído Conceitos Iniciais.
Universidade de Mogi das Cruzes Tec
Augusto Martins e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Utilização de Cluster de Computadores.
Sistemas Operacionais
11 13/01/10 CLOUD COMPUTING O QUE É COMPUTAÇÃO EM NUVEM ?
Sistemas operacionais
Processos.
Sistemas Distribuídos
Nomeação.
Sistemas de Informação: Estrutura básica dos Sistemas Empresariais.
Sistemas Distribuidos
Curso Plone Semana 1 Conceitos Básicos e Infra-estrutura.
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
Sistemas Operacionais (Material cedido pela prof. Cida Livi)
FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede – AULA 03 Prof. Gabriel Silva.
Introdução a Sistemas de Arquivos. Sistema de Arquivos Definições O que é? Um sistema de arquivos é a estrutura lógica utilizada pelo computador para.
2 Integrantes André Schäffer Breno Neil (Gerente) Caio Lira Eduardo Cavalcanti Felipe Bartolomeu Felipe Maia Filipe Luiz Monteiro Hugo Calazans João Victor.
Tópicos Especiais em Redes de Computadores 6º Semestre Aula 04 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
Sistemas de Arquivos Paralelos
Active Directory Services Serviço de Diretório Ativo
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.
Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação Habilitação Técnica de Nível Médio Técnico em Informática Prof.
Sistemas de Arquivos- Cap4
Serviços de rede e internet Jackson Eduardo da Silva.
Por que Redes? Estamos cercados por redes: supermercados, lojas, bancos, cinemas, farmácias e inúmeros outros lugares; Com a queda do custo de implementação.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Informática - 3º Bimestre Grupo: Ana Carolina, Gabriela, Milena e Pedro Turma: 21EM – Téc. Informática Profª.: Carla Teixeira FABEL Gerenciamento.
Instalação e Manutenção de Computadores
Sistemas de Arquivos.
Sistemas Multimídia Distribuídos Projeto Carlos A. G. Ferraz
Sistema de Arquivos Distribuídos (SAD)- Características Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge.
Modelos de Sistema Prof. Dr. Norian Marranghello Grupo 6 Fábio Hitoshi Ide Gilson Watanabe.
Projeto do CBPF Grid SSOLAR Bruno Lima Felipe da Matta Roberto Kishi Thagor Baiocco Tiago Olimpio
Projeto Integrador I Implementação de Servidor de Arquivos Eliane Linhares Mota 1.
Transcrição da apresentação:

SISTEMAS DISTRIBUÍDOS (Parallel Virtual File System) Equipe: Alexandre Ferreira Gilson Carlos Kildare Alexandre Rodrigo Mendes PROFESSOR: ALBERTO VIEGAS

1.  INTRODUÇÃO 1.1  APRESENTAÇÃO DO PROBLEMA Os PCs estão se tornando muito populares para criação de clusters em aplicações paralelas. Esse fato fez com aumentasse a quantidade de softwares para essa plataforma. Porém, existe uma área que ainda não avançou, que é o sistema I/O paralelo, diante desta carência iremos apresentar o PVFS como a soluções para este tipo de aplicação.

2. CONCEITOS PRELIMINARES CLUSTER - Pode ser definido como um conjunto de nós processadores (PCs ou estações) autônomos e que interligados comportam-se como um sistema de imagem única. NODE:  Computador conectado a uma rede, podendo funcionar como servidor permanente ou temporário. CLUSTER - O conceito de imagem única dita que um sistema paralelo ou distribuído, independente de ser composto por vários processadores ou recursos geograficamente distribuídos, deve comportar-se com um sistema centralizado do ponto de vista do usuário. Dessa forma, todos os aspectos relativos à distribuição de dados e de tarefas, comunicação e sincronização entre tarefas e a organização física do sistema devem ser abstraídos do usuário, ou seja, devem ser transparentes a ele.

2. CONCEITOS PRELIMINARES

3. DEFINIÇÃO PVFS – (Parallel Virtual File System)  é um sistema de arquivos distribuído desenvolvido para prover alta performance e escalabilidade paralela para clusters de PCs com sistema operacional linux. Escalabilidade: Capacidade que determinado equipamento possui para receber implementações evitando que se torne obsoleto ou deixe de atender às necessidades do usuário. O grau em que um aplicativo ou componente de computador pode ser expandido em tamanho, volume, ou número de usuários servidos, e continuar a exercer sua função corretamente.

4. CARACTERÍSTICAS DO PVFS: Distribuição física de dados em múltiplos discos e múltiplos nós; Acesso transparente para programas e aplicações já existentes, sem ter que recompilá-los; Alta performance de acesso em modo usuário; Um espaço de nomes consistente para todo o cluster (para um sistema de arquivos paralelo poder ser usado facilmente, ele deve prover um espaço de nomes único em todo o cluster, e deve ser possível acessá-lo através dos utilitários mais comuns) . Um espaço de nomes é um container abstrato que fornece contexto para os itens que armazena (nomes, termos técnicos, conceitos...), e que fornece desambiguação para itens que possuem o mesmo nome mas que residem em espaços de nomes diferentes. Tendo em vista que é fornecido um contexto distinto para cada container, o significado de um nome pode variar de acordo com o espaço de nomes o qual ele pertence. Por definição, dois conceitos de um espaço de nomes não podem compartilhar o mesmo nome. Entretanto, um mesmo conceito pode existir em mais de um espaço de nomes. Por exemplo, João trabalha para a empresa X e seu código é 123. José trabalha para a empresa Y e seu código também é 123. A razão pelo qual João e José podem ser identificados pelo mesmo código é porque eles trabalham para empresas diferentes. As diferentes empresas representam espaços de nome distintos para o código de identificação de funcionário. Na empresa Z, o código 123 identifica uma das geladeiras sendo montada na linha de produção: nota-se que o contexto do mesmo identificador variou entre a empresa Z e as outras empresas. Ciência da computação Em um sistema operacional, um exemplo de espaço de nomes é um diretório, que possui arquivos e sub-diretórios que devem ter nomes distintos entre si. Em várias linguagens de programação, um espaço de nomes é um contexto para identificadores. Um mesmo espaço de nomes não pode possuir duas funções ou variáveis com o mesmo nome. No entanto, é permitido em linguagens de programação embarcar espaços de nomes em outros espaços de nomes, formando uma árvore de espaços de nomes. A raiz da árvore é conhecida como o espaço de nomes global, que é visível para todos os outros espaços de nomes de um programa de computador. Esse recurso é usado para organizar projetos de programas de computador de forma modular. Também é usado para evitar colisão de nomes: quando utilizam-se duas bibliotecas de rotinas distintas em um mesmo projeto, pode acontecer que uma mesma função está declarada em ambas. Sem o uso de espaço de nomes, as bibliotecas não podem ser usada em conjunto (em um mesmo módulo). O escopo de uma função ou de uma classe pode ser entendido como um espaço de nomes implícito, associado com a visibilidade, acessiblidade e tempo de vida dos identificadores membros.

5. FUNCIONAMENTO Os dados armazenados no PVFS são distribuídos entre vários nós que compõe o cluster, usando algoritmos de distribuição diferentes. Cada um desses nós é chamado de I/O node. Separando os dados em vários nós, as aplicações passam a ter muitos caminhos para encontrá-los, através da rede e através dos discos em que estão armazenados. Isso elimina o gargalo de I/O e aumenta o potencial total da banda para múltiplos clientes.

5. FUNCIONAMENTO PVFS divide os arquivos em várias partes entre os nós de dados, independentemente do tamanho deles.

6. OS COMPONENTES DO PVFS: SERVIDOR DE META-DADOS - (metadata server) é um daemon que gerencia todos os dados que constituem as informações, como: seu nome, sua localização na hierarquia de diretórios, seu dono, seus atributos, e como seus dados estão distribuídos entre os vários nós de dados do sistema, mas não o conteúdo dos arquivos. Esse daemon realiza todas as operações sobre os meta-dados dos arquivos atomicamente, evitando assim ter que implementar esquemas complexos de concorrência, locks, consistência, etc, para múltiplos acessos simultâneos. Metadados (DD ou Dicionário de dados), ou Metainformação, são dados sobre outros dados. Um item de um metadado pode dizer do que se trata aquele dado, geralmente uma informação inteligível por um computador. Os metadados facilitam o entendimento dos relacionamentos e a utilidade das informações dos dados. DAEMON - Programa que é executado num computador e está pronto a receber instruções/pedidos de outros programas para a execução de determinada ação

6. OS COMPONENTES DO PVFS: O SERVIDOR DE DADOS (I/O server) - Gerencia o armazenamento do conteúdo dos arquivos, bem como a recuperação dos mesmos, nos discos locais conectados nos nós. Esse servidor grava os dados dos arquivos do PVFS num sistema de arquivos local, usando as funções tradicionais, como read(), write() e mmap(), para acessá-los. Isso significa que pode-se usar qualquer tipo de sistema de arquivos local, como ext2, ext3 ou reiser. Adicionalmente é possível usar suporte a RAID para que cada nó possua tolerância a falhas de disco de forma transparente e confiável para todo o sistema.

6. OS COMPONENTES DO PVFS: A API nativa do PVFS- possibilita acesso em modo usuário aos servidores do PVFS. Esta biblioteca, chamada de libpvfs, cuida das operações necessárias para mover dados entre os clientes e servidores, mantendo-as transparentes para o usuário. Para operações que necessitam de meta-dados, a biblioteca se comunica diretamente com o servidor de meta-dados. Para acesso aos dados dos arquivos, o servidor de meta-dados é deixado de lado e os servidores de dados são acessados diretamente. Essa é a chave para prover uma escalável performance agregada. API, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.[1] OBS: API, de Application Programming Interface (ou Interface de Programação de Aplicativos)

6. OS COMPONENTES DO PVFS: O suporte no kernel do linux para o PVFS - provê as funcionalidades necessárias para se poder usar o comando mount nos clientes. Esse suporte não é necessário para se usar o PVFS, mas ele traz uma enorme conveniência para a interatividade com o sistema. Para isso, é necessário instalar um módulo no kernel do linux (existe um patch para eliminar o módulo e carregá-lo diretamente no kernel), e um daemon (pvfsd) que se encarrega de buscar os dados para as aplicações. Ele se utiliza da biblioteca libpvfs para realizar essas operações.

7. DIAGRAMA DOS COMPONENTES Para operações que necessitam de meta-dados, a biblioteca se comunica diretamente com o servidor de meta-dados. Para acesso aos dados dos arquivos, o servidor de meta-dados é deixado de lado e os servidores de dados são acessados diretamente. Essa é a chave para prover uma escalável performance agregada. API, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.[1]

7. DIAGRAMA DOS COMPONENTES 7.1 Cliente realizando consulta Para operações que necessitam de meta-dados, a biblioteca se comunica diretamente com o servidor de meta-dados. Para acesso aos dados dos arquivos, o servidor de meta-dados é deixado de lado e os servidores de dados são acessados diretamente. Essa é a chave para prover uma escalável performance agregada. API, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.[1]

8. INSTALAÇÃO O pacote para instalação está disponível no site: http://www.pvfs.org/download/ Arquivo: pvfs-2.8.1.tar.gz Tutorial completo de instalação no site: http://www.qprocura.com.br/linux/dicas/2938/Instalando-PVFS-no-CentOS.html

9. CONCLUSÃO O PVFS é um sistema de arquivos distribuído e paralelo que se preocupa em diminuir o gargalo provocado pelo tráfego de dados, seja pela rede, seja pela velocidade do armazenamento físico. Alguns problemas existentes são quanto à segurança no acesso aos dados, já que se o cliente souber onde os dados estão, basta pedí-los para os nós de dados que eles responderão, sem se preocupar com nenhum tipo de validação de permissão de acesso. Quem cuida da permissão é o servidor de meta-dados, e mesmo assim não é muito sofisticada. Outo problema existente é se o servidor de meta-dados cair. Somente os arquivos já abertos continuarão podendo ser acessados, até serem fechados. Todos os outros arquivos do sistema não poderão ser acessados. Além disso, o servidor de meta-dados pode representar um gargalo no sistema, já que ele é único. Em comparações com o NFS, o PVFS ganhou em acesso a arquivos grandes, e ficou pouco atrás no acesso a arquivos pequenos (talvez porque o PVFS costuma dividir os arquivos em várias partes entre os nós de dados, independentemente do tamanho deles). Em geral é um SAD que está no início de seu desenvolvimento, e que já apresenta bons resultados, mesmo tendo problemas visíveis. Para aplicações paralelas e confiáveis, numa rede privativa e fechada, ele pode ser usado sem grandes problemas, mas para aplicações comerciais, ainda está cedo.

10. REFERENCIAS BIBLIOGRÁFICAS CLUB DO HARDWARE Disponível em: www.clubedohardware.com.br/printpage/162 Acesso em 28 de agosto de 2009 Instituto de Matemática e Estatística da USP Disponível em: www.ime.usp.br/~carvalho/monografia-sad/monografia.html Acesso em 30 agosto de 2009