1 felipe l. severinopod xtremweb felipe l. severino programação com objetos distribuídos paralela...
TRANSCRIPT
![Page 1: 1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc11b497959413d8c99b5/html5/thumbnails/23.jpg)
23Felipe L. Severino POD
XtremWeb
Felipe L. SeverinoProgramação com Objetos Distribuídos
paralela e