1 / 30

PlanetLab

PlanetLab. Uma Plataforma Aberta Para Desenvolvimento, Instalação e Acesso em Escala Global. Cláudio Thorell dos Santos, Farlon Alencar Souto {cthorell,fsouto}@inf.ufrgs.br. Universidade Federal do Rio Grande do Sul Departamento de Informática Aplicada

ajaxe
Download Presentation

PlanetLab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PlanetLab Uma Plataforma Aberta Para Desenvolvimento, Instalação e Acesso em Escala Global Cláudio Thorell dos Santos, Farlon Alencar Souto {cthorell,fsouto}@inf.ufrgs.br Universidade Federal do Rio Grande do Sul Departamento de Informática Aplicada INF01008 - Programação Distribuída e Paralela Prof. Cláudio Geyer - 2005/1

  2. Organização do Trabalho • 1. Introdução • 2. Definição • 3. Histórico • 4. Organização • 5. Arquitetura • 6. Software • 7. Acesso e uso

  3. 1. Introdução • O surgimento de uma nova classe de serviços geograficamente distribuídos trouxe a necessidade de ambientes de desenvolvimento, teste e avaliação de aplicações distribuídas • Permitir teste com centenas de nós sem a preocupação com questões de direitos, restrições e compatibilidades de software

  4. 2. Definições • O PlanetLab é uma plataforma geograficamente distribuída para dispor, avaliar e desenvolver serviços de rede e sistemas distribuídos em escala planetária. • “Overlay Testbed” para aplicações distribuídas • Ambiente de testes que roda sobre uma estrutura real de rede (camada sobre a Internet) • Conceito de “Distributed virtualization” • Acesso a um ou mais “pedaços” ou isolados dos recursos globais (virtualização distribuída)

  5. 2. Definições (cont) • Pacote de software comum • Nodos rodam o mesmo pacote de software • Sistema operacional Linux • Mecanismos de bootstrapping e update distribuído de software • Ferramentas de gerência e auditoria • Objetivo • Proporcionar uma visão distribuída do sistema • Aplicações rodam sobre qualquer conjunto de nodos

  6. 2. Definições (cont) • Situação Atual • 580 máquinas, 275 sites, 25 países • Todas conectadas à Internet • Hospedadas por instituições de pesquisa • Objetivo: aumento para 1000 nodos distribuídos por todo o planeta

  7. 3. Histórico • 2002: Fundação, estabelecimento de uma arquitetura do sistema, Instalação de 100 nodos em 42 sites, primeiro software do PlanetLab. • 2003: PlanetLab on-line via PoP na Internet 2, HP, Intel e as universidades de Princeton e UC Berkeley aderem ao PlanetLab. Superada a marca de 300 nodos. • 2004: Formalização do consórcio do PlanetLab. Versão 2.0 do PlanetLab software, com suporte para Dynamic Slices, é liberada. Primeira descrição da arquitetura do PlanetLab. Primeiro nó do PlanetLab no Brasil na Rede Nacional de Ensino e Pesquisa (RNP). Superada a marca de 500 nodos.

  8. 4. Organização • Planetlab é constituído por um consórcio de instituições acadêmicas e de pesquisa, governos e empresas privadas • Gerenciado por universidades • Washington, Princeton, Cambridge, Berkley • Baseado em Princeton, NJ, USA • Suportado por companhias e governos • Intel, HP, Google, AT&T, France Telecom, NSF, etc.

  9. 4. Organização (cont) • Instituições aderem ao Planetlab disponibilizando: • 2 ou mais servidores • Hospedados fora do firewall • Fornecimento de energia, arrefecimento e link para as máquinas • Em troca, pesquisadores podem usar uma pequena parte (slice) do Planetlab

  10. 5. Arquitetura • 5.1 Terminologia • 5.2 Metas • 5.3 Requisitos • 5.4 Modelo de Serviço • 5.5 Hardware • 5.6 Arquitetura de Software

  11. 5.1 Terminologia • Nodo: Uma máquina servidora capaz de executar um componente do PlanetLab. • Site: A localização geográfica de um nodo do Planet Lab • Cluster: Conjunto de nodos do PlanetLab localizados em um determinado site. • Cliente: Enquanto um programa de usuário executa como um “slice” da infra-estrutura do PlanetLab, o termo “cliente” refere-se a pessoa ou programa que acessa um serviço implementado no PlanetLab. • Serviço: Uma aplicação sendo executada em um conjunto de nós do PlanetLab.

  12. 5.1 Terminologia (cont) • Aplicação: Um serviço do PlanetLab que não é parte da infra-estrutura. • Cápsula: Componente de um serviço que executa em um único nodo. • Slice: Conjunto distribuído de recursos alocados a um serviço do PlanetLab. • Sliver (Virtual Machine): Ambiente onde parte de um serviço implementado roda. Cada virtual machine roda em um nodo e pode consumir uma fração dos recursos deste. • Root Server : Gerência centralizada do PlanetLab, cobrindo funções como controle de contas, atualizações, interface de gerencia de contas para usuários,serviço de monitoração e gerencia da base de dados.

  13. 5.2 Metas • Atrair Pesquisadores • Incentivar o aproveitamento da plataforma de rede já existente • Infra-estrutura distribuída • Compatibilidade entre plataformas locais de software dos usuários • Portabilidade • Migração para uma plataforma com API muito mais restrita do que o Windows ou UNIX

  14. 5.3 Requisitos • Funcionamento inicial já em Agosto de 2002 • Atender a demanda de um grupo seleto de usuários confiáveis com capacidade técnica para fornecer um feedback sobre o sistema • 40 Sites iniciais • Utilização de um ambiente de desenvolvimento seguindo conceitos fortes, como Barkeley sockets e Posix. • Plataforma de hardware executando linux e utilizando um processador com arquitetura compatível com as demais.

  15. 5.3 Requisitos (cont) • Conectividade entre os clusters via Internet • Existência de contas de acesso para usuários • Capacidade de manutenção de software remota • Política de escalonamento sobre recursos • Controle de armazenamento de dados e programas do usuário em um nodo

  16. 5.4 Modelo de Serviço • Conta de usuários com autenticação • Escalonamento de “Slices” • Escalonamento em cada nodo • Privilégios de kernel restritos ao sistema • Gerência de cota de espaço de usuário para dados e programas • Interface UNIX comum a todos, mas cada nodo fornece o ambiente de execução necessário para o seu serviço. • Interface de controle de serviço

  17. 5.4 Modelo de Serviço (cont) • Relatório dos dados de um nodo são visíveis a uma cápsula • Distribuição de arquivos • Utilização de um endereço IPv4 para cada nodo

  18. 5.4 Modelo de Serviço (cont)

  19. 5.5 Hardware • Inicialmente os nodos teriam a seguinte configuração: • Servidor Dell PowerEdge 1650 1U Rackmount, com 1Gb de RAM e processador 1.7GHz Intel Pentium III Xeon OU • Dell “desktop” workstation, com processador Intel Pentium IV ou similares. • Ambas as configurações com placas ethernet 1Gb/100Mb.

  20. 5.6 Arquitetura de Software • Sistema operacional de um nodo: instalação Linux básica. • Serviços básicos de um nodo ativo: sshd (TCP porta 22), ganglia (TCP porta 8649), ntpd como um cliente, e serviço de atualização regular Rootstock. • Endereço IP de cada nodo registrado no Root Server sob o domínio de rede do PlanetLab. • Tráfico de informações de instalação encriptados, serviço para autenticação do nodo no servidor, assinatura digital sobre os pacotes de instalação. • Serviço de monitoração de status de um nodo

  21. 5.7 Ambiente de Desenvolvimento • O PlanetLab segue a filosofia open source. • Licenças BSD e Intel Open Source Licence • Todo o código fonte disponível no CVS do SourceForge

  22. 6. Software • Boot Manager • Software responsável por fazer a inicialização do nodo no ambiente do PlanetLab. • VNET • API semelhante à API de raw sockets UNIX. Possibilita acesso virtual à rede nos nodos do PlanetLab. • Proper (Privilege Operations Service) • Deamon que roda em cada nodo no modo root provendo acesso privilegiado a determinadas operações (leitura de arquivos em outros slices, criação de raw sockets reais, etc)

  23. 6. Software (cont) • Slice API • Permite a criação, remoção e gerenciamendo de slices • Admin API • Interface que permite acesso seguro e autorizado a dados administrativos do PlanetLab • Serviços desenvolvidos por usuários • Rede de conteúdos distribuídos • Tabelas hash distribuídas • DNS distribuído • Wide-area P2P distributed storage

  24. 6. Software (cont) • Linguagens de desenvolvimento • Perl 5.8.3 • Phyton 2.3.3 • GNU libc 2.3.3 • Java não disponível na instalação padrão • JRE e JARs necessários devem ser instalados separadamente

  25. 7. Acesso e Uso • Termos utilizados: • Principal Investigator (PI) – Pessoa responsável pelo gerenciamento de slices e usuários em cada site. • Technical Contact– Pessoa responsável pela instalação, manutenção e monitoramento dos nodos do site. • User – Qualquer pessoa que desenvolve e roda aplicações no PlanetLab.

  26. 7. Acesso e Uso (cont) • Não é permitido o acesso individual ao PlanetLab • Usuário deve fazer parte de uma instituição de filiada ao consórcio • Preencher o formulário de inscrição • https://www.planet-lab.org/db/accounts/register.php • Aguardar a autorização do PI • Criação de chave SSH • Acesso restrito a SSH com chaves RSA • Par de chaves privada/pública • Unix: comando “ssh-keygen -q -f /.ssh/id_planetlab -t rsa” • Windows: software PuTTYgen

  27. 7. Acesso e Uso (cont) • Fazer upload da chave pública SSH no site do PlanetLab • Contatar o PI e requisitar a criação de um slice ou a associação a um slice já existente • Nome do slice no formato <site>_<nome local> • Ex: princeton_test1 • Após a associação a um slice, nodos deve ser associados ao slice através do site no ítem Manage Nodes • https://www.planet-lab.org/db/slices/select_slice.php?dest=assign_nodes.php • Propagação das chaves SSH para os nodos de um slice pode demorar até uma hora

  28. 7. Acesso e Uso (cont) • Os slices são criados com uma instalação mínima do Linux Fedora Core 2 • Privilégios restritos de root (criação de usuários, instalação de pacotes, criação de raw sockets) • (configuração de hardware e rede desabilitada) • Instalação de pacotes através do Yum (pacotes RPM) • Slice expira após 2 meses • Deve ser renovado caso contrário todos os dados serão perdidos

  29. 7. Acesso e Uso (cont) • Acesso na UFRGS • Dois nodos hospedados no POP da RNP (localizado no CPD da UFRGS) • Registro através do site do PlanetLab • Login > New Account • Selecionar o site “RNP – Rio Grande do Sul” • Contatar o PI e pedir a criação ou associação a um slice • PI pode ser identificado no site http://www.planet-lab.org/php/institutions.php ou ligando para o POP da RNP (ramal 5039)

  30. Referências • Site do PlanetLab • http://www.planet-lab.org/ • PlanetLab Phase 0: Technical Specification • http://www.rnp.br/_arquivo/wrnp/2005/planetlab_tutorial.pdf • PlanetLab Tutorual • http://www.planet-lab.org/PDN/PDN-02-002/pdn-02-002.pdf

More Related