alan malta rodrigues cmp167 – programação com objetos distribuídos instituto de informática...

15
Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009. Modelagem da XtremWeb no SimGrid 1 Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Alan Malta Rodrigues

CMP167 – Programação com Objetos Distribuídos

Instituto de Informática

Universidade Federal do Rio Grande do Sul

08 de julho de 2009.

Modelagem da XtremWeb no SimGrid

1

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 2: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Sumário

ObjetivosXtremWebSimGridProtótipoTrabalhos FuturosConclusões

2

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 3: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Objetivos3

Estudar e apresentar o simulador SimGrid;

Modelar a Grid XtremWeb no SimGrid

Avaliar diferentes configurações da XtremWeb:Quantidade de nodos;Quantidade de tarefas;Tamanho da tarefa (CPU-Gflops);Tamanho da tarefa (NET-KB).

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 4: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

XtremWeb4

Grid de código aberto para plataformas distribuída;Modelo de desktop computing;Conceito de computação oportunista;Implementada em C e Java;Composta por 3 componentes:

ServerEscalona tarefas.

WorkerExecuta as tarefas.

ClientRequisita tarefas.

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 5: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

SimGrid5

SimGrid é um toolkit para desenvolvimento de ambientes distribuídos;

Possui várias APIs de programação;

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 6: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

SimGrid6

Requisitos para simulação no módulo MSG:

1. Arquivo xml da plataforma:Power, bandwidth e latency;Tabela de roteamento.

2. Arquivo xml do deploy:Função dos processos;Argumentos como:

Quantidade de tarefas, requisito de CPU e de NET por tarefa.

3. Código em C linkando as bibliotecas do SimGrid (msg e xbt).

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 7: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo

Cenário: desktop computing;Váriáveis da simulação:

Todas as combinações de teste;Cada teste feito 30 vezes*.

7

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Nodes Tasks CPU_req NET_req Fail rate

100 100 ~6,3Gf (1min) 10KB 10%

500 1K ~63Gf (10min) 100KB 30%

1K 100K ~126Gf (20min) 1MB 40%

5K 1M - 10MB +5%

Page 8: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – Platform.xml8

Plataformas geradas aleatoriamente, seguindo os seguintes argumentos:Power:

Mínima: 35Mflops (P3 600MHz) Máxima: 181Mflops (Pentium M 1.83MHz)

Bandwidth: Mínima: 250/128Kbps Máxima: 14/1Mbps

Latency: Mínima: 5ms Máxima: 2000ms

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Bandwidth

Download Taxa (%)

>= 1Mbps 37

>= 512Kbps & < 1Mbps

33

>= 256Kbps & < 512Kbps

20%

< 256Kbps 10%

Page 9: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – Platform.xml9

<platform version="2"><host id="Node_1" power="314572800"/><host id="Node_2" power="168820736"/><link id="Node_1_in" bandwidth="6553600" latency="0.100"/><link id="Node_1_out" bandwidth="1310720" latency="0.100"/><link id="Node_2_in" bandwidth="64000" latency="0.169000"/><link id="Node_2_out" bandwidth="16384" latency="0.978000"/><link id="loopback" bandwidth="13107200" latency="0.005" sharing_policy="FATPIPE"/><route src="Node_1" dst="Node_1"><link:ctn id="loopback"/></route><route src="Node_2" dst="Node_2"><link:ctn id="loopback"/></route><route src="Node_1" dst="Node_2">

<link:ctn id="Node_1_out"/><link:ctn id="Node_2_in"/></route><route src="Node_2" dst="Node_1">

<link:ctn id="Node_2_out"/><link:ctn id="Node_1_in"/></route>(...)

</platform>

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 10: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – deploy.xml10

<platform version="2">

<process host="Node_1" function="server">

<argument value="100000"/> <!-- Number of tasks to execute -->

<argument value="6.79477e+09"/> <!-- Range of the random task cpu requirement -->

<argument value="10240"/> <!-- Range of the random task net requirement -->

<argument value="Node_2"/>

</process>

<process host="Node_2" function="worker"/>

</platform>

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 11: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – Código fonte (server)11

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

int server(int argc, char *argv[])

{

server_host = MSG_host_self();

num_workers = argc – 4;

xbt_assert1(sscanf(argv[1],"%d", &tasks_count), "Invalid parameter %s\n",argv[1]);

xbt_assert1(sscanf(argv[2],"%lg", &task_cpu_size), "Invalid parameter %s\n",argv[2]);

xbt_assert1(sscanf(argv[3],"%lg", &task_net_size), "Invalid parameter %s\n",argv[3]);

todo = create_tasks();

workers = create_hosts(argv);

scheduler(tasks_count, num_workers, workers);

free(workers);

free(todo);

return 0;

} /* end_of_server */

Page 12: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – Código fonte (scheduler)12

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

int scheduler(int tasks_count, int workers_count, m_host_t* workers) {

for (i = 0; i < tasks_count; i++) {

requester = NULL;requester = receive_request_task();if(requester == NULL)

continue;else

a = send_task_to_worker(i, requester);}for (; i < (tasks_count+tasks_losted); i++) {

(...)}for(i=0; i<workers_count; i++){

(...)}INFO1("NUMBER OF TASKS LOSTED %d", tasks_losted);return 0;

} /* end_of_scheduler */

Page 13: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Protótipo – Código fonte (worker)13

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

int worker(int argc, char *argv[]){

srand(time(NULL)+pid);while(1) {

if(rand()%4 == 1) /* 25% can sleep */{

to_sleep = rand()%86401;if(to_sleep >= 60){

MSG_process_sleep(to_sleep);}

}a = request_task_to_server();switch(a){

case MSG_OK:b = receive_task_from_server(); /* execute_task(task); */break;

} } /* end_of_while */return 0;

} /* end_of_worker */

Page 14: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Trabalhos Futuros14

Simular a XtremWeb com 10K e 100K nodes;

Simular a XtremWeb com tarefas de 30min e 60min;

Simular outros algoritmos de escalonamento;

Simular outros cenários (corporativo e G5K).

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

Page 15: Alan Malta Rodrigues CMP167 – Programação com Objetos Distribuídos Instituto de Informática Universidade Federal do Rio Grande do Sul 08 de julho de 2009

Conclusões15

As simulações na SimGrid não são tão rápidas;

Algoritmo de escalonamento da XtremWeb não é bom;

Ausência de checkpoint é bastante prejudicial;

Arquivos XML são relativamente grandes para distribuir na XtremWeb.

Alan Malta Rodrigues CMP167 Prof. Claudio Geyer