Upload
eliza-lizardo
View
212
Download
0
Embed Size (px)
Citation preview
1
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SULINSTITUTO DE INFORMÁTICA
PROGRAMA DE PÓS GRADUAÇÃO EM COMPUTAÇÃO
XTREMWEB APLICADO
POD – Programação de Objetos DistribuídosProfessor Claudio Fernando Resin GeyerAluno Emerson André Fedechen
2
Estrutura da Apresentação Apresentação do XtremWeb Configurações Aplicação Ultimatum Game Testes da Aplicação no ambiente
XW Conclusões
3
XtremWeb - introdução Desenvolvido pelo Computer Science
Laboratoty – Paris XI University; LSDS – Computador paralelo Multi-usuários e multi-aplicações Soluções de Grades
Diferentes domínios Sistemas heterogêneos
Cycle Stealing
4
XtremWeb - arquitetura Servers, Clients e Workers
5
XtremWeb - características Multi-plataforma (Cygwin) Monitoramento Web (PHP 4) Gerenciamento BD (MySQL) Transações seguras (SSL) Comunicação baseada em XML RPC Multiprotocolos para envio dos resultados Roubos de ciclos por ativações
configuráveis
6
XtremWeb - configurações Servidor
ModulesLogged DBI Comm Task
XWServer Portas
RMI main-worker-client TCP RPC Shell
7
XtremWeb - configurações Base de Dados
XWdbHost – XWdbName – XWdbUser – XWdbPass Segurança
setTrusted: lista de acesso XWShell XWKeyStore: arquivo que contém a chave privada do
server e seu certificado XWPassPhrase: Password para o arquivo
Logging Log4j.rootLogger
8
Configuração worker – conexão / segurança dispatcher.host: define o servidor a se
conectar dispatcher .port – .xmlport - .tcpport login – password activator.class: política de ativação path.tmpdir workpool.size tracer.enable Sandbox (experimental)
9
XtremWeb - ativação start console restart stop
10
Client – gerenciamento de jobs xwapps : lista aplicações instaladas; xwaddapp:adiciona aplicação ao server; xwrmapp: remove aplicação do server; xwstatus : estado do(s) jobs; xwtasks: lista jobs e workers associados; xwworkers: lista detalhes dos workers; xwsubmit: insere um novo job; xwrm: apaga jobs; xwresult: recupera resultados
11
Xtremweb.client –xwsubmitxtremweb.client –xwsubmit <app name> [--xwenv<zip
file>][--xwlabel <label>] [app param.] [<input file>]
Exemplo: /opt/XtremWeb-1.8.0/bin/xtremweb.client --xwsubmit
gamesim --xwenv prebuilt.zip --xwlabel ng0 configurable -o -a prebuilt/moran.xml -a prebuilt/conc_end_agg.xml -a prebuilt/lattice30x30.xml -a prebuilt/parallelglobal.xml -a prebuilt/multiseeds.xml -a prebuilt/normal_test.xml -a prebuilt/par_turns.xml -a prebuilt/ultimatumbase.xml -a prebuilt/popOptAggregation.xml -I repetition=1 -I turns=5000 -I period_turns=25 -B aggregateByStrategies=false -D "mutants.stddev=0.03“ 0 -D "mutants.stddev=0.03"
12
XtremWeb - monitoramento
13
XtremWeb - monitoramento
14
XtremWeb – GUI cliente
15
XtremWeb - xwstatus
16
Ultimatum GamePesquisadores: Gustavo Adolfo Kellermann e Roberto da Silva
Sistema composto por: População heterogênea; Interações entre habitantes; Subpopulações; Diferentes estratégias; Algoritmo baseado em encontros e
turnos.
17
Ultimatum Game Proponentes Aceitadores Estratégia Confrontos Resultado
18
Estratégias(Paralela ou aleatória) Uniforme: a probabilidade de um valor ser
escolhido é a mesma para todos; Ganancioso: o valor cresce de acordo com o
ganho do jogador; Racional: Joga segundo o equilíbrio de Nash
(99,1); Fixo: o mesmo valor para proponente como
para aceitador; Justo: aceita receber o mesmo valor de quando
proponente.
19
Simulador Requisitos
Generalidade; Manutebilidade; Facilidade de uso;
Configuração Modificação do jogo (matriz de payoff) Rede Dados coletados Tipos de jogadores Dinâmicas Parâmetros numéricos (ex. Tamanho da população)
20
Estratégia no XtremWeb
Cliente
Servidor
Trabalhador Trabalhador
21
Estratégia Ultimatum - XtremWeb Client
Define o Descritor para o job Escalona entre os valores da aplicação (values e series) Simula a criação de um Child (objeto a ser executado) Cria a chamada ao server Recupera os resultados do server
Server Armazena os dados do objeto child + descritores + values + series
+ aplicação Envia todos os dados ao cliente requisitante Recebe os resultados e armazena
Worker Requisita jobs ao server. Processa Envia Resultados ao server.
22
Adaptação ao XW Aplicação principal (GameSimulator.jar)
submetida ao server como arquivo .zip necessário ao processamento;
Shell script submetido ao server como sendo a aplicação principal que chama o GameSimulator.jar por linha de comando;
Arquivos XML de configuração no pacote .zip.
23
Cliente Xtrem.sh
#!/bin/bash
JAVAOPTIONS="-ea" PLOPTION=-a
moran_simple() { LOG=$1 SEEDS=$2 PLAYERS=$3 java ${JAVAOPTIONS} -jar GameSimulator.jar XtremWeb randomSeed -o \ -a prebuilt/moran.xml \ -a prebuilt/conc_end_agg.xml \ -a prebuilt/lattice30x30.xml \ -a prebuilt/parallelglobal.xml \ -a ${SEEDS} \ ${PLOPTION} "${PLAYERS}" \ -a prebuilt/par_turns.xml \ -a prebuilt/ultimatumbase.xml \ -a prebuilt/popOptAggregation.xml \ -I "repetition=1" \ -I "turns=5000" \ -I "period_turns=25" \ -B "aggregateByStrategies=false" \ > ${LOG} }
moran_simple xtrem.log prebuilt/multiseeds.xml prebuilt/normal_test.xml
24
Cliente GameSimulator.jar
Classe XtremWebClient private void XWCommand(CharSequence firstoptions,
CharSequence secoptions, int id) { String command = XWexec+" --xwsubmit gamesim --xwlabel
ng"+id+' '+firstoptions+' '+secoptions; System.out.println(command); try{ Process pr = Runtime.getRuntime().exec(command); System.out.println(id+" "+secoptions); pr.waitFor(); } catch(Exception ex){ ex.printStackTrace(); System.out.println("======== falhou o envio de jobs
======"); } }
25
Anexos prebuild.zip GameSimulator.jar lib
xpp3_min-1.1.3.4.O.jar xstream-1.2.1.jar
prebuilt
26
Prebuilt
27
Server gamesim = second
#!/bin/bashjava -mx512M -jar GameSimulator.jar
$@exit 0
28
Results xtremweb.client –xwresult
Recebe-se no diretório corrente um arquivo contendo os resultados das saídas padrões + aplicação + resultados esperados comprimidos em um arquivo zip.
29
Conclusões Destaca-se aqui a importância da
análise e modelagem em sistemas robustos tornando-os passíveis de paralelização;
Com aplicações que dependem de um grande volume de informações de configuração por tarefa criada,
30
Bibliografia Kellermann, Gustavo A. Silva, Roberto. “Sobre a
Estatística e a Dinâmica de um População Multi-estratégica no contexto do Ultimatum Game”. Semana Acadêmica UFRGS, Porto Alegre, 2007.
“XtremWeb user Guide”. http://www.lri.fr/~fedak/XtremWeb/doc/xtremweb.html. Acessado em 03/06/2007.
Cappello, Franck; Djilali, Samir; Fedak, Gilles, Herault, Thomas; Magniette, Frédéric; Néri, Vincent e Lodygensky, Oleg. “Computing on Large Scale Distributed Systems, experience of the XtremWeb project”. Special issue on Peer-to-Peer Computing and Interaction with Grids of Future Generation Computer Systems, pages 417-437, 2004