Top Banner
1 lipe L. Severino POD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e
23

1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

1Felipe L. Severino POD

XtremWeb

Felipe L. SeverinoProgramação com Objetos Distribuídos

paralela e

Page 2: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programaçã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

Page 3: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 4: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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);

Page 5: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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);

Page 6: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 7: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 8: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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); ...

Page 9: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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...);

Page 10: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 11: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 12: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 13: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 14: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 15: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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);

Page 16: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 17: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 18: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 19: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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

Page 20: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

20

XtremWeb

Felipe L. Severino POD

SimGrid

Page 21: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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;

Page 22: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

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...);

Page 23: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.

23Felipe L. Severino POD

XtremWeb

Felipe L. SeverinoProgramação com Objetos Distribuídos

paralela e