Upload
internet
View
107
Download
3
Embed Size (px)
Citation preview
1Felipe L. Severino POD
XtremWeb
Felipe L. SeverinoProgramação com Objetos Distribuídos
paralela e
2
XtremWeb
Felipe L. Severino POD
Sumário XtremWeb
Descrição; Características; Comunicação; Worker; Server;
XtremWeb-CH Descrição; Componentes; Características;
Caso de uso: SimGrid no XtremWeb
3
XtremWeb
Felipe L. Severino POD
XtremWeb - Descrição
Plataforma open source para Desktop Grids;
Várias entradas para uma mesma tarefa;
Utilização de computação voluntária;
Trabalho relacionado: BOINC;
4
XtremWeb
Felipe L. Severino POD
XtremWeb - Características
3 componentes: Worker: recurso computacional; Client: usuário, envia aplicações e tarefas (jobs) a serem
computadas; Server: gerencia os clients, workers, aplicações e jobs;
Pull and Steal: Pull: worker solicita tarefa; Steal: cycle-stealing (interrupções na computação);
5
XtremWeb
Felipe L. Severino POD
XtremWeb - Comunicação
Toda comunicação é iniciada pelo Worker; Primitivas de get e put; Comunicação one-sided (usada em MPP);
Em programação distribuída, comunicações one-sided são feitas com Remote Procedure Call (RPC) ou Remote Method Invocation (RMI);
6
XtremWeb
Felipe L. Severino POD
XtremWeb - Comunicação
XW utiliza chamadas RMI; Segurança (autenticação e transmissão de dados); Facilidade de utilização;
Protocolo de comunicação entre Worker e Server: hostRegister: autentica o server, obtém lista de servers
que podem prover jobs; workRequest: requisição de job; workAlive: indicação de que worker está trabalhando; workResult: envia resultado da computação;
7
XtremWeb
Felipe L. Severino POD
XtremWeb - Worker
Implementado, em sua maioria, em Java Realiza chamadas de sistema em C; Utilização de Java Native Interface;
Funcionalidades principais: Prover recursos computacionais; Executar job enviado pelo server;
8
XtremWeb
Felipe L. Severino POD
XtremWeb - Worker
Usuário pode definir: Quando worker realiza tarefa; Quais recursos estão disponíveis; Quanto de cada recurso estará disponível (limites);
Disponibilidade do worker depende de fatores como: Presença do usuário (mouse, teclado); Presença de atividades não interativas (uso CPU, memória, I/O); ...
9
XtremWeb
Felipe L. Severino POD
XtremWeb - Server
Controlar aplicações e jobs; Composto por módulos:
Pool de aplicações: binários pré-compilados para diferentes plataformas;
Pool de jobs: tarefas submetidas pelo client, referenciando uma aplicação e os dados de entrada;
Módulo de Accouting: informações sobre as tarefas (identificação do client, data e hora, etc...);
10
XtremWeb
Felipe L. Severino POD
XWCH - Descrição
Objetivo de criação de um sistema Peer-to-Peer para aplicações de uso intensivo de CPU;
Melhoramento do XW original: Substituição das comunicações RMI por Sockets; Permitir tarefas comunicantes; Comunicação entre workers;
11
XtremWeb
Felipe L. Severino POD
XWCH - Componentes
Coordinator: Realiza intermediação entre workers e clients; Gerencia:
Aplicações; Jobs; Distribuição de jobs entre workers solicitantes;
Equivalente ao server no XW original;
12
XtremWeb
Felipe L. Severino POD
XWCH - Componentes
Worker: Recurso computacional; Realiza solicitação de jobs ao coordinator; Possui 4 estados:
Ready: pronto para executar uma tarefa; Receiving: recebendo dados para tarefa; Running: computando; Sending: enviando dados de saída;
13
XtremWeb
Felipe L. Severino POD
XWCH - Componentes
Warehouse: Recebe dados:
Entre duas tarefas comunicantes; De entrada de uma tarefa; De saída de uma tarefa;
Utilizado para evitar sobrecarga no coordinator;
14
XtremWeb
Felipe L. Severino POD
XWCH - Componentes
Broker: Utilizado para dividir a aplicação do usuário em um
conjunto de tarefas; Divisão realizada de acordo com a plataforma; Depende da aplicação a ser executada; Normalmente é instalado na mesma máquina que o
coordinator;
15
XtremWeb
Felipe L. Severino POD
XWCH - Características
Suporte à tarefas comunicantes: Geralmente descritas através de um grafo de fluxo de
dados: Nodos: tarefas; Vértices: trocas de dados;
Inclui um novo estado ao worker: blocked; Um worker blocked não pode executar tarefas; Dados necessários devem ser produzidos por outra tarefa
(running);
16
XtremWeb
Felipe L. Severino POD
XWCH - Características
Comunicação entre workers: XWCH-sMs (slave-Master-slave):
Não há comunicação direta entre workers; Toda comunicação deve passar pelo coordinator; Sobrecarga do coordinator;
XWCH-p2p: Comunicação direta entre workers; Workers devem se “enxergar” para este tipo de comunicação
ser possível;
17
XtremWeb
Felipe L. Severino POD
SimGrid
SimGrid é um toolkit que provê funcionalidades para simulação de ambientes distribuídos;
Não é um binário, mas sim uma API;
Diversas APIs, inclusive utilizando Java;
18
XtremWeb
Felipe L. Severino POD
SimGrid
Para execução são necessários dois arquivos: Platform: descrição da plataforma; Deployment: descrição da aplicação;
Neste trabalho foi utilizada aplicação masterslave, disponível na página do projeto;
19
XtremWeb
Felipe L. Severino POD
SimGrid
Para enviar o binário do SimGrid deve-se utilizar compilação com linkagem estática (ou seja, remover uso de bibliotecas em tempo de execução);
Para envio dos arquivos de platform e deployment: zip
20
XtremWeb
Felipe L. Severino POD
SimGrid
21
XtremWeb
Felipe L. Severino POD
Considerações finais
XtremWeb é uma solução para aplicações Bag-of-tasks que demandem muito poder computacional; Porém limitado a este tipo de aplicação;
XWCH apresenta uma variação do XW para tratar aplicações que requeiram troca de dados entre tarefas;
22
XtremWeb
Felipe L. Severino POD
Considerações finais
Utilização do SimGrid no XW é possível com relativa facilidade;
Caso de uso interessante, pois pode existir a necessidade de executar-se diversas simulações, com diversos ambientes distintos;
Busca-se obter o resultado das simulações o mais rápido possível (às vezes pode ser demorado...);
23Felipe L. Severino POD
XtremWeb
Felipe L. SeverinoProgramação com Objetos Distribuídos
paralela e