1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS GRADUAÇÃO...

Preview:

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

Recommended