A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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. Modelagem da XtremWeb no SimGrid 1 Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

2 Sumário Objetivos XtremWeb SimGrid Protótipo Trabalhos Futuros Conclusões 2 Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

3 Objetivos 3 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

4 XtremWeb 4 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: Server Escalona tarefas. Worker Executa as tarefas. Client Requisita tarefas. Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

5 SimGrid 5 SimGrid é um toolkit para desenvolvimento de ambientes distribuídos; Possui várias APIs de programação; Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

6 SimGrid 6 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

7 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 NodesTasksCPU_reqNET_reqFail rate 100 ~6,3Gf (1min)10KB10% 5001K~63Gf (10min)100KB30% 1K100K~126Gf (20min)1MB40% 5K1M-10MB+5%

8 Protótipo – Platform.xml 8 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 DownloadTaxa (%) >= 1Mbps37 >= 512Kbps & < 1Mbps 33 >= 256Kbps & < 512Kbps 20% < 256Kbps10%

9 Protótipo – Platform.xml 9 (...) Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

10 Protótipo – deploy.xml 10 Alan Malta Rodrigues CMP167 Prof. Claudio Geyer

11 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 */

12 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 */

13 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 */

14 Trabalhos Futuros 14 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

15 Conclusões 15 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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google