Estudo da Plataforma XtremWeb para Grade CMP157 Computação Paralela e Disribuída Prof. Cláudio...
-
Upload
bernadete-escobar-regueira -
Category
Documents
-
view
224 -
download
0
Transcript of Estudo da Plataforma XtremWeb para Grade CMP157 Computação Paralela e Disribuída Prof. Cláudio...
Estudo da Plataforma XtremWeb para Grade
CMP157 Computação Paralela e DisribuídaProf. Cláudio Fernando Resin GeyerAluno: Emerson André FedechenApresentação TF1
Estrutura da Apresentação
1. Sumário2. Objetivos3. Funcionamento4. Instalação5. Aplicação6. Testes7. Limitações8. Conclusões
Sumário - XtremWeb
XtremWeb trata-se de um modelo de computação Global, multi-usuário e multi-aplicação objetivando a execução de aplicações externas em recursos participantes, estendendo as soluções clássicas LSDS (Sistema Distribuído em Larga Escala).
Sua pesquisa é liderada pelo Computer Science Laboratory, Paris XI University,da França.
Visa a operabilidade totalmente descentralizada e adaptável, explorando recursos subutilizados e distribuídos.
Busca criar um computador paralelo para usuários clássicos.
Fornece adaptabilidade para aplicações distintas.
Sumário – XtremWeb
Permite a execução de várias (milhares) aplicações heterogêneas simultâneamente;
Provê segurança e transparência aos usuários (um trabalhador
pode ser cliente).
Fornece escalabilidade dinâmica; Executa mecanismos de tolerância a falhas.
Processa aplicações paralelas e concorrentes; Proporciona um sistema adaptável (P2P, cliente-servidor) com
vários servidores conectados.
Objetivos
Observar o processo de instalação da ferramenta XtremWeb
Tomar conhecimento de suas características e funcionalidades
Adaptar uma aplicação paralela para geração de testes
Executar o ambiente sob monitoramento de suas atividades e comportamento
Identificar possíveis limitações da tecnologia
Levantar dados para comparativos entre similares
Funcionamento
O servidor conhece apenas nós ativos; Todo worker pode ser também cliente; O worker avisa quando está disponível.
Server
W
WW W
W
Cl
Funcionamento
Server
W
WCl W
W
Cl
Server
W WW
• O servidor pode conectar-se a outros servidores
•Vários clientes podem conectarem-se simultanemente.
Funcionamento
1. O client adiciona uma aplicação ao banco de dados no server.
2. Após, solicita o disparo da aplicação passando os parâmetros e os arquivos necessários para a correta execução.
3. O server fica responsável por escalonar as tarefas dos clientes e repassá-las aos workers.
4. O worker, quando disponível, solicita ao server uma aplicação. Este transfere os arquivos para o worker que irá efetivamente executar e retornar os resultados ao server.
5. Por fim, quando os resultados estão disponíveis o cliente pode recuperá-los para seu computador através de uma solicitação ao server.
Instalação
Sistema composto por instaladores distintos: Servidor
Banco de Dados (MySQL) <sujestão> Servidor Web (apache) <sujestão>
Worker Client
Todo o sistema foi desenvolvido em java. O sistema está em desenvolvimento (17 atualizações
em 2006)
Instalação
Multiplataforma: Linux, Mac-OS X, Windows (cygwin).
Bugs constantemente reportados; http://www.lri.fr/~fedak/XtremWeb/index.php?section=section4&subsection=bugreport
acessado em 11/12/2006.
Dificuldades encontradas: Kernel (sujestão série 2.6); Instaladores pouco adaptáveis (estrutura de diretórios e
arquivos) Tratamento de exceções limitados (logs)
Aplicação
N-QueensAplicação desenvolvida em C++Número de tarefas aproximadamente [(N x N x
N) – (possibilidades nulas)]/2.Parâmetros = int, int que definem a faixa de
tarefas que deverão ser computadas em um único nó.
Hospedada no servidor e estendida aos clientes em tempo de execução.
Aplicação
Chamada das tarefas em Java: Alocada no cliente, utiliza a sintaxe do XtremWeb.client e
define os parâmetros passados ao servidor:
Q.java = classe principal que recebe como parâmetros: int N, int tarefas, int passo.
Fila.java = thread que atualiza o número de offset das tarefas e escalona com CallJobs.java
CallJobs.java = thread que efetua as chamadas ao servidor XtremWeb: (xtremweb.client --xwsubmit queens --xwlabel nq"+num+" "+N+" "+offSet+" "+num;) e aguarda o envio com sucesso antes de requisitar outras ao Fila.java.
Aviso.java = Objeto sincronizado entre as threads.
Aplicação
Usabilidade: Exemplo: java Q 18 1186 10 = criar tarefas para
N = 18, com 1186 tarefas, reunidas em grupos de 10. Equivale a 119 tarefas (1186/10).
A chamada (xtremweb.client --xwsubmit queens --xwlabel nq"+num+" "+N+" "+offSet+" "+num;)
queens = Aplicação em C++; N = número de rainhas; offset = offset do conjunto de jobs; num = ponteiro para o final da faixa;
Offset e num apontam para as faixas que dividem o total das tarefas.
Testes N = 18 1186 jobs
Ambiente de testes: um server e dois
workers Pentium 4, 3.2 GHz
um client Athlon XP 2.4 GHz.
Execução sequencial Worker C1-0 = 5m46.572s
Jobs XW Boinc1 – 1 3h12m 35m
10 – 10 15m12s 3m30s
30 – 30 8m19s
Random 1 - 30
11m
Testes N = 18 1186 jobs 1-1
Início:
12:57
Fim:
16:09
Testes N = 18 1186 jobs 30-30
Início:
14:37
Final:
14:45
XWGUI Cliente
Xtremweb.client --xwstatus
Testes N = 19 1386 jobs
Jobs de 1 a 1 Execução sequencial N = 19
Worker C1-0 = 42m22.444s
Jobs XW Boinc
1 -1 4h50m 37m
10 -10 31m22s 16m
30 -30 26m22s
Limitações
Número de jobs paralelos aceitos pelo worker, limita-se ao número de CPUs para um bom funcionamento;
Paralização de worker, sem motivo aparente;
Subutilização dos workers
Reenvio das aplicações
O tempo de execução das tarefas é crescente com o passar do tempo
A GUI do cliente não suporta um número elevado de tarefas
Conclusões 1
A ferramenta possui algumas limitações por se encontrar em fase de pesquisa e desenvolvimento, que podem ser reportadas e solucionadas gradativamente.
Para a aplicação proposta, os testes mostraram um melhor desempenho com tarefas maiores, diminuindo o número de transmissões de mensagens. Com isto, observa-se que embora as mensagens sejam aparentemente pequenas, existe um custo que pode ser atribuído à forma de tratamento delas pela ferramenta.
Uma nova política de escalonamento pode ser aplicada aos workers de modo a otimizar seu tempo disponível.
O tratamento de eventos (logs) pode ser melhorado para agilidade dos programadores.
Conclusões 2
Trata-se de uma tecnologia que oferece um paradigma diferenciado entre os LSDS, e pode apresentar resultados atrativos tanto para a comunidade científica como para usuários comuns.
Bibliografia
G. Fedak, C. Germain, V. Néri, F. Cappello: XtremWeb: A Generic Global Computing System. CCGrid2001 – Glogal Computing on Personal Devices. 2001.
F. Cappello, S. Djilali, G. Fedak, T. Herault, F. Magniette, V. Néri, O. Lodygensky: Computing on large scale distributed systems: experience of the XtremWeb project. FGCS – Future Generation Computer Science, 2004.
O. Lodygensky: XtremWeb Users Guide. http://www.lri.fr/~fedak/XtremWeb/doc/xtremweb.html. Acessado em 06.12.2006.