220 likes | 314 Views
A Worldwide Flock of Condors: Load Sharing among Workstation Clusters. D. H. J Epema, Miron Livny, R. van Dantzig, X. Evers, and Jim Pruyne Apresentado por Nazareno. Roteiro. Introdução Condor Flocking Resultados Conclusões. Introdução – o problema.
E N D
A Worldwide Flock of Condors: Load Sharing among Workstation Clusters D. H. J Epema, Miron Livny, R. van Dantzig, X. Evers, and Jim Pruyne Apresentado por Nazareno
Roteiro • Introdução • Condor • Flocking • Resultados • Conclusões Aplicações Distribuídas - DSC/UFCG
Introdução – o problema • Computação científica e problemas compute-intensive; • High-Throughput Computing (HTC) (diferente de High Performance Computing); • Custo; • Wait-While-Idle; Aplicações Distribuídas - DSC/UFCG
Introdução – a solução • Necessidade do usuário << Capacidade da máquina; • Posse distribuída; • Em um cluster: Condor; • Em diversos clusters:Flocks of Condors; Aplicações Distribuídas - DSC/UFCG
Condor • Sistema distribuído de compartilhamento e gerência da carga de trabalho de processos compute-intensive em um pool de workstations conectadas; Aplicações Distribuídas - DSC/UFCG
Condor – diretivas de design • Quase nenhum impacto na disponibilidade e qualidade do serviço das estações para seus usuários; • Completamente responsável por localizar os recursos necessários para um processo e pela execução deste; • Sem necessidade de nenhuma programação especial e deve manter ambiente na máquina em que o processo executa; Aplicações Distribuídas - DSC/UFCG
Condor - estrutura Schedd Schedd Schedd (...) Startd Startd Startd Máquina 1 Máquina 2 Máquina n-1 LAN CENTRAL MANAGER Aplicações Distribuídas - DSC/UFCG
Condor - funcionamento • Stard • Inicia, monitora e encerra processos designados para esta estação; • Schedd • Enfileira processos submetidos ao Condor nesta estação e busca os recursos para estes. Aplicações Distribuídas - DSC/UFCG
Faz um casamento entre o contexto de J e da Executora CENTRAL MANAGER contexto da máquina contexto de J identificação de E Startd Schedd fork requisitos de J Starter Shadow J ok, E J Solicitante Executora Condor - protocolo Aplicações Distribuídas - DSC/UFCG
Condor – protocolo • A máquina que recebe o processo não avisa ao CM que não está mais disponível? • Falhas • São tratadas transparentemente? • E falhas do CM? Aplicações Distribuídas - DSC/UFCG
Condor – outros aspectos • Ambiente na máquina que executa é mantido: • Shadow; • Sistema de arquivos uniforme; • Preempção • Prioridade total para o usuário da estação; • Checkpoints na máquina solicitante. Aplicações Distribuídas - DSC/UFCG
Flocking • WWI entre pools; • Novas diretivas: • A instalação e manutenção de quaisquer mecanismos adicionais deve ser fácil; • Adicionar e retirar um pool de um flock deve ser fácil; • Deve ser fácil definir acordos de compartilhamento de recursos entre os donos dos pools. Aplicações Distribuídas - DSC/UFCG
Flocking - acordos de compartilhamento • Cooperação entre donos dos pools torna-se fundamental; • Acordos de compartilhamento de recursos; Aplicações Distribuídas - DSC/UFCG
Flocking - design • Unir pools X formar um bando (flocking): • Centralização: • Centralização de controle; • Falta de escalabilidade; • Gargalo; • Bando: • Isolamento de falhas; • Escalabilidade; • Distribuição da gerência (permissões, prioridades...). Aplicações Distribuídas - DSC/UFCG
Flocking – design • Estrutura de bando centralizada X distribuída. • Distribuída: • Escalabilidade; • Tolerância a falhas; • Distribuição da administração; P2P?? Aplicações Distribuídas - DSC/UFCG
Flocking - design • Estrutura integrada X em camadas; • Integrada: • Modificação dos CMs; • Transparência; • Em camadas: • Estrutura atual mantida; • Modularização; Aplicações Distribuídas - DSC/UFCG
Flocking - funcionamento • Máquinas Gateway • GW–Schedd • GW-Startd : máquinas disponíveis em outro pool • Um pool pode ter diversas, e cada uma pode se conectar a diversos pools; • Flock configuration file; Aplicações Distribuídas - DSC/UFCG
CENTRAL MANAGER CENTRAL MANAGER contexto de J Contexto de uma máquina de outro pool GW contexto de J E GW-Startd GW-Startd contexto de J Startd Schedd contexto de J Startd child GW-Simulate Shadow Shadow OK, E E Solicitante OK,E J GW GW J Flocking - funcionamento Aplicações Distribuídas - DSC/UFCG
Flocking - escalonamento • GW usa uma máquina aleatória de um pool para representar aquele pool; • É impossível determinar a melhor máquina para representar o pool; • Tudo, inclusive Checkpoints, fica transparente; ?? Aplicações Distribuídas - DSC/UFCG
Flocking – outras considerações • I/O na máquina solicitante não fica proibitivo na escala de WANs; • Refinamentos no escalonamento ainda são necessários (?); Aplicações Distribuídas - DSC/UFCG
Resultados • 1994: cerca de 250 estações em 5 países diferentes; • Hoje: mais de 1000 máquinas no Flock da universidade. Jobs. • Versão 6.2 • Integração com Globus (Condor-G); Aplicações Distribuídas - DSC/UFCG
Conclusões • Estrutura robusta para execução e gerência de processos compute-intensive numa perspectiva de High Throughput Computing; • Previsão de Flocks heterogêneos e globais; Aplicações Distribuídas - DSC/UFCG